系统架构设计师系统架构设计师考试历年试题分析与解答第1章操作系统1.1考点分析根据考试大纲,本章要求考生掌握以下几个方面的知识点。(1)操作系统的类型和结构。(2)操作系统基本原理。(3)网络操作系统及网络管理。在这些知识点中,考查重点是操作系统的概念及特点、进程管理、存储管理、文件管理。具体考查知识点分布情况如表1-1所示。表1-1历年考查知识点分布情况表1.2试题精解1.2.1试题1(2009年11月试题1)试题1(2009年11月试题1)计算机系统中硬件层之上的软件通常按照三层来划分,如图1-1所示,图中①②③分别表示(1).系统架构设计师(1)A.操作系统、应用软件和其他系统软件B.操作系统、其他系统软件和应用软件C.其他系统软件、操作系统和应用软件D.应用软件、其他系统软件和操作系统试题分析操作系统(OperatingSystem)的目的是为了填补人与机器之间的鸿沟,即建立用户与计算机之间的接口,而为裸机配置的一种系统软件,如图1-2所示。从图1-2可以看出,操作系统是裸机上的第一层软件,是对硬件系统功能的首次扩充。它在计算机系统中占据重要而特殊的地位,其他系统软件属于第二层,如编辑程序、汇编程序、编译程序和数据库管理系统等系统软件(这些软件工作于操作系统之上,可服务于应用软件,所以有别于应用软件);大量的应用软件属于第三层,例如希赛教育网上辅导平台,常见的一系列MIS系统等。其他系统软件和应用软件都是建立在操作系统基础之上的,并得到它的支持和取得它的服务。从用户角度看,当计算机配置了操作系统后,用户不再直接使用计算机系统硬件,而是利用操作系统所提供的命令和服务去操纵计算机,操作系统已成系统架构设计师为现代计算机系统中必不可少的最重要的系统软件,因此把操作系统看作是用户与计算机之间的接口。试题答案(1)B1.2.2试题2(2009年11月试题2~4)试题2(2009年11月试题2~4)某计算机系统中有一个CPU、一台扫描仪和一台打印机。现有三个图像任务,每个任务有三个程序段:扫描Si,图像处理Ci和打印Pi(i=1,2,3)。图1-3为三个任务各程序段并发执行的前驱图,其中,(2)可并行执行,(3)的直接制约,(4)的间接制约。图1-3前趋图(2)A.C1S2,P1C2S3,P2C3B.C1S1,S2C2P2,C3P3C.S1C1P1,S2C2P2,S3C3P3D.S1S2S3,C1C2C3,P1P2P3(3)A.S1受到S2和S3、C1受到C2和C3、P1受到P2和P3B.S2和S3受到S1、C2和C3受到C1、P2和P3受到P1C.C1和P1受到S1、C2和P2受到S2、C3和P3受到S3D.C1和S1受到P1、C2和S2受到P2、C3和S3受到P3(4)A.S1受到S2和S3、C1受到C2和C3、P1受到P2和P3系统架构设计师和S3受到S1、C2和C3受到C1、P2和P3受到P1C.C1和P1受到S1、C2和P2受到S2、C3和P3受到S3D.C1和S1,受到P1、C2和S2受到P2、C3和S3受到P3试题分析如图1-3所示,当S1执行完毕后,计算C1与扫描S2可并行执行;C1与S2执行完毕后,打印P1、计算C2与扫描S3可并行执行;P1、C2与S3执行完毕后,打印P2与计算C3可并行执行。根据题意,系统中有三个任务,每个任务有三个程序段,从前趋图中可以看出,系统要先进行扫描Si,然后再进行图像处理Ci,最后进行打印Pi,所以C1和P1受到S1直接制约、C2和P2受到S2的直接制约、C3和P3受到S3的直接制约。系统中有一台扫描仪,因此S2和S3不能运行是受到了S1的间接制约。如果系统中有三台扫描仪,那么S2和S1能运行;同理,C2和C3受到C1的直接制约、P2和P3受到P1的间接制约。试题答案(2)A(3)C(4)B1.2.3试题3(2010年11月试题1)试题3(2010年11月试题1)采用微内核结构的操作系统提高了系统的灵活性和可扩展性,(1).(1)A.并增强了系统的可靠性和可移植性,可运行于分布式系统中B.并增强了系统的可靠性和可移植性,但不适用于分布式系统C.但降低了系统的可靠性和可移植性,可运行于分布式系统中系统架构设计师但降低了系统的可靠性和可移植性,不适用于分布式系统试题分析现代操作系统大多拥有两种工作状态,分别是核心态和用户态。一般应用程序工作在用户态,而内核模块和最基本的操作系统核心工作在核心态。微内核操作系统结构是20世纪80年代后期发展起来的。操作系统的一个发展趋势是将传统的操作系统代码放置到更高层,从操作系统中去掉尽可能多的东西,而只留下一个最小的核心,称之为微内核。通常的方法是将大多数操作系统功能由在用户态运行的服务器进程来实现。为了获取某项服务,用户进程(客户进程)将请求发送给一个服务器进程,服务器进程完成此操作后,把结果返回给用户进程。这样,服务器以用户进程的形式运行,而不是运行在核心态。因此,它们不能直接访问硬件,某个服务器的崩溃不会导致整个系统的崩溃。客户/服务器结构的另一个优点是它更适用于分布式系统。微内核技术的主要优点如下:(1)统一的接口,在用户态和核心态之间无需进程识别。(2)可伸缩性好,能适应硬件更新和应用变化。(3)可移植性好,所有与具体机器特征相关的代码,全部隔离在微内核中,如果操作系统要移植到不同的硬件平台上,只需修改微内核中极少代码即可。(4)实时性好,微内核可以方便地支持实时处理。(5)安全可靠性高,微内核将安全性作为系统内部特性来进行设计,对外仅使用少量应用编程接口。(6)支持分布式系统,支持多处理器的体系结构和高度并行的应用程序。虽然微内核操作系统具有诸多优点,但它并非完美无缺。例如,在运行效率方面,它就系统架构设计师不如以前传统的操作系统。试题答案(1)A1.2.4试题4(2010年11月试题2)试题4(2010年11月试题2)若操作系统文件管理程序正在将修改后的(2)文件写回磁盘时系统发生崩溃,对系统的影响相对较大。(2)A.用户数据B.用户程序C.系统目录D.空闲块管理试题分析操作系统为了实现按名存取,必须为每个文件设置用于描述和控制文件的数据结构,专门用于文件的检索,因此至少要包括文件名和存放文件的物理地址,该数据结构称为文件控制块(FileControlBlock,FCB),文件控制块的有序集合称为文件目录,或称为系统目录文件。若操作系统正在将修改后的系统目录文件写回磁盘时系统发生崩溃,则对系统的影响相对较大。试题答案(2)C1.2.5试题5(2010年11月试题3~4)试题5(2010年11月试题3~4)某虚拟存储系统采用最近最少使用的(LRU)页面淘汰算法,假定系统为每个作业分配4个页面的主存空间,其中一个页面用来存放程序。现有某作业的程序如下:VarA:Array[100,100]OFinteger;系统架构设计师:integer;FORi:=1to100DOFORj:=1to100DOA[i,j]:=0;设每个页面可存放200个整数变量,变量i、j存放在程序页中。初始时,程序及i、j均已在内存,其余3页为空。若矩阵A按行序存放,那么当程序执行完后共产生(3)次缺页中断;若矩阵A按列序存放,那么当程序执行完后共产生(4)次缺页中断。(3)A.50B.100C.5000D.10000(4)A.50B.100C.5000D.10000试题分析虚拟存储管理的提出就是为了解决这一问题,应用程序在运行之前并不必全部装入内存,仅需将当前运行到的那部分程序和数据装入内存便可启动程序的运行,其余部分仍驻留在外存上。当要执行的指令或访问的数据不在内存时,再由操作系统通过请求调入功能将它们调入内存,以使程序能继续执行。如果此时内存已满,则还需通过置换功能,将内存中暂时不用的程序或数据调至外存上,腾出足够的内存空间后,再将要访问的程序或数据调入内存,使程序继续执行。这样,便可使一个大的用户程序能在较小的内存空间中运行,也可在内存中同时装入更多的进程使它们并发执行。从用户的角度看,该系统具有的内存容量比实际的内存容量大得多。将这种具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的存储器系统称为虚拟存储系统。1.局部性原理虚拟存储管理能够在作业信息不全部装入内存的情况下保证作业正确运行,是利用了程系统架构设计师序执行时的局部性原理。局部性原理是指程序在执行时呈现出局部性规律,即在一较短的时间内,程序的执行仅局限于某个部分。相应地,它所访问的存储空间也仅局限于某个区域。程序局部性包括时间局部性和空间局部性,时间局部性是指程序中的某条指令一旦执行,不久以后该指令可能再次执行。产生时间局部性的典型原因是由于程序中存在着大量的循环操作;空间局部性是指一旦程序访问了某个存储单元,不久以后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址可能集中在一定的范围内,其典型情况是程序顺序执行。2.工作集在虚拟存储管理中,可能会出现这种情况,即对于刚被替换出去的页,立即又要被访问,需要将它调入,因无空闲内存又要替换另一页,而后者是即将被访问的页,于是造成了系统需花费大量的时间忙于进行这种频繁的页面交换,致使系统的实际效率很低,严重时导致系统瘫痪,这种现象称为抖动现象。防止抖动现象有多种办法,例如,采取局部替换策略、引入工作集算法和挂起若干进程等。工作集是指在某段时间间隔内,进程实际要访问的页面的集合。引入虚拟内存后,程序只需有少量的内存就可运行,但为了使程序有效地运行,较少产生缺页,必须使程序的工作集全部在内存中。3.页面置换算法当内存中没有空闲页面,而又有程序和数据需要从外存中装入内存运行时,就需要从内存中选出一个或多个页面淘汰出去,以便新的程序和数据装入运行,良好的页面置换算法应该淘汰那些被访问概率最低的页,将它们移出内存。(1)随机淘汰算法。无法确定哪些页被访问的概率较低时,随机地选择某个页面,并将其换出。系统架构设计师(2)轮转算法。按照内存页面的编号,循环地换出内存中一个可以被换出的页,无论该页是刚换进来还是已驻留内存很长时间。(3)先进先出算法(FirstInFirstOut,FIFO)。FIFO算法总是选择在内存驻留时间最长的一页将其淘汰。实现FIFO算法需要把各个已分配页面按页面分配时间顺序链接起来,组成FIFO队列,并设置一置换指针,指向FIFO队列的队首页面。FIFO算法忽略了一种现象的存在,那就是在内存中停留时间最长的页往往也是经常要访问的页。将这些页淘汰,很可能刚置换出去,又请求调用该页,致使缺页中断太频繁,严重降低内存的利用率。FIFO的另一个缺点是它可能会产生一种异常现象。一般来说,对于任一作业或进程,如果给它分配的内存页面数越接近于它所要求的页面数,则发生缺页的次数会越少。但使用FIFO算法时,有时会出现分配的页面数增多,缺页次数反而增加的现象,称为belady现象。(4)最近最久未使用算法(LeastRecentlyUsed,LRU)。当需要淘汰某一页时,选择离当前时间最近的一段时间内最久没有使用过的页先淘汰。例如,考虑一个仅460个字节的程序的内存访问序列(10,11,104,170,