操作系统答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
附录A 习题参考答案
第1章
一、选择题
CBBDA CABCD DCBAC
二、填空题
1、系统软件,硬件和软件资源。
2、处理机管理、存储器管理、设备管理、文件管理。
3、通用操作系统。
4、操作系统。
5、联机输入输出操作。
6、实时控制系统、实时信息处理系统。
7、宏观上并行、微观上串行。
三、简答题
1、操作系统是计算机系统中的一个系统软件,它是一组程序模块的集合,这组程序模块控制和管理计算机系统中的硬件和软件资源,合理地组织计算机工作流程,并为用户使用计算机提供方便。
从资源管理的角度看,操作系统应具有处理机管理、存储器管理、设备管理和文件管理功能。
2、操作系统的三种基本类型是批处理系统、分时系统和实时系统。批处理系统的主要特点是用户脱机使用计算机、多道程序运行和成批处理。分时系统的主要特点是同时性、交互性、独立性和及时性。实时系统的主要特点是及时性和高可靠性。
3、多道程序设计是指在内存中同时存放多道程序,这些程序在管理程序的控制下交替运行,共享处理机及系统中的其它资源。多道程序设计技术的主要特点是多道、宏观上并行、微观上串行。
4、并发性和并行性是既相似又有区别的两个概念。并行性是指两个或多个事件在同一时刻发生;并发性是指两个或多个事件在同一时间间隔内发生。
5、推动操作系统发展的动力有四个方面:不断提高计算机资源利用率;方便用户;器件的不断更新换代;计算机体系结构的不断发展。
6、多重处理系统配制多个CPU,因而能真正同时执行多道程序。当然,要想有效地使用多重处理系统,必须采用多道程序设计技术。反之不然,多道程序设计原则不一定要求有多重处理系统的支持。多重处理系统比起单处理系统来说,虽增加了硬件设施,却换来了提高系统吞吐量、可靠性、计算能力和并行处理能力等好处。
7、与系统的总线结构、寄存器、存储介质、中断机构、I/O设备控制等有关。
第2章
一、选择题
CBCB
二、填空题
1、提供尽可能多的功能,尽量提高系统的效率。
2、缓存、主存、磁盘。
3、非对称集群、对称集群、并行集群、WAN集群。
4、简单结构、分层、微内核、模块化。
三、简答题
1、操作系统提供两种类型的用户接口:命令接口和程序接口。命令接口提供一组操作命令供用户直接或间接控制作业的运行;程序接口提供一组系统调用供用户在程序中请求操作系统服务。图形接口使用户能利用鼠标、窗口、菜单、图标等方便、直观、有效地使用计算机,可以认为图形接口是命令接口的图形化。
2、略。(参考答案:仁者见仁,智者见智。(1)Windows的垄断地位。(2)知识产权与开发投入问题。(3)用户习惯问题。)
第3章
一、选择题
CADDA ABCBB BBCCC ACCDC
二、填空题
1、运行态、就绪态、阻塞态。
2、程序、数据集合、PCB。
3、动态、静态。
4、4个、0个。
5、资源的剩余数、提出资源请求但没有分配到资源的进程个数。
6、针对同一个共享变量的程序段。
7、减1、加1。
8、1、-(m-1)。
9、S<0。10、信箱头、信箱体。11、低级通信、高级通信。
三、简答题
1、程序的并发执行,虽然提高了系统吞吐量,但也产生了一些与程序顺序执行时不同的特征。由于资源共享,程序在并发执行时形成了相互制约关系,而使程序的执行失去了封闭性。由于程序的共享性与异步性,使程序启动和结束时间不确定,且其执行一般是“走走停停”,导致了程序的执行结果与其执行速度有关,出现了结果的不可再现性。
2、不允许两个及以上进程同时对临界资源操作,即所谓互斥关系。进程的互斥关系源于资源共享。某进程未获得合作进程发来消息(同步条件)之前,该进程等待(同步点),消息到达后方可继续执行。我们称这种进程之间通过在执行时序上的某种限制而达到彼此间的相互合作的制约关系为同步。进程的同步源于进程间的合作。
对同步与互斥的上述解释表明,它们的实质都是对进程在执行时序上的某种限制。因此,可把它们归结为:并发进程在执行时序上的相互制约关系。这就是广义同步概念。
3、一次仅允许一个进程使用的资源称为临界资源。人们把在每个进程中访问临界资源的那段代码称为临界区。
4、管程是一种并发性的结构,它包括用于分配一个特定的共享资源或一组共享资源的数据和过程。
由此可知,管程由三部分组成:局部于管程的共享变量说明;对该数据结构进行操作的一组过程;对局部于管程的数据设置初始值的语句。此外,还需为该管程赋予一个名字。
5、消息缓冲通信是由Hansen于1973年首先提出的,其基本思想是:根据生产者与消费者关系原理,利用内存的公用消息缓冲池实现进程之间的信息交换。操作系统负责管理公用消息缓冲池以及消息的实际传递,进程通过访问系统支持的消息缓冲通信机构实现相互之间的信息交换。
6、在操作系统中引入进程的目的是为了程序的并发执行,以改善资源利用率及提高系统的吞吐量。进程是一个可拥有资源的独立单位,同时又是一个可独立调度和分派的基本单位。正是由于进程的这两个基本属性,才使之能够独立运行和并发执行。然而,为使程
序能并发执行,系统还必须进行进程的创建、撤消与切换,此时系统必须为之付出较大的时空开销。正因如此,系统中所设置的进程数目不宜过多,进程切换频率也不宜过高,这就限制了并发程度的进一步提高。
为使多个程序更好地并发执行,并尽量减少操作系统的开销,不少操作系统研究者考虑将进程的两个基本属性分离,分别交由不同的实体来实现。为此,操作系统设计者引入了线程,让线程去完成第二个属性的任务,即线程作为独立调度和分派的基本单位,以做到“轻装上阵”;而进程只完成第一个属性的任务,即进程是资源分配的基本单位。
7、(1)调度方面。在传统的操作系统中,拥有资源和独立调度的基本单位都是进程。而在引入线程的操作系统中,线程是独立调度的基本单位,进程是资源拥有的基本单位。在同一进程中,线程的切换不会引起进程切换。在不同的进程中进行线程切换,将会引起进程切换。(2)拥有资源。不论是传统操作系统还是设有线程的操作系统,进程是拥有资源的基本单位,而线程不拥有系统资源(只有一个必不可少的资源),但线程可以访问其所隶属进程的资源。(3)并发性。在引入线程的操作系统中,不仅进程之间可以并发执行,而且同一进程内的多个线程之间也可并发执行。(4)系统开销。由于创建进程或撤销进程时,系统都要为之分配或回收资源,操作系统所付出的开销远大于创建或撤销线程时的开销。在进行进程切换时,涉及到整个当前进程CPU环境的保存及新调度到进程的CPU环境的设置;而线程切换时,只需保存和设置少量寄存器内容,因此开销很小。另外,由于同一进程内的多个线程共享进程的地址空间,因此,多线程之间的同步与通信非常容易实现,甚至无需操作系统的干预。
8、进程和程序是既有联系又有区别的两个概念,它们的主要区别如下:(1)进程是程序在处理机上的一次执行过程,是一个动态概念;而程序是代码的有序集合,其本身没有任何运行的含义,是一个静态的概念。(2)进程是一个状态变化的过程,是有生命期的(表现在它因创建而产生,因调度而执行,因得不到资源而暂停,因撤销而消亡);而程序是永久的,可以长久保存。(3)进程与程序的组成不同。进程由程序、数据和进程控制块组成,而程序仅是代码的有序集合。(4)进程与程序之间不是一一对应的。通过多次运行,同一程序可以对应多个进程;通过调用关系,一个进程可以包含多个程序。
四、计算题:
1、设置两个信号量S1和S2。S1表示是否允许司机启动汽车,其初值为0;S2表示是否允许售票员开门,其初值为0。
这两个活动的同步用P、V操作描述如下:
driver:p(S1);启动车辆;正常行车;到站停车;v(S2);busman:
关车门;
v(S1);
售票;
p(S2);
开车门,上下乘客;
2、设置三个信号量dish、apple、orange,信号量dish表示盘子是否为空,其初值为1;信号量apple表示盘子中是否有苹果,其初值为0;信号量orange表示盘子中是否有桔子,其初值为0。进程之间的同步描述如下: