




已阅读5页,还剩68页未读, 继续免费阅读
系统架构设计师考试考点突破案例试题实战一本通.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
系统架构设计师交流群【246721028】 微信:educity_cn 系统架构设计师考试考点突破、案例分析、试题实战一本通 本书介绍:本书由希赛教育软考学院组织编写,作为计算机技术与软件专业技术资格 (水平)考试中的系统架构设计师级别的考试辅导指定教材。内容紧扣考试大纲,通过对历 年试题进行科学分析、研究、总结、提炼而成。每章内容分为考点突破、典型试题分析、实 战练习题、练习题解析四个部分。 基于历年试题,利用统计分析的方法,科学做出 结论并 预测以后的出题动向,是本书的一大特色。本书可以保证既不漏掉考试必需的知识点,又不 加重考生备考负担, 使考生轻松、 愉快地掌握知识点并领悟系统架构设计师考试的真谛。 本 书适合参加计算机技术与软件专业技术资格(水平)考试中的系统架构设计师级别的考生参 考学习,也可作为相关培训班的教材。 目录: 第 1 章 操作系统 1.1考点突破 1.1.1历年考试情况分析 1.1.2操作系统概论 1.1.3进程管理 1.1.4存储管理 1.1.5文件管理 1.2典型试题分析 1.2.1试题 1 1.2.2试题 2 1.2.3试题 3 1.2.4试题 4 1.2.5试题 5 1.2.6试题 6 1.2.7试题 7 1.2.8试题 8 系统架构设计师交流群【246721028】 微信:educity_cn 1.2.9试题 9 1.2.10试题 10 1.2.11试题 11 1.2.12试题 12 1.2.13试题 13 1.2.14试题 14 1.2.15试题 15 1.3实战练习题 1.4练习题解析 第 2 章 数据库系统 2.1考点突破 2.1.1历年考试情况分析 2.1.2数据库模式 2.1.3E-R 模型 2.1.4关系代数 2.1.5完整性约束 2.1.6规范化理论 2.1.7SQL 语言 2.1.8分布式数据库 2.1.9数据仓库与数据挖掘 2.2典型试题分析 2.2.1试题 1 2.2.2试题 2 2.2.3试题 3 2.2.4试题 4 2.2.5试题 5 2.2.6试题 6 2.2.7试题 7 2.2.8试题 8 2.2.9试题 9 2.2.10试题 10 2.2.11试题 11 2.2.12试题 12 系统架构设计师交流群【246721028】 微信:educity_cn 2.2.13试题 13 2.2.14试题 14 2.2.15试题 15 2.2.16试题 16 2.2.17试题 17 2.3实战练习题 2.4练习题解析 第 3 章 计算机硬件基础及嵌入式系统设计 3.1考点突破 3.1.1历年考试情况分析 3.1.2嵌入式系统概述 3.1.3嵌入式操作系统 3.1.4嵌入式系统分析与设计 3.1.5嵌入式低功耗设计 3.1.6存储系统 3.2典型试题分析 3.2.1试题 1 3.2.2试题 2 3.2.3试题 3 3.2.4试题 4 3.2.5试题 5 3.2.6试题 6 3.2.7试题 7 3.2.8试题 8 3.3实战练习题 3.4练习题解析 第 4 章 数据通信与计算机网络 4.1考点突破 4.1.1历年考试情况分析 4.1.2开放系统互连参考模型 4.1.3TCP/IP 协议族 系统架构设计师交流群【246721028】 微信:educity_cn 4.1.4网络规划与设计 4.1.5网络存储技术 4.1.6网络应用 4.2典型试题分析 4.2.1试题 1 4.2.2试题 2 4.2.3试题 3 4.2.4试题 4 4.2.5试题 5 4.2.6试题 6 4.2.7试题 7 4.2.8试题 8 4.2.9试题 9 4.2.10试题 10 4.2.11试题 11 4.2.12试题 12 4.2.13试题 13 4.2.14试题 14 4.2.15试题 15 4.2.16试题 16 4.2.17试题 17 4.2.18试题 18 4.2.19试题 19 4.2.20试题 20 4.3实战练习题 4.4练习题解析 第 5 章 系统安全性与保密性设计 5.1考点突破 5.1.1历年考试情况分析 5.1.2安全基础技术 5.1.3网络安全 5.1.4计算机病毒与木马 5.2典型试题分析 系统架构设计师交流群【246721028】 微信:educity_cn 5.2.1试题 1 5.2.2试题 2 5.2.3试题 3 5.2.4试题 4 5.2.5试题 5 5.2.6试题 6 5.2.7试题 7 5.2.8试题 8 5.2.9试题 9 5.2.10试题 10 5.2.11试题 11 5.2.12试题 12 5.2.13试题 13 5.2.14试题 14 5.3实战练习题 5.4练习题解析 第 6 章 信息化基础 6.1考点突破 6.1.1历年考试情况分析 6.1.2信息与信息化基本概念 6.1.3政府信息化与电子政务 6.1.4企业信息化与电子商务 6.1.5应用集成技术 6.1.6企业门户 6.2典型试题分析 6.2.1试题 1 6.2.2试题 2 6.2.3试题 3 6.2.4试题 4 6.2.5试题 5 6.2.6试题 6 6.2.7试题 7 6.2.8试题 8 6.2.9试题 9 系统架构设计师交流群【246721028】 微信:educity_cn 6.2.10试题 10 6.2.11试题 11 6.2.12试题 12 6.2.13试题 13 6.2.14试题 14 6.2.15试题 15 6.2.16试题 16 6.2.17试题 17 6.3实战练习题 6.4练习题解析 第 7 章 系统开发基础 7.1考点突破 7.1.1历年考试情况分析 7.1.2开发管理 7.1.3需求管理 7.1.4软件开发方法 7.1.5软件设计方法 7.1.6测试与评审 7.1.7软件开发环境与工具 7.1.8软件过程改进 7.2典型试题分析 7.2.1试题 1 7.2.2试题 2 7.2.3试题 3 7.2.4试题 4 7.2.5试题 5 7.2.6试题 6 7.2.7试题 7 7.2.8试题 8 7.2.9试题 9 7.2.10试题 10 7.2.11试题 11 7.2.12试题 12 7.2.13试题 13 系统架构设计师交流群【246721028】 微信:educity_cn 7.2.14试题 14 7.2.15试题 15 7.2.16试题 16 7.2.17试题 17 7.2.18试题 18 7.2.19试题 19 7.2.20试题 20 7.2.21试题 21 7.2.22试题 22 7.2.23试题 23 7.2.24试题 24 7.2.25试题 25 7.2.26试题 26 7.2.27试题 27 7.2.28试题 28 7.2.29试题 29 7.2.30试题 30 7.2.31试题 31 7.2.32试题 32 7.2.33试题 33 7.2.34试题 34 7.2.35试题 35 7.2.36试题 36 7.2.37试题 37 7.2.38试题 38 7.2.39试题 39 7.2.40试题 40 7.3实战练习题 7.4练习题解析 第 8 章 软件架构设计 8.1考点突破 8.1.1历年考试情况分析 8.1.2软件架构的概念 8.1.3软件架构的意义 8.1.4软件架构的风格 系统架构设计师交流群【246721028】 微信:educity_cn 8.1.5分层架构 8.1.6面向服务的架构(SOA) 8.1.7特定领域软件架构 8.1.8软件产品线 8.1.9基于架构的软件开发方法(ABSD) 8.1.10软件架构与质量属性 8.1.11软件架构评估 8.1.12设计模式(一) 8.1.13设计模式(二) 8.2典型试题分析 8.2.1试题 1 8.2.2试题 2 8.2.3试题 3 8.2.4试题 4 8.2.5试题 5 8.2.6试题 6 8.2.7试题 7 8.2.8试题 8 8.2.9试题 9 8.2.10试题 10 8.2.11试题 11 8.2.12试题 12 8.2.13试题 13 8.2.14试题 14 8.2.15试题 15 8.2.16试题 16 8.2.17试题 17 8.2.18试题 18 8.2.19试题 19 8.2.20试题 20 8.2.21试题 21 8.2.22试题 22 8.2.23试题 23 8.2.24试题 24 8.2.25试题 25 8.2.26试题 26 8.2.27试题 27 系统架构设计师交流群【246721028】 微信:educity_cn 8.3实战练习题 8.4练习题解析 第 9 章 应用数学 9.1考点突破 9.1.1历年考试情况分析 9.1.2数学建模 9.1.3线性规划 9.1.4图论 9.1.5决策论 9.2典型试题分析 9.2.1试题 1 9.2.2试题 2 9.2.3试题 3 9.2.4试题 4 9.2.5试题 5 9.2.6试题 6 9.2.7试题 7 9.2.8试题 8 9.2.9试题 9 9.2.10试题 10 9.3实战练习题 9.4练习题解析 第 10 章 知识产权与标准化 10.1考点突破 10.1.1历年考试情况分析 10.1.2保护期限 10.1.3知识产权人确定 10.1.4侵权判定 10.1.5标准化 10.2典型试题分析 系统架构设计师交流群【246721028】 微信:educity_cn 10.2.1试题 1 10.2.2试题 2 10.2.3试题 3 10.2.4试题 4 10.2.5试题 5 10.2.6试题 6 10.2.7试题 7 10.2.8试题 8 10.2.9试题 9 10.2.10试题 10 10.2.11试题 11 10.2.12试题 12 10.2.13试题 13 10.2.14试题 14 10.2.15试题 15 10.3实战练习题 10.4练习题解析 第 11 章 系统配置与性能评价 11.1考点突破 11.1.1历年考试情况分析 11.1.2系统性能评价 11.1.3冗余技术 11.1.4容错技术 11.1.5系统可靠性计算 11.2典型试题分析 11.2.1试题 1 11.2.2试题 2 11.2.3试题 3 11.2.4试题 4 11.2.5试题 5 11.2.6试题 6 11.2.7试题 7 11.2.8试题 8 11.2.9试题 9 系统架构设计师交流群【246721028】 微信:educity_cn 11.2.10试题 10 11.2.11试题 11 11.2.12试题 12 11.2.13试题 13 11.2.14试题 14 11.2.15试题 15 11.3实战练习题 11.4练习题解析 第 12 章 案例分析 12.1历年考试情况分析 12.2典型试题分析 12.2.1结构化软件系统建模 12.2.2联合需求分析会议 12.2.3电子政务 12.2.4软件系统架构 12.2.5SOA 12.2.6软件质量属性 12.2.7J2EE 12.2.8数据库安全与数据库备份 12.2.9数据中心建设 12.2.10分布式数据库系统 12.2.11Web 2.0 技术 12.2.12虚拟化技术 12.2.13嵌入式软件体系架构 12.2.14实时系统 12.2.15信息系统安全 12.3实战练习题 12.3.1试题 1 12.3.2试题 2 12.3.3试题 3 12.3.4试题 4 12.3.5试题 5 12.3.6试题 6 系统架构设计师交流群【246721028】 微信:educity_cn 12.3.7试题 7 12.3.8试题 8 12.3.9试题 9 12.3.10试题 10 12.3.11试题 11 12.3.12试题 12 12.3.13试题 13 12.3.14试题 14 12.3.15试题 15 12.3.16试题 16 12.4练习题参考答案 第 13 章 架构设计论文 13.1历年考试情况分析 13.2典型试题分析 13.2.1论软件体系结构风格及其应用 13.2.2论开放系统应用的互操作性技术 13.2.3论多层分布式结构系统的开发 13.2.4论设计模式在软件开发中的应用 13.2.5论基于场景的软件体系结构评估方法 13.2.6论基于 DSSA 的软件架构设计与应用 13.2.7论信息系统建模方法 13.2.8论高可靠性系统中软件容错技术的应用 13.2.9论数据仓库的设计与实现 13.2.10论计算机网络的安全性 13.2.11论 Web Service 技术的应用与发展趋势 13.2.12论系统的可靠性 13.2.13论软件可靠性设计与应用 13.2.14论软件需求获取技术及应用 13.3实战练习题 13.3.1试题 1 论面向服务的体系结构在系统集成中的应用 13.3.2试题 2 论软件的静态演化和动态演化及其应用 13.3.3试题 3 论大规模分布式系统缓存设计策略 13.3.4试题 4 论基于 REST 服务的 Web 应用系统设计 13.3.5试题 5 论中间件技术在软件开发中的作用 系统架构设计师交流群【246721028】 微信:educity_cn 13.3.6试题 6 论基于 Web 的数据库应用系统的开发技术 13.3.7试题 7 论数据库的安全性设计 13.3.8试题 8 论数据挖掘技术的应用 13.3.9试题 9 论企业信息系统的安全 13.3.10试题 10 论软件可靠性评价 13.4练习题写作要点 13.4.1试题 1 写作要点 13.4.2试题 2 写作要点 13.4.3试题 3 写作要点 13.4.4试题 4 写作要点 13.4.5试题 5 写作要点 13.4.6试题 6 写作要点 13.4.7试题 7 写作要点 13.4.8试题 8 写作要点 13.4.9试题 9 写作要点 13.4.10试题 10 写作要点 根据考试大纲,本章要求考生掌握以下几个方面的知识点: 操作系统的类型和结构。 操作系统基本原理。 网络操作系统及网络管理。 1.1 考点突破 从历年的考试情况来看,本章主要考查操作系统的概念及特点、进程管理、 存储管理、文件管理。 在历年的考试试题中,有关操作系统知识的试题如表 1-1 所示。 表 1-1 操作系统知识试题分布表 系统架构设计师交流群【246721028】 微信:educity_cn 按照知识点进行总结和归类的试题分布情况如表 1-2 所示。 表 1-2 操作系统知识归类表 从表 1-2 中可以看出, 操作系统知识方面的内容在历年的考试中分值非常稳 定,一直稳定维持在 4 分。所占分数比例的趋势如图 1-1 所示。 图 1-1 操作系统知识历年试题比例趋势图 操作系统的定义、 功能、 类型和层次结构是理解操作系统的工作机制的基础, 需要深入理解和掌握。 1操作系统的定义 任何一个计算机系统都是由两个部分组成的:计算机硬件系统和计算机软件 系统。操作系统(Operating System,OS)是计算机系统中的核心系统软件, 系统架构设计师交流群【246721028】 微信:educity_cn 负责管理和控制计算机系统中硬件和软件资源, 合理地组织计算机工作流程和有 效利用资源,在计算机与用户之间起接口的作用,如图 1-2 所示。 图 1-2 操作系统与硬件/软件的关系 其中,其他系统软件包含但不仅限于:语言处理程序、中间件。 在计算机系统中引入操作系统的目的可以从 4 个方面来理解。 (1)用户观点 操作系统是用户与计算机之间的接口。一方面,用户可以透明地使用计算机 软/硬件资源;另一方面,操作系统提供了一些功能强大的系统调用,用户软件 可以使用这些系统调用请求操作系统服务。 (2)资源管理观点 操作系统是计算机资源的管理者,它管理和分配计算机系统硬件和软件资 源,合理地组织计算机的工作流程,使资源能为多个用户共享,当用户程序和其 他程序争用这些资源时,提供有序的和可控的分配。 (3)进程观点 操作系统由一个系统核心和若干并发运行的程序组成。这些运行的程序称为 “进程” , 进程可以分为用户进程和系统进程两大类。 每个进程完成特定的任务, 系统核心则控制和协调这些进程的运行。 系统架构设计师交流群【246721028】 微信:educity_cn (4)分层观点 操作系统通常采用分层结构实现,各层次的程序按照一定的结构组织并协调 工作。 2操作系统的分类 操作系统的基本类型有:批处理操作系统、分时操作系统、实时操作系统、 网络操作系统、分布式操作系统、嵌入式操作系统、微内核操作系统。 (1)批处理操作系统(Batch Processing Operating System) 批处理操作系统也称为作业处理系统。在批处理操作系统中,作业成批地装 入计算机中,由操作系统在计算机的输入并将其组织好,按一定的算法选择其中 的一个或多个作业,将其调入内存使其运行。运行结束后,把结果放入磁盘输出 井,由计算机统一输出后交给用户。 批处理操作系统中配置了一个监督程序,在该监督程序控制下,系统能够对 一批作业自动进行处理。 其基本特征是 “批量” , 把作业的吞吐量作为主要目标, 同时兼顾作业的周转时间。批处理操作系统又分为单道批处理和多道批处理系 统。 单道批处理系统在内存中只能存放一道作业,大大减少了人工操作的时间, 提高了机器的利用率。但是,对于某些作业来说,当它发出 I/O 请求后,CPU (Central Processing Unit,中央处理单元)必须等待 I/O 的完成,而由于 I/O 设备的低速性,从而使 CPU 的利用率很低。为了改善 CPU 的利用率,引入了多 道程序设计技术,就形成了多道批处理操作系统。 在多道批处理操作系统中,不仅在内存中可同时有多道作业在运行,而且作 业可随时被调入系统,并存放在外存中形成作业队列。然后,由操作系统按一定 系统架构设计师交流群【246721028】 微信:educity_cn 的原则,从作业队列中调入一个或多个作业进入内存运行。多道批处理系统具有 资源利用率高和系统吞吐量大的优点,但它将用户和计算机操作员分开,使用户 无法直接与自己的作业进行交互。另外,作业要进行排队,依次处理,因此,作 业的平均周转时间较长。 (2)分时操作系统(Time Share Operating System) 为了解决批处理系统无法进行人机交互的问题,并使多个用户能同时通过自 己的终端以交互方式使用计算机,共享主机中的资源,为此,系统中采用了分时 技术, 即把 CPU 的时间划分成很短的时间片, 轮流地分配给各个终端作业使用。 这种操作系统称为分时操作系统,简称分时系统。 对于某个作业而言,若在分配给它的时间片内,作业没有执行完毕,也必须 将 CPU 交给下一个作业使用,并等下一轮得到 CPU 时再继续执行。这样,系统 便能及时地响应每个用户的请求,从而使每个用户都能及时地与自己的作业交 互。分时系统具有多路性、独立性、及时性、交互性和同时性等特征。 (3)实时操作系统(Real Time Operating System) 实时操作系统是指当外界事件或数据产生时,能够接收并以足够快的速度予 以处理, 其处理的结果又能在规定的时间内来控制生产过程或对处理系统作出快 速响应,并控制所有实时任务协调一致运行的操作系统。因而,提供及时响应和 高可靠性是其主要特点。 实时操作系统有硬实时和软实时之分,硬实时要求在规定的时间内必须完成 操作,这是在操作系统设计时保证的;软实时则只要按照任务的优先级,尽可能 快地完成操作即可。 我们通常使用的操作系统在经过一定改变之后就可以变成实 时操作系统。 系统架构设计师交流群【246721028】 微信:educity_cn (4)网络操作系统(Network Operating System) 网络操作系统是指在计算机网络环境下,具有网络功能的操作系统。计算机 网络是一个数据通信系统,它把地理上分散的计算机和终端设备连接起来,达到 数据通信和资源共享的目的。 网络操作系统最主要的特点是网络中各种资源的共 享,以及各台计算机之间的通信。有关数据通信与计算机网络方面的详细知识, 将在第 4 章中介绍。 (5)分布式操作系统(Distributed Operating System) 分布式系统是由多台计算机组成的系统,系统中若干台计算机可以相互合 作,共同完成同一个任务。在分布式系统中,任意两台计算机之间都可以利用通 信来交换信息,系统中的资源为所有用户共享。分布式系统的优点是各节点的自 治性好、资源共享的透明性强、各节点具有协同性,其主要缺点是系统状态不精 确、控制机构复杂、通信开销会引起性能的下降。 分布式操作系统是网络操作系统的更高级形式,它保持了网络操作系统所拥 有的全部功能,与网络操作系统的主要区别在于任务的分布性,即把一个大任务 分为若干个子任务,分派到不同的 CPU 上执行。 (6)嵌入式操作系统(Embedded Operation System) 嵌入式操作系统运行在嵌入式智能芯片环境中,对整个智能芯片和它所操 作、控制的各种部件装置等资源进行统一协调、处理、指挥和控制。嵌入式操作 系统具有微型化、可定制、实时性、可靠性、易移植性等特点。嵌入式实时操作 系统是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处 理, 并控制所有实时任务协调一致地运行。 嵌入式实时操作系统的特点是及时性、 支持多道程序设计、高可靠性和较强的过载防护能力。 系统架构设计师交流群【246721028】 微信:educity_cn (7)微内核操作系统(Microkernel Operating System) 微内核操作系统结构是 20 世纪 80 年代后期发展起来的, 其基本思想是将操 作系统中最基本的部分放入内核中, 而把操作系统的绝大部分功能都放在微内核 外面的一组服务器中实现。这样使得操作系统内核变得非常小,自然提高了系统 的可扩展性,增强了系统的可靠性和可移植性,同时微内核操作系统提供了对分 布式系统的支持,融入了面向对象技术。虽然微内操作系统具有诸多优点,但它 非常完美无缺,在运行效率方面它就不如以前传统的操作系统。 当前比较流行的、能支持多处理机运行的操作系统,几乎全部都采用了微内 核结构,如卡耐基梅隆大学研制的 Mach OS,便属于微内核结构操作系统;又 如当前广泛使用的 Windows 操作系统,也采用了微内核结构。 3操作系统的功能 从资源管理的观点看,操作系统的功能分成五大部分,即进程管理(处理机 管理)、存储管理、文件管理、作业管理和设备管理。这五大部分相互配合,协 调工作,实现对计算机系统的资源管理和控制程序的执行,为用户提供方便的使 用接口和良好的运行环境。 4操作系统的结构设计模式 (1)模块化结构 操作系统由许多标准的、可兼容的基本单位构成(称为模块),各模块相对 独立, 模块之间通过规定的接口相互调用。模块化设计方法的优点是缩短了系统 的开发周期,缺点是模块之间调用关系复杂、相互依赖,从而使分析、移植和维 护系统较易出错。 (2)层次化结构 系统架构设计师交流群【246721028】 微信:educity_cn 层次化结构是指操作系统由若干模块按照某种逻辑关系进行分层组合而成, 各层之间只能单向依赖。优点是大大地简化了接口的设计,整个系统的正确性由 各层次的正确性来保证,易于保证可靠性,也便于维护和移植。 (3)客户/服务器结构 操作系统中只包括一个最小的核心,操作系统的其他功能(如文件服务、进 程服务等)由用户进程来实现。优点是服务器以用户进程的形式运行而不是运行 于核心态,它们不直接访问硬件,单个服务器的崩溃不会导致整个系统的崩溃, 它适用于分布式系统。 (4)对象模式 面向对象的操作系统是按照面向对象思想设计的,具有数据隐藏及消息激活 对象等特征。其中,对象是对操作系统管理的信息和资源的抽象,可以被视为受 保护的信息或资源的总称。优点是适用于网络操作系统和分布式操作系统中,如 Windows NT、Windows Server 2003、Windows Server 2008 都被称为对象 操作系统。 (5)对称多处理模式 如果一个操作系统在系统中的所有处理机运行且共享同一内存,这样的系统 就是一个对称多处理系统。优点是适合共享存储器结构的多处理机系统,即紧耦 合的多处理机系统。 进程管理也称为处理机管理,该部分功能是操作系统最为重要的部分,所以 也是整个操作系统部分的考查重点,其主要知识点有:进程状态转换图、信号量 与 PV 操作、死锁问题、银行家算法。 1进程状态转换图 系统架构设计师交流群【246721028】 微信:educity_cn 进程状态转换图用于展现进程的状态,以及各种状态之间的转换。最为常见 的有:三态模型和五态模型,其后又提出了七态模型。在考试中,要求考生掌握 三态模型与五态模型。五态模型是对三态模型的扩展(即五态模型已经包含了三 态模型)。标准的五态模型如图 1-3 所示。 图 1-3 进程状态转换五态模型 从图 1-3 中可以看出,五态模型中的五态为:执行状态(运行状态)、活跃 就绪状态、活跃阻塞状态、挂起就绪状态、挂起阻塞状态。其中,前三种状态组 成了三态模型。 执行状态: 指进程占有处理机正在 CPU 上执行的状态。 在单 CPU 系统中, 每一时刻只有一个进程处于执行状态。 活跃就绪状态:指进程分配到除处理机以外的必需的资源(已经具备了执 行的条件)的状态。进程被创建后处于就绪状态,处于就绪状态的进程可以有多 个。 活跃阻塞状态: 指进程因等待某个事件的发生而放弃处理机进入等待状态。 系统中处于这种状态的进程可以有多个。 系统架构设计师交流群【246721028】 微信:educity_cn 在三态模型中,总是假设所有的进程都在内存中。事实上,可能出现这样一 些情况, 例如, 由于进程的不断创建, 系统的资源已经不能满足进程运行的要求, 这个时候就必须把某些进程挂起,对换到磁盘镜像区中,暂时不参与进程调度, 起到平滑系统操作负荷的目的。这就形成了挂起就绪状态和挂起阻塞状态。 挂起就绪状态:指进程被移至磁盘镜像区中,此时进程只缺处理机资源。 挂起阻塞状态: 指进程被移至磁盘镜像区中, 此时进程除了缺处理机资源, 还缺其他资源。 2信号量与 PV 操作 在操作系统中,进程之间经常会存在互斥(都需要共享独占性资源时)和同 步(完成异步的两个进程的协作)两种关系。为了有效地处理这两种情况,W. Dijkstra 在 1965 年提出信号量和 PV 操作。 信号量是一种特殊的变量,表现形式是一个整型 S 和一个队列。 P 操作:也称为 down()、wait()操作,使 S=S-1,若 S0,进程暂停执行, 放入信号量的等待队列。 V 操作:也称为 up()、signal()操作,使 S=S+1,若 S0,唤醒等待队列 中的一个进程。 (1)完成互斥控制 为了保护共享资源,不让多个进程同时访问这个共享资源,换句话说,就是 阻止多个进程同时进入访问这些资源的代码段,这个代码段称为临界区(也称为 管程),这种一次只允许一个进程访问的资源称为临界资源。为了实现进程互斥 地进入自己的临界区,代码可以如下所示: P(信号量) 系统架构设计师交流群【246721028】 微信:educity_cn 临界区 V(信号量) 由于只允许一个进程进入,因此信号量中整型值的初始应该为 1。该值表示 可以允许多少个进程进入,当该值0 时,其绝对值就是等待使用的进程数,也 就是等待队列中的进程数。而当一个进程从临界区出来时,就会将整型值加 1, 如果等待队列中还有进程,则调入一个新的进程进入(唤醒)。 (2)完成同步控制 最简单的同步形式是:进程 A 在另一个进程 B 到达 L2 以前,不应前进到超 过 L1,这样就可以使用程序,如下所示: 进程 A进程 B L1:P(信号量)L2:V(信号量) 因此,要确保进程 B 执行 V 操作之前,不让进程 A 的运行超过 L1,因此信 号量的初值就应该为 0。这样,如果进程 A 先执行到 L1,那么执行 P 操作后, 信号量的整型值就会小于 1,也就停止执行。直到进程 B 执行到 L2 时,将信号 量的整型值加 1,并唤醒它以继续执行。 在考试中,该知识点出题形式主要是给出一系列操作,让考生在适当位置填 充 P 操作或 V 操作。 例如,某工厂仓库有一名保管员,该仓库可存放 n 箱零件。该工厂生产车间 有 m 名工人,只要仓库空闲,工人将生产好的整箱零件放入仓库,并由保管员 登记入库数量;该工厂销售部有 k 名销售员,只要仓库库存数能满足客户要求, 系统架构设计师交流群【246721028】 微信:educity_cn 便可提货,并由保管员登记出库数量。规定工人和销售员不能同时进入仓库,但 是工人和工人,销售员和销售员可以同时进入仓库,其工作流程如图 1-4 所示。 图 1-4 仓库管理系统流程 为了利用 PV 操作正确地协调工人和销售员进程之间的工作,设置了信号量 S1、S2 和 S3,它们的初值分别为 n、0 和 1。则图 1-4 中的 ah 应分别填写 什么操作呢? 根据问题给出的条件,我们可以判断出,信号量 S1 表示仓库空闲位置个数, 初值为 n;S2 表示仓库中零件箱数,初值为 0;S3 用于实现对保管员的互斥访 问,初值为 1。 对于工人进程,首先应执行 P(S1),看仓库中是否有空闲位置,若有,则将 零件送入仓库,然后执行 V(S2),表明仓库中已有一箱零件,通知销售员可以提 货。然后执行 P(S3),看保管员是否空闲,若空闲,则登记入库数,然后执行 V(S3),使保管员处于空闲状态。 对于销售员进程,首先执行 P(S2),看仓库中是否有货物,若有,则可以提 货,然后执行 V(S1),表明已经提走一箱零件,空闲出一个位置,工人进程可以 系统架构设计师交流群【246721028】 微信:educity_cn 放置货物;然后执行 P(S3),看保管员是否空闲,若空闲,则登记出库数,然后 执行 V(S3),使保管员处于空闲状态。 3前趋图 前趋图是一个由节点和有向边构成的有向无循环图。该图通常用于表现事务 之间先后顺序的制约关系。图中的每个节点可以表示一个语句、一个程序段或是 一个进程,节点间的有向边表示两个节点之间存在的前趋关系。 例:在计算机中,经常采用流水线方式执行指令,若每一条指令都可以分解 为取指、分析和执行 3 步。取指操作为 Ai,分析操作为 Bi 和执行操作为 Ci (i=1,2,3)。如图 1-5 所示为 3 个任务各程序段并发执行的前驱图。 图中 A1 没有前趋节点,称为开始节点,它不受任何制约,可以直接执行; 而 B1 与 A2 只能在 A1 执行完成之后才能开始,而 B2 必须在 B1 与 A2 完成之 后才能开始;C3 没有后继节点,称为终止节点。 图 1-5 前趋图 在前趋图中,执行优后顺序的制约关系可分为两种:直接制约和间接制约。 直接制约通常是指一个操作中,多个步骤之间的制约关系,也可以说是“同 步的进程之间的制约关系”。例如,在图 1-5 中,A1、B1、C1 是一条指令的 取指、分析、执行 3 个步骤,所以它们之间的关系是直接制约。 系统架构设计师交流群【246721028】 微信:educity_cn 间接制约通常是指多个操作之间相同步骤的制约关系,也可以说是“互斥的 进程之间的制约关系”。例如,在图 1-5 中,A1、A2、A3 之间就存在间接制 约的关系。 前趋图的应用广泛,在项目开发中,可用前趋图来分析哪些活动可以并行完 成。同时,项目管理工具:Pert 图、单(双)代号网络图等都融入了前趋图的 思想。 4死锁问题 死锁是指各并发进程彼此互相等待对方所拥有的资源,且这些并发进程在得 到对方的资源之前不会释放自己所拥有的资源。 从而造成大家都想得到资源而又 都得不到资源,各并发进程不能继续向前推进的状态。 产生死锁的根本原因在于系统提供的资源个数少于并发进程所要求的该类 资源数。产生死锁有 4 个必要条件。 互斥条件:即一个资源每次只能被一个进程使用,在操作系统中这是真实 存在的情况。 保持和等待条件:有一个进程已获得了一些资源,但因请求其他资源被阻 塞时,对已获得的资源保持不放。 不剥夺条件: 有些系统资源是不可剥夺的, 当某个进程已获得这种资源后, 系统不能强行收回,只能由进程使用完时自己释放。 环路等待条件:若干个进程形成环形链,每个进程都占用对方要申请的下 一个资源。 对待死锁的策略主要有以下 4 种。 死锁的预防。不让任一产生死锁的必要条件发生就可以预防死锁。 系统架构设计师交流群【246721028】 微信:educity_cn 死锁的避免。这种策略不对用户进程的推进顺序加以限制,在进程申请资 源时先判断这次分配安全否,只有安全才实施分配,典型的算法是银行家算法。 死锁的检测。这种策略采用资源请求分配图的化简方法来判断是否发生了 不安全状态。资源请求分配图是一种有向图,表示进程与资源之间的关系。死锁 的检测是在需要的时刻执行的,当发现系统处于不安全状态时,即执行死锁的解 除策略。 死锁的解除。解除死锁的基本方法是剥夺。一种方法是把资源从一些进程 处剥夺分给别的进程,被剥夺资源的进程则需回退到请求资源处重新等待执行; 另一种方法是终止一个进程,剥夺其全部资源,以后再重新运行被终止的进程。 5银行家算法 银行家算法是一种经典的死锁避免方法。银行家算法的基本思想是:当某个 进程提出申请时,必须判断将资源分配给该进程后,会不会引起死锁。若不会, 则进行分配;否则就不分配。这样做能保证在任何时刻至少有一个进程可以得到 所需的全部资源而执行结束,并将归还资源加入到系统的剩余资源中,这些资源 又至少可以满足一个进程的最大需求, 于是保证所有进程都能在有限的时间内得 到需求的全部资源。 按照银行家算法的思想,当进程请求资源时,系统将按如下原则分配资源: 当一个进程对资源的最大需求量不超过系统中的资源数时,可以接纳该进 程。 进程可以分期请求资源,但请求的总数不能超过最大需求量。 当系统现有的资源不能满足进程尚需资源数时,对进程的请求可以推迟分 配,但总能使进程在有限的时间里得到资源。 系统架构设计师交流群【246721028】 微信:educity_cn 当系统现有的资源能满足进程尚需资源数时,必须测试系统现存的资源能 否满足该进程尚需的最大资源数, 若能满足, 则按当前的申请量分配资源, 否则, 推迟分配。 存储管理是操作系统的重要职能之一,它的主要任务是对内存空间进行分配 与回收。由于计算机内存容量有限,故在此基础之上发展产生了虚拟存储系统。 虚拟存储系统的基本思想是用外存来换取内存。它通过将运行进程访问的地址 (逻辑地址、虚拟地址)与主存的物理地址(实地址)分开,从而使得提供大于 物理地址的逻辑地址空间成为可能。建立虚拟地址和实地址之间的对应关系、实 现转换的工作就称为 “虚存管理” 。 在本节中, 主要介绍虚存的组织结构及管理。 1页式存储组织 页式存储组织的基本原理是将各进程的虚拟空间划分为若干个长度相等的 页, 把内存空间以与页相等的大小划分为大小相等的片或页面,采用请求调页或 预调页技术实现内、外存的统一管理。 页式存储组织的主要优点是利用率高,产生的内存碎片小,内存空间分配及 管理简单。主要缺点是要有相应的硬件支持,增加了系统开销;请求调页的算法 如选择不当,有可能产生“抖动”(又称 Belady)现象。 2段式存储组织 一个作业是由若干个具有逻辑意义的段(如主程序、子程序、数据段等)组 成的。在分段系统中,允许程序(作业)占据内存中若干分离的分区。分段系统 中的虚地址是一个有序对 (段号, 段内位移) 。 系统为每一个作业建立一个段表, 其内容包括段号与内存起始地址的对应关系、段长和状态等。状态指出这个段是 否已调入内存,若已调入内存,则指出这个段的起始地址位置,状态同时也指出 系统架构设计师交流群【246721028】 微信:educity_cn 这个段的访问权限。如果该段尚未调入内存,则产生缺段中断,以便装入所需要 的段。 段式存储组织的主要优点有: 便于多道程序共享内存、 便于对存储器的保护、 各段程序修改互不影响。其缺点是内存利用率低、内存碎片浪费大。 3段页式存储组织 段页式存储组织是分段式和分页式结合的存储组织方法,这样可充分利用分 段管理和分页管理的优点。在段页式管理的存储器中,程序按逻辑单位分成基本 独立的段,再把每段分成固定大小的页。内存则等分成与上述页大小相等的页。 程序对内存的调入或调出是按页进行的。但它又可按段实现共享和保护。 在多道程序环境中,每道程序都有一张段表和一个作为用户标志的基号。一 个逻辑地址中,除了基号 x、段号 s 和页号 p 外,还有一个页内地址 d。每个逻 辑地址变换成实地址的过程如下: 根据基号找到相应的基址寄存器,由该基址寄存器内容找到该程序对应的段 表始地址,再由段号找到该段表中相应行地址,该行地址中的内容为页表起始地 址,再由页号找到物理页号的地址(已是内存中的某页),它与页内地址拼接后 即得物理地址。可见段页式管理中需要多次查表才能最终获得物理地址。该过程 可简单地用一个式子来示意,即 其中,(x)表示基寄存器中地址为 x 的单元内容,n 为页内地址的位数。 段页式管理将段式存储管理和页式存储管理两种方式相结合,互相取长补 短,充分发挥了它们的优点。使段页式虚拟存储器管理方案具有空间浪费小、存 系统架构设计师交流群【246721028】 微信:educity_cn 储共享容易、存储保护容易、能动态连接的特点。但由于管理软件的增加,复杂 性和开销也随之增加,需要的硬件及占用的内存也有所增加,使得执行速度大大 下降。 4页面置换算法 由于实际主存是小于虚存的,因此可能会发生内存中已满,但需要使用的页 不在主存中这一情况。这时就需要进行置换,即将一些主存中的页淘汰到外存, 腾出空间给要使用的页,这个过程也称为 Swapping。其工作原理与 Cache 调 入相类似。常见的页面置换算法有以下几种。 (1)最优算法(OPT) 淘汰不用的或最远的、将来才用的页。这是一种理想算法,不可能实现,只 是用来作为衡量算法效率的参照物。 (2)随机算法(RAND) 随机淘汰,这种算法开销小,但性能不稳定。 (3)先进先出算法(FIFO) 淘汰最早调入(也是驻留时间最长)的页。实现 FIFO 算法需要把各个已分 配页面按页面分配时间顺序链接起来,组成 FIFO 队列,并设置一个置换指针, 指向 FIFO 队列的队首页面。 FIFO 算法忽略了一种现象的存在, 那就是在内存中 停留时间最长的页往往也是经常要访问的页。 将这些页淘汰, 很可能刚置换出去, 又请求调用该页,致使缺页中断太频繁,严重降低内存的利用率。 FIFO 的另一个缺点是它可能会产生一种异常现象。一般来说,对于任一作 业或进程,如果给它分配的内存页面数越接近于它所要求的页面数,则发生缺页 系统架构设计师交流群【246721028】 微信:educity_cn 的次数会越少。但使用 FIFO 算法时,有时会出现分配的页面数增多,缺页次数 反而增加的现象,称为“抖动”(又称 Belady)现象。 (4)最近最久未使用算法(LRU) 淘汰离当前时刻最近的一段时间内使用得最少的页。例如,考虑一个仅 460 个字节的程序的内存访问序列(10,11,104,170,73,309,185,245, 246,434,458,364),页面的大小为 100 个字节,则 460 个字节应占 5 页, 编号为 04,第 0 页字节为 099,第 1 页为 100199,依此类推。得到页面 的访问序列是(0,0,1,1,0,3,1,2,2,4,4,3),可简化为(0,1, 0,3,1,2,4,3)。如果内存中有 200 个字节可供程序使用,则内存提供 2 个页帧供程序使用。按照 FIFO 算法,共产生 6 次缺页中断,如表 1-3 所示。 表 1-3 FIFO 算法缺页中断 按照 LRU 算法,共产生 7 次缺页中断,如表 1-4 所示。 表 1-4 LRU 算法缺页中断 (5)最近没有使用页面置换算法(NUR) 在需要置换某一页时,从那些最近的一个时期内未被访问的页任选一页置 换。只要在页表中增设一个访问位即可实现。当某页被访问时,访问位置为 1, 否则访问位置为 0。系统周期性地对所有引用位清 0。当需淘汰一页时,从那些 访问位为零的页中选一页进行淘汰。 系统架构设计师交流群【246721028】 微信:educity_cn (6)时钟页面替换算法(Clock) 使用页表中的引用位,将作业已调入内存的页面连成循环队列,用一个指针 指向循环队列中的下一个将被替换的页面。其实现方法如下:一个页面首次装入 内存时,其引用位置 1;在内存中的任何一个页面被访问时,其引用位置 1;淘 汰页面时,存储管理从指针当前指向的页面开始扫描循环队列,把所遇到的引用 位是 1 的页面的引用位清 0,并跳过这个页面;把所遇到的引用位是 0 的页面淘 汰掉,指针推进一步;扫描循环队列时,如果遇到的所有页面的引用位均为 1, 则指针就会绕整个循环队列一圈,将碰到的所有页面的引用位清 0;指针停在起 始位置,并淘汰掉这一页,然后指针推进一步。 5局部性原理 存储管理策略的基础是局部性原理,即进程往往会不均匀地、高度局部化地 访问内存。局部性分为时间局部性和空间局部性。时间局部性是指最近访问存储 位置,很可能在不久的将来还要访问;空间局部性是指存储访问有聚集的倾向, 当访问了某个位置后,很可能也要访问其附近的位置。 根据局部性原理的特征性, Denning 阐述了程序性能的工作集理论。 工作集 是进程频繁访问的页面的集合。工作集理论指出,为使进程有效地运行,它的页 面工作集应驻留内存中。 否则, 由于进程频繁地从外存请求页面, 而出现称为 “抖 动”(又称 Belady)的过度的页面调度活动。此时,处理页面调度的时间超过 了程序的执行时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030工业废水处理技术创新与区域治理模式比较研究报告
- 安全水管员培训课件
- 入台申请书手写
- 美国特使辞职申请书
- 收入觉申请书
- 学校建设项目申请书
- 河道采石申请书
- 子女资助申请书
- 公司迁区申请书
- 客户欠款申请书模板
- 陶艺制作与技法作业指导书
- 《SAP培训资料》课件
- 《CT增强扫描碘对比剂外渗预防与护理规范》
- 《干部履历表》(1999版电子版)
- 《植物的组织培养》课件
- 统编版(2024)七年级上册道德与法治第一单元《少年有梦》测试卷(含答案)
- 医院超市经营服务方案
- 锂电池安全知识培训课件
- 大疆80分钟在线测评题
- 碳排放管理员 (碳排放核查员) 理论知识考核要素细目表五级
- 北师大版数学八年级上册1.1探索勾股定理 同步练习(提升卷)(附答案解析)
评论
0/150
提交评论