李建伟版实用操作系统第二版最新习题 3 进程同步与通信
- 格式:docx
- 大小:82.34 KB
- 文档页数:8
第1章一、填空1.计算机由硬件系统和软件系统两个部分组成,它们构成了一个完整的计算机系统。
2.按功能划分,软件可分为系统软件和应用软件两种。
3.操作系统是在裸机上加载的第一层软件,是对计算机硬件系统功能的首次扩充。
4.操作系统的基本功能是处理机(包含作业)管理、存储管理、设备管理和文件管理。
5.在分时和批处理系统结合的操作系统中引入“前台”和“后台”作业的概念,其目的是改善系统功能,提高处理能力。
6.分时系统的主要特征为多路性、交互性、独立性和及时性。
7.实时系统与分时以及批处理系统的主要区别是高及时性和高可靠性。
8.若一个操作系统具有很强的交互性,可同时供多个用户使用,则是分时操作系统。
9.如果一个操作系统在用户提交作业后,不提供交互能力,只追求计算机资源的利用率、大吞吐量和作业流程的自动化,则属于批处理操作系统。
10.采用多道程序设计技术,能充分发挥CPU 和外部设备并行工作的能力。
二、选择1.操作系统是一种B 。
A.通用软件B.系统软件C.应用软件D.软件包2.操作系统是对C 进行管理的软件。
A系统软件B.系统硬件C.计算机资源D.应用程序3.操作系统中采用多道程序设计技术,以提高CPU和外部设备的A 。
A.利用率B.可靠性C.稳定性D.兼容性4.计算机系统中配置操作系统的目的是提高计算机的B 和方便用户使用。
A.速度B.利用率C.灵活性D.兼容性5.C 操作系统允许多个用户在其终端上同时交互地使用计算机。
A.批处理B.实时C.分时D.多道批处理6.如果分时系统的时间片一定,那么D ,响应时间越长。
A.用户数越少B.内存越少C.内存越多D.用户数越多三、问答1.什么是“多道程序设计”技术?它对操作系统的形成起到什么作用?答:所谓“多道程序设计”技术,即是通过软件的手段,允许在计算机内存中同时存放几道相互独立的作业程序,让它们对系统中的资源进行“共享”和“竞争”,以使系统中的各种资源尽可能地满负荷工作,从而提高整个计算机系统的使用效率。
操作系统原理与实践教程(第二版)第4章习题答案第4章进程同步与死锁(1) 什么是进程同步?什么是进程互斥?解:同步是进程间的直接制约关系,这种制约主要源于进程间的合作。
进程同步的主要任务就是使并发执行的各进程之间能有效地共享资源和相互合作,从而在执行时间、次序上相互制约,按照一定的协议协调执行,使程序的执行具有可再现性。
进程互斥是进程间的间接制约关系,当多个进程需要使用相同的资源,而此类资源在任一时刻却只能供一个进程使用,获得资源的进程可以继续执行,没有获得资源的进程必须等待,进程的运行具有时间次序的特征,谁先从系统获得共享资源,谁就先运行,这种对共享资源的排它性使用所造成的进程间的间接制约关系称为进程互斥。
互斥是一种特殊的同步方式。
(2) 进程执行时为什么要设置进入区和退出区?解:为了实现多个进程对临界资源的互斥访问,必须在临界区前面增加一段用于检查欲访问的临界资源是否正被访问的代码,如果未被访问,该进程便可进入临界区对资源进行访问,并设置正被访问标志,如果正被访问,则本进程不能进入临界区,实现这一功能的代码成为“进入区”代码;在退出临界区后,必须执行“退出区”代码,用于恢复未被访问标志。
(3) 同步机构需要遵循的基本准则是什么?请简要说明。
解:同步机制都应遵循下面的4条准则:1.空闲让进。
当无进程处于临界区时,允许进程进入临界区,并且只能在临界区运行有限的时间。
2.忙则等待。
当有一个进程在临界区时,其它欲进入临界区的进程必须等待,以保证进程互斥地访问临界资源。
3.有限等待。
对要求访问临界资源的进程,应保证进程能在有限时间内进入临界区,以免陷入“饥饿”状态。
4.让权等待。
当进程不能进入临界区时,应立即放弃占用CPU,以使其它进程有机会得到CPU的使用权,以免陷入“饥饿”状态。
(4) 整型信号量是否能完全遵循同步机构的四条基本准则?为什么?解:不能。
在整型信号量机制中,未遵循“让权等待”的准则。
1.什么是操作系统?其主要功能是什么?操作系统是控制和管理计算机系统内各种硬件和软件资源,有效组织多道程序运行的系统软件(或程序集合),是用户和计算机直接的程序接口.2.在某个计算机系统中,有一台输入机和一台打印机,现有两道程序投入运行,程序A、B 同时运行,A略早于B。
A的运行轨迹为:计算50ms、打印100ms、再计算50ms、打印100ms,结束。
B的运行轨迹为:计算50ms、输入80ms、再计算100ms,结束。
试说明:(1)两道程序运行时,CPU是否空闲等待?若是,在那段时间段等待?(2)程序A、B是否有等待CPU的情况?若有,指出发生等待的时刻。
0 50 100 150 200 250 30050 100 50 10050 100 20 100(1) cpu有空闲等待,在100ms~150ms的时候.(2) 程序A没有等待cpu,程序B发生等待的时间是180ms~200ms.1.设公共汽车上,司机和售票员的活动如下:司机的活动:启动车辆;正常行车;到站停车。
售票员的活动:关车门;售票;开车门。
在汽车不断的到站、停车、行驶过程中,用信号量和P、V操作实现这两个活动的同步关系。
semaphore s1,s2;s1=0;s2=0;cobegin司机();售票员();coendprocess 司机(){while(true){P(s1) ;启动车辆;正常行车;到站停车;V(s2);}}process 售票员(){while(true){关车门;V(s1);售票;P(s2);开车门;上下乘客;}}2.设有三个进程P、Q、R共享一个缓冲区,该缓冲区一次只能存放一个数据,P进程负责循环地从磁带机读入数据并放入缓冲区,Q进程负责循环地从缓冲区取出P进程放入的数据进行加工处理,并把结果放入缓冲区,R进程负责循环地从缓冲区读出Q进程放入的数据并在打印机上打印。
请用信号量和P、V操作,写出能够正确执行的程序。
习题 1 操作系统概述一、选择题题号 1 2 3 4 5 6 7 8 9 10 答案 B D C D C D A C D D题号11 12 13 14 15 16 17 18 19 20 答案 B C C C B D B B B A二、综合题1、答:并发性和并行性是既相似又有区别的两个概念。
并行性是指两个或多个事件在同一时刻发生;而并发性是指两个或多个事件在同一时间间隔内发生。
、在单处理器系统中只有一条指令流水线,一个多功能的操作部件,某时刻处理机只能执行一个进程,进程与进程之间不能并行执行,只能并发执行。
但在各种I/O控制技术的帮助下,处理机、通道和设备之间都能进行并发。
(1)处理机和设备之间的并行,能够发生。
(2)处理机和通道之间的并行,能够发生。
(3)通道和通道之间的并行,能够发生。
(4)设备和设备之间的并行,能够发生。
2、答:以多道程序技术为基础的现代操作系统具有4个基本特征:(1)并发性:多个程序并发执行,宏观并行,微观串行。
(2)共享性:多个程序共享系统中的所有资源(3)虚拟性:操作系统为每个进程都虚拟出了一整套其所需的软硬件资源,让进程所属的用户感觉到自己独占整个系统。
操作系统通过进程状态转换实现虚拟性。
当进程被切换出去运行态时,它的运行环境被操作系统保存,当把再次被调度程序选中切换到运行态时恢复其运行环境继续上次运行状态继续运行。
(4)异步性:并发执行的各个进程之间运行时间、运行顺序具有不确定性,即异步性,程序执行已经失去的封闭性和可再现性。
操作系统通过同步机制保证多个进程能够正确的执行。
3、答:多道程序设计技术是指同时把多个程序放入内存并允许交替执行和共享系统中的各类资源,当一个程序因某种原因(如I/O请求)而暂停执行时,CPU立即转去执行另一个程序。
操作系统在引入多道程序设计技术后,使得系统内有了多个程序(进程),它们宏观上看同时执行,微观上看仍然是串行。
多道程序设计技术的优点:多道程序交替穿插执行,提高了CPU、内存和I/O设备的利用率;在保持CPU、I/O设备不断工作的同时,导致系统吞吐量的上升。
第二章进程和线程作业答案1,2,4,6,7,10,11,12,14, 211.在操作系统中为什么要引入进程概念它与程序的差别和关系是怎样的答:由于多道程序的并发执行时共享系统资源,共同决定这些资源的状态,因此系统中各程序在执行过程中就出现了相互制约的新关系,程序的执行出现“走走停停”的新状态。
用程序这个静态概念已经不能如实反映程序并发执行过程中的这些特征。
为此,人们引入“进程(Process)”这一概念来描述程序动态执行过程的性质。
进程和程序是两个完全不同的概念。
进程与程序的主要区别:进程和程序之间存在密切的关系:进程的功能是通过程序的运行得以实现的,进程活动的主体是程序,进程不能脱离开具体程序而独立存在。
2.PCB的作用是什么它是怎样描述进程的动态性质的答:PCB是进程组成中最关键的部分。
每个进程有惟一的进程控制块;操作系统根据PCB对进程实施控制和管理,进程的动态、并发特征是利用PCB表现出来的;PCB是进程存在的唯一标志。
PCB中有表明进程状态的信息,该进程的状态包括运行态、就绪态和阻塞态,它利用状态信息来描述进程的动态性质。
4. 用如图2-26所示的进程状态转换图能够说明有关处理机的大量内容。
试回答:①什么事件引起每次显着的状态变迁②下述状态变迁因果关系能否发生为什么(A)2→1 (B)3→2 (C)4→1答:(1)就绪→运行:CPU空闲,就绪态进程被调度程序选中运行→阻塞:运行态进程因某种条件未满足而放弃CPU的占用。
阻塞→就绪:阻塞态进程所等待的事件发生了。
运行→就绪:正在运行的进程用完了本次分配给它的时间片(2)下述状态变迁(A)2→1,可以。
运行进程用完了本次分配给它的时间片,让出CPU,从就绪队列中选一个进程投入运行。
(B)3→2,不可以。
任何时候一个进程只能处于一种状态,它既然由运行态变为阻塞态,就不能再变为就绪态。
(C)4→1,可以。
某一阻塞态进程等到的事件出现了,而且此时就绪队列为空,该进程进入就绪队列后马上又被调度运行。
第1章操作系统概论(1) 试说明什么是操作系统,它具有什么特征?其最基本特征是什么?解:操作系统就是一组管理与控制计算机软硬件资源并对各项任务进行合理化调度,且附加了各种便于用户操作的工具的软件层次。
现代操作系统都具有并发、共享、虚拟和异步特性,其中并发性是操作系统的最基本特征,也是最重要的特征,其它三个特性均基于并发性而存在。
(2) 设计现代操作系统的主要目标是什么?解:现代操作系统的设计目标是有效性、方便性、开放性、可扩展性等特性。
其中有效性指的是OS应能有效地提高系统资源利用率和系统吞吐量。
方便性指的是配置了OS后的计算机应该更容易使用。
这两个性质是操作系统最重要的设计目标。
开放性指的是OS应遵循世界标准规范,如开放系统互连OSI国际标准。
可扩展性指的是OS应提供良好的系统结构,使得新设备、新功能和新模块能方便地加载到当前系统中,同时也要提供修改老模块的可能,这种对系统软硬件组成以及功能的扩充保证称为可扩展性。
(3) 操作系统的作用体现在哪些方面?解:现代操作系统的主要任务就是维护一个优良的运行环境,以便多道程序能够有序地、高效地获得执行,而在运行的同时,还要尽可能地提高资源利用率和系统响应速度,并保证用户操作的方便性。
因此操作系统的基本功能应包括处理器管理、存储器管理、设备管理和文件管理。
此外,为了给用户提供一个统一、方便、有效的使用系统能力的手段,现代操作系统还需要提供一个友好的人机接口。
在互联网不断发展的今天,操作系统中通常还具备基本的网络服务功能和信息安全防护等方面的支持。
(4) 试说明实时操作系统和分时操作系统在交互性、及时性和可靠性方面的异同。
解:交互性:分时系统能够使用户和系统进行人-机对话。
实时系统也具有交互性,但人与系统的交互仅限于访问系统中某些特定的专用服务程序。
及时性:分时系统的响应时间是以人能够接受的等待时间为标准,而实时控制系统对响应时间要求比较严格,它是以控制过程或信息处理中所能接受的延迟为标准。
现代操作系统第三版中文答案【篇一:操作系统课后答案】>思考与练习题1. 2. 3. 4. 5. 6. 7. 8. 9.什么是操作系统?它的主要功能是什么?什么是多道程序设计技术?多道程序设计技术的主要特点是什么?批处理系统是怎样的一种操作系统?它的特点是什么?什么是分时系统?什么是实时系统?试从交互性,及时性,独立性,多路性,可靠性等几个方面比较分时系统和实施系统。
实时系统分为哪俩种类型?操作系统主要特征是什么?操作系统也用户的接口有几种?它们各自用在什么场合?“操作系统是控制硬件的软件”这一说法确切吗?为什么?设内存中有三道程序,a,b,c,它们按a~b~c的先后顺序执行,它们进行“计算”和“i/o操作”的时间如表1-2所示,假设三道程序使用相同的i/o设备。
(1) 试画出单道运行时三道程序的时间关系图,并计算完成三道程序要花多少时间。
(2) 试画出多道运行时三道程序的时间关系图,并计算完成三道程序要花多少时间。
10.将下列左右两列词连接起来形成意义最恰当的5对。
dos 网络操作系统 os/2自由软件 unix多任务 linux单任务11.选择一个现代操作系统,查找和阅读相关的技术资料,写一篇关于操作系统如何进行内存管理、存储管理、设备管理和文件管理的文章。
答案1.答:操作系统是控制和管理计算机的软、硬件资源,合理地组织计算机的工作流程,以方便用户使用的程序集合。
2.答:把多个独立的程序同时放入内存,使她们共享系统中的资源。
1)多道,即计算机内存中同时放多道相互独立的程序。
2)宏观上并行,是指共识进入系统的多道程序都处于运行过程。
3)微观上串行,是指在单道处理机环境下,内存中的多道程序轮流地占有cpu,交替执行。
3.答:批处理操作系统是一种基本的操作系统类型。
在该系统中用户的作业被成批地输入到计算机中,然后在操作系统的控制下,用户的作业自动的执行。
特点是:资源利用率高。
系统吞吐量大。
操作系统第二版课后习题答案操作系统第二版课后习题答案操作系统是计算机科学中的重要领域,它负责管理计算机硬件和软件资源,为用户提供良好的使用体验。
在学习操作系统的过程中,课后习题是巩固和深化知识的重要方式。
本文将为大家提供操作系统第二版课后习题的答案,帮助读者更好地理解和掌握操作系统的知识。
第一章:引论1. 操作系统的主要功能包括进程管理、内存管理、文件系统管理和设备管理。
2. 进程是指正在执行的程序的实例。
进程控制块(PCB)是操作系统用来管理进程的数据结构,包含进程的状态、程序计数器、寄存器等信息。
3. 多道程序设计是指在内存中同时存放多个程序,通过时间片轮转等调度算法,使得多个程序交替执行。
4. 异步输入输出是指程序执行期间,可以进行输入输出操作,而不需要等待输入输出完成。
第二章:进程管理1. 进程调度的目标包括提高系统吞吐量、减少响应时间、提高公平性等。
2. 进程调度算法包括先来先服务(FCFS)、最短作业优先(SJF)、优先级调度、时间片轮转等。
3. 饥饿是指某个进程长时间得不到执行的情况,可以通过调整优先级或引入抢占机制来解决。
4. 死锁是指多个进程因为争夺资源而陷入无限等待的状态,可以通过资源预分配、避免环路等方式来避免死锁。
第三章:内存管理1. 内存管理的主要任务包括内存分配、内存保护、地址转换等。
2. 连续内存分配包括固定分区分配、可变分区分配和动态分区分配。
3. 分页和分段是常见的非连续内存分配方式,分页将进程的地址空间划分为固定大小的页,分段将进程的地址空间划分为逻辑段。
4. 页面置换算法包括最佳置换算法、先进先出(FIFO)算法、最近最久未使用(LRU)算法等。
第四章:文件系统管理1. 文件是操作系统中用来存储和组织数据的逻辑单位,可以是文本文件、图像文件、音频文件等。
2. 文件系统的主要功能包括文件的创建、删除、读取、写入等操作。
3. 文件系统的组织方式包括层次目录结构、索引结构、位图结构等。
第三章死锁作业答案1,3,9,11,13,14, 161.什么是死锁?试举出一个生活中发生死锁的例子。
参考答案:所谓死锁,是指在一个进程集合中的每个进程都在等待仅由该集合中的另一个进程才能引发的事件而无限期地僵持下去的局面。
(也可以是:多个进程因竞争资源而造成的一种僵局,若无外力作用这些进程都将永远不能再向前推进。
)举例:1)书中例子“两辆汽车过窄桥发生冲突”2)公共汽车到站,车上的人要下车,车下的人要上车,挤在车门口。
结果是车上的人下不来,车下的人上不去。
3. 发生死锁的四个必要条件是什么?参考答案:发生死锁的四个必要条件是:互斥条件、占有且等待条件、不可抢占条件和循环等待条件。
9. 设想有一条带闸门的运河,其上有两座吊桥,它们在一条公路上,运河和公路的交通都是单方向的。
河上的交通工具是轮船。
当轮船距A桥100m时就鸣笛警告,若桥上无车辆,吊桥就吊起,直至轮船尾部过桥为止。
对吊桥B也做同样处理。
设轮船的长度为200m。
车辆和轮船任意前进时,是否会发生死锁?若会,说明理由。
怎样发现?并请提出一种防止死锁的办法。
参考答案:会产生死锁。
当轮船距A桥100m时鸣笛警告,此时若桥上无车辆,吊桥就吊起,但是B桥上有车辆,而且由于A桥吊起,车辆无法前进,B桥上的车辆无法下桥。
于是,轮船和车辆都不能前进,造成死锁现象。
一种防止死锁的办法是:当轮船距A桥100m时就鸣笛警告,车辆不能再上B桥。
当B桥上无车辆时,就吊起B 桥;然后,当A桥上无车辆,则吊起A桥。
轮船通过A桥和B桥后,两个吊桥放下,车辆可以通行。
(该方法相当于资源有序分配,也可以采用资源预分配策略,即同时吊起A、B两桥的方法,资源利用率相对较低。
)11. 死锁和“饥饿”之间的主要差别是什么?参考答案:①处于死锁状态的进程都占有一定的资源,而处于饥饿状态的进程永远都得不到所申请的资源②死锁是一种僵局,在无外力干预下,处于死锁状态的全部进程都不能前进,即它们都处于阻塞态,可能造成整个系统瘫痪;而出现饥饿时系统照常运行,只是某个或某几个进程永远也不能得到所需的全部服务③造成死锁的根本原因是资源有限且使用不当;而造成饥饿的原因是资源分配策略或调度策略不合适,如果采用先来先服务的资源分配策略就可以避免饥饿。
操作系统第二版复习资料操作系统第二版复习资料操作系统是计算机科学中非常重要的一个领域,它负责管理计算机的硬件和软件资源,为用户和应用程序提供一个可靠、高效的工作环境。
本文将围绕操作系统的基本概念、功能和设计原则展开讨论,帮助读者复习和加深对操作系统的理解。
一、操作系统的基本概念操作系统是一种软件,它运行在计算机硬件之上,并管理计算机的各种资源,如处理器、内存、存储设备和输入输出设备等。
操作系统的主要任务包括进程管理、内存管理、文件系统管理和设备管理等。
1. 进程管理:操作系统负责创建、调度和终止进程,以及管理进程间的通信和同步。
进程是程序的执行实例,每个进程都有自己的地址空间和执行状态。
操作系统通过进程管理,确保多个进程能够并发执行,并共享计算机的资源。
2. 内存管理:操作系统负责管理计算机的内存资源,包括内存的分配和回收、内存的保护和共享,以及虚拟内存的管理等。
内存管理的目标是提高内存利用率和系统性能,同时保证进程的地址空间不被越界访问。
3. 文件系统管理:操作系统负责管理计算机的存储设备,包括硬盘、光盘和闪存等。
文件系统管理的主要任务是提供对文件的组织、访问和保护。
操作系统通过文件系统管理,实现了文件的逻辑组织和物理存储的映射。
4. 设备管理:操作系统负责管理计算机的输入输出设备,如键盘、鼠标、显示器和打印机等。
设备管理的主要任务是分配和调度设备资源,以及处理设备的中断和错误。
操作系统通过设备管理,实现了用户和应用程序与设备的交互。
二、操作系统的功能操作系统的功能包括进程管理、内存管理、文件系统管理和设备管理等,它们相互协作,共同提供一个高效、可靠的工作环境。
1. 进程管理:操作系统通过进程管理,实现了进程的创建、调度和终止。
它还提供了进程间的通信和同步机制,如信号量、互斥量和管程等。
进程管理的目标是提高系统的并发性和响应性,同时保证进程的正确执行。
2. 内存管理:操作系统通过内存管理,实现了内存的分配和回收。
1、高级调度也叫作业调度(或宏观调度),是将已进入系统并处于后备状态的作业按某种算法选择一个或一批,为其建立进程,让其进入主机。
中级调度负责进程在内存和辅存对换区之间的对换。
低级调度也叫进程调度(或微观调度),我们所说的CPU调度,主要就是指的这一级调度。
2、(1)不一定。
(2)可能。
(3)不一定。
3、CPU调度使得多个进程能有条不紊地共享一个CPU。
而且,由于调度的速度很快,使每个用户产生一个错觉,就好象他们每人都有一个专用CPU。
这就把“物理上的一个变成了逻辑上的多个”——为每个用户提供了一个虚拟处理机。
功能:保留原运行进程的现场信息;分配CPU;为新选中进程恢复现场。
4、(1)FCFS:P1---P2---P3---P4---P5SBF:P2---P4---P3----P5----P1非剥夺优先级:P4---P1---P3---P5---P2(2)FCFS:(10+11+13+14+19)/5=13.4SBF:(1+2+4+9+19)/5=7非剥夺优先级:(1+11+13+18+19)/5=12.45、剥夺方式是在现运行进程正在执行的CPU周期尚未结束之前,系统有权按某种原则剥夺它的CPU并把CPU分给另一进程。
剥夺CPU的原则有很多,视不同的调度算法而异。
其中最主要的是优先权原则和时间片原则。
在优先权原则下,只要在就绪队列中出现了比现运行进程优先权更高的进程,便立即剥夺现行进程的CPU并分给优先权最高的进程。
时间片原则是,当时间片到时后,便立即重新进行CPU调度。
非剥夺方式是,一旦CPU分给某进程的一个CPU周期,除非该周期到期并主动放弃,否则系统不得以任何方式剥夺现行进程的CPU。
6、引起进程调度的原因:a.进程自动放弃CPUi)进程运行结束ii)执行P、V操作等原语将自己封锁iii)进程提出I/O请求而等待完成b.CPU被抢占i)时间片用完ii)有更高优先级进程进入就绪状态7、不相同。
操作系统教程第二版课后答案【篇一:《操作系统教程》(第四版)课后答案】目录第一章第二章第三章第四章第五章第六章第七章第八章操作系统概述处理器管理并发进程存储管理设备管理文件管理操作系统的安全与保护网络和分布式操作系统1 7 26 93 103 108113 115【篇二:操作系统教程(第四版)课后习题答案】1、有一台计算机,具有imb 内存,操作系统占用200kb ,每个用户进程各占200kb 。
如果用户进程等待i/o 的时间为80 % ,若增加1mb 内存,则cpu 的利用率提高多少?答:设每个进程等待i/o 的百分比为p ,则n 个进程同时等待刀o的概率是pn ,当n 个进程同时等待i/o 期间cpu 是空闲的,故cpu 的利用率为1-pn。
由题意可知,除去操作系统,内存还能容纳4 个用户进程,由于每个用户进程等待i/o的时间为80 % , 故:cpu利用率=l-(80%)4 = 0.59若再增加1mb 内存,系统中可同时运行9 个用户进程,此时:cpu 利用率=l-(1-80%)9 = 0.87故增加imb 内存使cpu 的利用率提高了47 % :87 %/59 %=147 %147 %-100 % = 47 %2 一个计算机系统,有一台输入机和一台打印机,现有两道程序投入运行,且程序a 先开始做,程序b 后开始运行。
程序a 的运行轨迹为:计算50ms 、打印100ms 、再计算50ms 、打印100ms ,结束。
程序b 的运行轨迹为:计算50ms 、输入80ms 、再计算100ms ,结束。
试说明(1 )两道程序运行时,cpu有无空闲等待?若有,在哪段时间内等待?为什么会等待?( 2 )程序a 、b 有无等待cpu 的情况?若有,指出发生等待的时刻。
答:画出两道程序并发执行图如下:(1)两道程序运行期间,cpu存在空闲等待,时间为100 至150ms 之间(见图中有色部分)(2)程序a 无等待现象,但程序b 有等待。
操作系统习题解答1. 存储程序式计算机的主要特点是什么?答:主要特点是以顺序计算为基础,根据程序规定的顺序依次执行每一个操作,控制部件根据程序对整个计算机的活动实行集中过程控制,即为集中顺序过程控制。
这类计算是过程性的,实际上这种计算机是模拟人们的手工计算的产物。
即首先取原始数据,执行一个操作,将中间结果保存起来;再取一个数,和中间结果一起又执行一个操作,如此计算下去。
在遇到多个可能同时执行的分支时,也是先执行完一个分支,然后再执行第二个分支,直到计算完毕。
2. 批处理系统和分时系统各具有什么特点?答:批处理系统是在解决人一机矛盾以及高速度的中央处理机和低速度的I/O设备这两对矛盾的过程中发展起来的。
它的出现改善了CPU和外设的使用情况,其特点是实现了作业的自动定序、自动过渡,从而使整个计算机系统的处理能力得以提高。
在多道系统中,若采用了分时技术,就是分时操作系统,它是操作系统的另一种类型。
它一般采用时间片轮转的办法,使一台计算机同时为多个任务服务。
对用户都能保证足够快的响应时间,并提供交互会话功能。
它与批处理系统之间的主要差别在于,分时系统是人机交互式系统,响应时间快;而批处理系统是作业自动定序和过渡,无人机交互,周转时间长。
3. 实时系统的特点是什么?一个实时信息处理系统和一个分时系统从外表看来很相似,它们有什么本质的区别呢?答:实时系统对响应时间的要求比分时系统更高,一般要求响应时间为秒级、毫秒级甚至微秒级。
将电子计算机应用到实时领域,配置上实时监控系统,便组成各种各样的专用实时系统。
实时系统按其使用方式不同分为两类:实时控制系统和实时信息处理系统。
实时控制是指利用计算机对实时过程进行控制和提供监督环境。
实时信息处理系统是指利用计算机对实时数据进行处理的系统。
实时系统大部分是为特殊的实时任务设计的,这类任务对系统的可靠性和安全性要求很高。
与分时系统相比,实时系统没有那样强的交互会话功能,通常不允许用户通过实时终端设备去编写新的程序或修改已有的程序。
操作系统实⽤教程(第⼆版)-OS习题答案操作系统习题解答1. 存储程序式计算机的主要特点是什么?答:主要特点是以顺序计算为基础,根据程序规定的顺序依次执⾏每⼀个操作,控制部件根据程序对整个计算机的活动实⾏集中过程控制,即为集中顺序过程控制。
这类计算是过程性的,实际上这种计算机是模拟⼈们的⼿⼯计算的产物。
即⾸先取原始数据,执⾏⼀个操作,将中间结果保存起来;再取⼀个数,和中间结果⼀起⼜执⾏⼀个操作,如此计算下去。
在遇到多个可能同时执⾏的分⽀时,也是先执⾏完⼀个分⽀,然后再执⾏第⼆个分⽀,直到计算完毕。
2. 批处理系统和分时系统各具有什么特点?答:批处理系统是在解决⼈⼀机⽭盾以及⾼速度的中央处理机和低速度的I/O设备这两对⽭盾的过程中发展起来的。
它的出现改善了CPU和外设的使⽤情况,其特点是实现了作业的⾃动定序、⾃动过渡,从⽽使整个计算机系统的处理能⼒得以提⾼。
在多道系统中,若采⽤了分时技术,就是分时操作系统,它是操作系统的另⼀种类型。
它⼀般采⽤时间⽚轮转的办法,使⼀台计算机同时为多个任务服务。
对⽤户都能保证⾜够快的响应时间,并提供交互会话功能。
它与批处理系统之间的主要差别在于,分时系统是⼈机交互式系统,响应时间快;⽽批处理系统是作业⾃动定序和过渡,⽆⼈机交互,周转时间长。
3. 实时系统的特点是什么?⼀个实时信息处理系统和⼀个分时系统从外表看来很相似,它们有什么本质的区别呢?答:实时系统对响应时间的要求⽐分时系统更⾼,⼀般要求响应时间为秒级、毫秒级甚⾄微秒级。
将电⼦计算机应⽤到实时领域,配置上实时监控系统,便组成各种各样的专⽤实时系统。
实时系统按其使⽤⽅式不同分为两类:实时控制系统和实时信息处理系统。
实时控制是指利⽤计算机对实时过程进⾏控制和提供监督环境。
实时信息处理系统是指利⽤计算机对实时数据进⾏处理的系统。
实时系统⼤部分是为特殊的实时任务设计的,这类任务对系统的可靠性和安全性要求很⾼。
与分时系统相⽐,实时系统没有那样强的交互会话功能,通常不允许⽤户通过实时终端设备去编写新的程序或修改已有的程序。
第1章操作系统概论(1) 试说明什么是操作系统,它具有什么特征?其最基本特征是什么?解:操作系统就是一组管理与控制计算机软硬件资源并对各项任务进行合理化调度,且附加了各种便于用户操作的工具的软件层次。
现代操作系统都具有并发、共享、虚拟和异步特性,其中并发性是操作系统的最基本特征,也是最重要的特征,其它三个特性均基于并发性而存在。
(2) 设计现代操作系统的主要目标是什么?解:现代操作系统的设计目标是有效性、方便性、开放性、可扩展性等特性。
其中有效性指的是OS应能有效地提高系统资源利用率和系统吞吐量。
方便性指的是配置了OS后的计算机应该更容易使用。
这两个性质是操作系统最重要的设计目标。
开放性指的是OS应遵循世界标准规范,如开放系统互连OSI国际标准。
可扩展性指的是OS应提供良好的系统结构,使得新设备、新功能和新模块能方便地加载到当前系统中,同时也要提供修改老模块的可能,这种对系统软硬件组成以及功能的扩充保证称为可扩展性。
(3) 操作系统的作用体现在哪些方面?解:现代操作系统的主要任务就是维护一个优良的运行环境,以便多道程序能够有序地、高效地获得执行,而在运行的同时,还要尽可能地提高资源利用率和系统响应速度,并保证用户操作的方便性。
因此操作系统的基本功能应包括处理器管理、存储器管理、设备管理和文件管理。
此外,为了给用户提供一个统一、方便、有效的使用系统能力的手段,现代操作系统还需要提供一个友好的人机接口。
在互联网不断发展的今天,操作系统中通常还具备基本的网络服务功能和信息安全防护等方面的支持。
(4) 试说明实时操作系统和分时操作系统在交互性、及时性和可靠性方面的异同。
解:●交互性:分时系统能够使用户和系统进行人-机对话。
实时系统也具有交互性,但人与系统的交互仅限于访问系统中某些特定的专用服务程序。
●及时性:分时系统的响应时间是以人能够接受的等待时间为标准,而实时控制系统对响应时间要求比较严格,它是以控制过程或信息处理中所能接受的延迟为标准。
李建伟版实⽤操作系统第⼆版最新习题3进程同步与通信李建伟版实⽤操作系统第⼆版最新习题 3 进程同步与通信⼀、选择题题号1 2 3 4 5 6 7 8 9 10答案A D D C B C A B A A题号11 12答案D C⼆、综合题1、答:临界资源也称独占资源、互斥资源,它是指某段时间内只充许⼀个进程使⽤的资源。
⽐如打印机等硬件资源,以及只能互斥使⽤的变量、表格、队列等软件资源。
各个进程中访问临界资源的、必须互斥执⾏的程序代码段称为临界区,各进程中访问同⼀临界资源的程序代码段必须互斥执⾏。
为防⽌两个进程同时进⼊临界区,可采⽤软件解决⽅法或同步机构来协调它们。
但是,不论是软件算法还是同步机构都应遵循下述准则:①空闲让进。
②忙则等待。
③有限等待。
④让权等待。
2、答:忙等待意味着⼀个进程正在等待满⾜⼀个没有闲置处理器的严格循环的条件。
因为只有⼀个CPU 为多个进程服务,因此这种等待浪费了CPU 的时钟。
其他类型的等待:与忙等待需要占⽤处理器不同,另外⼀种等待则允许放弃处理器。
如进程阻塞⾃⼰并且等待在合适的时间被唤醒。
忙等可以采⽤更为有效的办法来避免。
例如:执⾏请求(类似于中断)机制以及PV 信号量机制,均可避免“忙等待”现象的发⽣。
3、答:在⽣产者—消费者问题中,Producer 进程中P(empty)和P(mutex)互换先后次序。
先执⾏P(mutex),假设成功,⽣产者进程获得对缓冲区的访问权,但如果此时缓冲池已满,没有空缓冲区可供其使⽤,后续的P(empty)原语没有通过,Producer 阻塞在信号量empty 上,⽽此时mutex 已被改为0,没有恢复成初值1。
切换到消费者进程后,Consumer 进程执⾏P(full)成功,但其执⾏P(mutex)时由于Producer 正在访问缓冲区,所以不成功,阻塞在信号量mutex 上。
⽣产者进程和消费者进程两者均⽆法继续执⾏,相互等待对⽅释放资源,会产⽣死锁。
课后习题第一章计算机系统结构的基本概念1.有一个计算机系统可按功能分成4级,每级的指令互不相同,每一级的指令都比其下一级的指令在效能上强M 倍,即第i级的一条指令能完成第i-1级的M条指令的计算量。
现若需第i级的N条指令解释第i+1级的一条指令,而有一段第1级的程序需要运行Ks,问在第2、3和4级上一段等效程序各需要运行多长时间?答:第2级上等效程序需运行:(N/M)*Ks。
第3级上等效程序需运行:(N/M)*(N/M)*Ks。
第4级上等效程序需运行:(N/M)*(N/M)*(N/M)*Ks。
note:由题意可知:第i级的一条指令能完成第i-1级的M条指令的计算量。
而现在第i级有N条指令解释第i+1级的一条指令,那么,我们就可以用N/M来表示N/M 表示第i+1级需(N/M)条指令来完成第i级的计算量。
所以,当有一段第1级的程序需要运行Ks时,在第2级就需要(N/M)Ks,以此类推2.2.硬件和软件在什么意义上是等效的?在什么意义上又是不等效的?试举例说明。
答:软件和硬件在逻辑功能上是等效的,原理上,软件的功能可用硬件或固件完成,硬件的功能也可用软件模拟完成。
但是实现的性能价格比,实现的难易程序不同。
在DOS操作系统时代,汉字系统是一个重要问题,早期的汉字系统的字库和处理程序都固化在汉卡(硬件)上,而随着CPU、硬盘、内存技术的不断发展,UCDOS把汉字系统的所有组成部份做成一个软件。
3.试以实例说明计算机系统结构、计算机组成与计算机实现之间的相互关系与影响。
答:计算机系统结构、计算机组成、计算机实现互不相同,但又相互影响。
(1)计算机的系统结构相同,但可采用不同的组成。
如IBM370系列有115、125、135、158、168等由低档到高档的多种型号机器。
从汇编语言、机器语言程序设计者看到的概念性结构相同,均是由中央处理机/主存,通道、设备控制器,外设4级构成。
其中,中央处理机都有相同的机器指令和汇编指令系统,只是指令的分析、执行在低档机上采用顺序进行,在高档机上采用重叠、流水或其它并行处理方式。
李建伟版实用操作系统第二版最新习题 3 进程同步与通信一、选择题题号1 2 3 4 5 6 7 8 9 10答案A D D C B C A B A A题号11 12答案D C二、综合题1、答:临界资源也称独占资源、互斥资源,它是指某段时间内只充许一个进程使用的资源。
比如打印机等硬件资源,以及只能互斥使用的变量、表格、队列等软件资源。
各个进程中访问临界资源的、必须互斥执行的程序代码段称为临界区,各进程中访问同一临界资源的程序代码段必须互斥执行。
为防止两个进程同时进入临界区,可采用软件解决方法或同步机构来协调它们。
但是,不论是软件算法还是同步机构都应遵循下述准则:①空闲让进。
②忙则等待。
③有限等待。
④让权等待。
2、答:忙等待意味着一个进程正在等待满足一个没有闲置处理器的严格循环的条件。
因为只有一个CPU 为多个进程服务,因此这种等待浪费了CPU 的时钟。
其他类型的等待:与忙等待需要占用处理器不同,另外一种等待则允许放弃处理器。
如进程阻塞自己并且等待在合适的时间被唤醒。
忙等可以采用更为有效的办法来避免。
例如:执行请求(类似于中断)机制以及PV 信号量机制,均可避免“忙等待”现象的发生。
3、答:在生产者—消费者问题中,Producer 进程中P(empty)和P(mutex)互换先后次序。
先执行P(mutex),假设成功,生产者进程获得对缓冲区的访问权,但如果此时缓冲池已满,没有空缓冲区可供其使用,后续的P(empty)原语没有通过,Producer 阻塞在信号量empty 上,而此时mutex 已被改为0,没有恢复成初值1。
切换到消费者进程后,Consumer 进程执行P(full)成功,但其执行P(mutex)时由于Producer 正在访问缓冲区,所以不成功,阻塞在信号量mutex 上。
生产者进程和消费者进程两者均无法继续执行,相互等待对方释放资源,会产生死锁。
在生产者和消费者进程中,V 操作的次序无关紧要,不会出现死锁现象。
4、答:5、答:设信号量sp 用于控制对盘子的互斥操作,信号量sg1 用于计数,表示盘子中的苹果数目,信号量sg2 用于计数,表示盘子中的桔子数目。
Semaphore sp=1,sg1=0,sg2=0dad(){while(1){ prepare an apple;p(sp);put an apple on the plate;v(sg2);}}mom(){while(1){prepare an orange;p(sp);put an orange on the plate;v(sg1);}}son(){while(1){p(sg1);take an orange from the plate;v(sp);eat the orange;}}daughter(){while(1){p(sg2);take an apple from the plate;v(sp);eat the apple;}}6、答:本题是生产者-消费者问题的一个扩展,P1 是生产者,生产的产品分为两种,P2、P3 是消费者,分别消费这两种产品。
(1)缓冲区是一互斥资源,每次只允许一个进程进入,所以设互斥信号量mutex,其初始值为1。
(2)P1、P2 因为奇数的放置与取用而同步,设该信号量为odd,初始值为0;P1、P3 因为偶数的放置与取用而同步,设该信号量为even,初始值为0,P1、P2、P3 因为共享缓冲区,设同步信号量为empty,初始值为N。
semaphore mutex=1,odd=0,even=0,empty=Nmain()cobegin{Process P1while(true){ number=produce();P(empty);P(mutex);put();V(mutex);if number%2==0V(even);elseV(odd);}Process P2while(true){ P(odd);P(mutex);getodd();V(mutex);V(empty);countodd();}Process P3while(true){ P(even);P(mutex);geteven();V(mutex);V(empty);counteven();}}coend7、答:Semaphore max; //初始n+1,表示理发店可以容纳的总人数Semaphore chair; //初始n,空闲的椅子Semaphore barber; //初始1,表示理发椅空闲Semaphore finished; //初始0,表示一次理发结束Semaphore ready; //初始0,表示客人准备就绪Customer:While(1){wait(max);wait(chair);wait(barber);signal(chair);signal(ready);… barbered…wait(finished);signal(max);}Barber:While(1){wait(ready);… barbering…signal(finished);signal(barber);}8、答:本题是生产者-消费者问题的变形。
两个生产车间为生产者进程,分别生产A、B 两种配将;装配车间为消费者,把A、B 两种产品组装成产品。
F1 和F2 为容量是10 的缓冲池,需互斥访问。
逐一分析本题中需要同步和互斥的地方,定义信号量及其初值:(1)mutex1 用于货架F1 的互斥访问,初值为1;(2)mutex2 用于货架F2 的互斥访问,初值为1;(3)empty1 和full1 用于生产A 零件车间和装配车间之间的同步制约关系。
F1 最多可以放10 个A 零件,所以empty1 为10;开始时F1 中没有A 零件,full1 的初值为0。
(4)empty2 和full2 用于生产B 零件车间和装配车间之间的同步制约关系。
F2 最多可以放10 个A 零件,所以empty2 为10;开始时F2 中没有B 零件,full2 的初值为0。
A 车间的工作过程的伪代码描述为:while(1){生产一个产品A;P(empty1);P(mutex1);将产品A 存放到货架F1 上;V(mutex1);V(full1);}B 车间的工作过程的伪代码描述为:while(1){生产一个产品B;P(empty2);P(mutex2);将产品B 存放到货架F2 上;V(mutex2);V(full2);}装配车间的工作过程伪代码描述为:while(1){P(full1);P(mutex1);从货架F1 上取一个A 产品;V(mutex1);V(empty1);P(full2);P(mutex2);从货架F2 上取一个B 产品;V(mutex2);V(empty2);将取得的A 产品和B 产品自组装成产品;}9、答:本题中中共有三类进程,他相当于机房管理员进程guard,学生进程student 和教师进程teacher。
相应的信号量和各个进程描述如下:semaphore computer=2m; /*对应于计算机的资源信号量*/semaphore student=0; /*对应于欲进入机房的学生*/semaphore enter=0; /*用来控制学生是否可进入机房*/semaphore finish=test=0; /*用来同步学生和教师——教师须检查实习完毕的学生*/ student_i(){ /*i=1,2,···2n*/V(student); /*激活管理员,有学生到达,要进入机房实验*/P(enter); /*等待管理员激活进入机房*/进入机房上机实习;V(finish); /*激活教师已经做完实验*/P(test); /*等待教师检查作业*/离开机房;V(computer); /*所占用的计算机变为空闲*/}guard(){int i;for(i=0;i++;i<n){P(computer); /*等待有两个空闲计算机*/P(computer);P(student); /*等待有两个学生达到*/P(student);V(enter); /*激活两个等待进入机房的学生*/V(enter);}}teacher(){int i;for(i=0;i++;i<n){P(finish); /*等待两个学生完成实验*/P(finish);检查两个学生的实习结果;V(test); /*检查完后,激活两个学生检查完毕,可以离开机房*/V(test);}}10 答:本题有两个临界资源:一个是出入口,另一个是博物馆。
本题需要定义两个信号量semaphore empty=500;semaphore mutex=1;cobegin参观者进程i;{ …P(empty);P(mutex);进门;V(mutex);参观;P(mutex);出门;V(mutex);V(empty);…}Coend;11、答:虽然信号量机制是一种有效的进程同步机制,但其存在以下缺点:①信号量的P、V 操作由用户在各个进程中分散使用,使用不当容易造成死锁,增加了用户编程负担。
②信号量机制涉及多个程序的关联内容,程序代码可读性差。
③使用信号量机制不利于代码的修改和维护,程序模块独立性差,任一变量或一段代码的修改都可能影响全局。
④信号量机制的正确性很难保证。
管程由四部分组成:①管程的名称;②局部于管程内部的共享数据结构说明;③对该数据结构进行操作的一组过程;④对管程内部共享数据设置初始值的语句。
12、答:管程与进程不同,主要体现在以下方面:①定义的数据结构及其在数据结构上进行的操作不同。
进程定义的是私有数据结构,主要对数据进行处理运算;管程定义的是公共数据结构,主要进行同步和初始化操作。
②目的不同。
进程在于实现系统的并发性,管程是为解决共享资源的互斥使用。
③进程通过调用管程中的过程实现对共享数据结构的操作,进程为主动工作方式,管程为被动工作方式。
④进程之间能并发执行,而管程则不能与调用进程并发执行。
⑤进程具有动态性,而管程则是操作系统中一个资源管理模块,供进程调用。
13、答:高级通信机制可分为三大类:1.共享存储器系统共享存储器系统中相互通信的进程间共享某些数据结构或存储区,彼此能够通过这些空间进行通信。
2.消息传递系统进程间的数据交换常以格式化的消息为单位。
在计算机网络中,又把消息称为报文。
程序员直接利用系统提供的一组通信命令进行通信。
消息传递系统按实现方式分成两种。
3.管道通信所谓“管道”是指用于连接一个读进程和一个写进程以实现它们之间通信的一个共享文件。
向管道(共享文件)提供输入的发送进程(即写进程)以字符流形式将大量的数据送入管道;接受管道输出的接收进程(即读进程)从管道中接收(读)数据。