操作系统课后习题答案
计算机操作系统(第3版)课后习题答案(完整版)
![计算机操作系统(第3版)课后习题答案(完整版)](https://img.taocdn.com/s3/m/53207acff111f18582d05a94.png)
计算机操作系统(第3版)课后习题答案(完整版)1.设计现代OS的主要目标是什么?答:(1)有效性(2)方便性(3)可扩充性(4)开放性2.OS的作用可表现在哪几个方面?答:(1)OS作为用户与计算机硬件系统之间的接口(2)OS作为计算机系统资源的管理者(3)OS实现了对计算机资源的抽象3.为什么说OS实现了对计算机资源的抽象?答:OS首先在裸机上覆盖一层I/O设备管理软件,实现了对计算机硬件操作的第一层次抽象;在第一层软件上再覆盖文件管理软件,实现了对硬件资源操作的第二层次抽象。
OS 通过在计算机硬件上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由它们共同实现了对计算机资源的抽象。
4.试说明推动多道批处理系统形成和发展的主要动力是什么?答:主要动力来源于四个方面的社会需求与技术发展:(1)不断提高计算机资源的利用率;(2)方便用户;(3)器件的不断更新换代;(4)计算机体系结构的不断发展。
5.何谓脱机I/O和联机I/O?答:脱机I/O 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。
该方式下的输入输出由外围机控制完成,是在脱离主机的情况下进行的。
而联机I/O方式是指程序和数据的输入输出都是在主机的直接控制下进行的。
6.试说明推动分时系统形成和发展的主要动力是什么?答:推动分时系统形成和发展的主要动力是更好地满足用户的需要。
主要表现在:CPU 的分时使用缩短了作业的平均周转时间;人机交互能力使用户能直接控制自己的作业;主机的共享使多用户能同时使用同一台计算机,独立地处理自己的作业。
7.实现分时系统的关键问题是什么?应如何解决?答:关键问题是当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,在用户能接受的时延内将结果返回给用户。
解决方法:针对及时接收问题,可以在系统中设Z多路卡,使主机能同时接收用户从各个终端上输入的数据;为每个终端配Z缓冲区,暂存用户键入的命令或数据。
《Linux操作系统(第2版))》课后习题答案
![《Linux操作系统(第2版))》课后习题答案](https://img.taocdn.com/s3/m/55c346760b4c2e3f56276318.png)
《 Linux 操作系统(第 2 版)》课后习题答案1.6练习题一、选择题1. Linux 最早是由计算机爱好者B开发的。
A. Richard PetersenB. Linus TorvaldsC. Rob PickD. Linux Sarwar2.下列 C 是自由软件。
A. Windows XPB. UNIXC. LinuxD. Windows 20003.下列B不是 Linux的特点。
A. 多任务B.单用户C. 设备独立性D. 开放性4.Linux 的内核版本 2.3.20 是A的版本。
A. 不稳定B. 稳定的C. 第三次修订D. 第二次修订5.Linux 安装过程中的硬盘分区工具是D。
A. PQmagicB. FDISKC. FIPSD. Disk Druid6.Linux 的根分区系统类型是 C 。
A. FATl6B. FAT32C. ext4D. NTFS二、填空题1. GNU 的含义是: GNU's Not UNIX 。
2.Linux 一般有 3 个主要部分:内核( kernel)、命令解释层( Shell 或其他操作环境)、实用工具。
3.安装 Linux 最少需要两个分区,分别是swap 交换分区和 /(根)分区。
4.Linux 默认的系统管理员账号是root。
三、简答题(略)1.简述 Red Hat Linux 系统的特点,简述一些较为知名的Linux 发行版本。
2.Linux 有哪些安装方式?安装 Red Hat Linux 系统要做哪些准备工作?3.安装 Red Hat Linux 系统的基本磁盘分区有哪些?4.Red Hat Linux 系统支持的文件类型有哪些?2.6练习题一、选择题1.C命令能用来查找在文件TESTFILE中包含四个字符的行?A. grep ’????’TESTFILEB. grep’⋯.’TESTFILEC. grep’^????$’TESTFILED. grep’^⋯ .$’TESTFILE2.B命令用来显示/home及其子目录下的文件名。
操作系统第五版费祥林-课后习题答案参考
![操作系统第五版费祥林-课后习题答案参考](https://img.taocdn.com/s3/m/9a1cf363302b3169a45177232f60ddccdb38e656.png)
操作系统第五版费祥林-课后习题答案参考1. 习题一a) 内容描述:- 系统调用是操作系统提供给用户程序的一组接口,用于访问操作系统的功能和服务。
- 系统调用是以进程的方式运行的,通过软中断或硬中断触发,并返回一个状态值,表示系统调用的执行结果。
b) 答案:系统调用的主要目的是提供一种安全的方式,让用户程序能够访问操作系统的特权功能。
通过系统调用,用户程序可以进行文件操作、网络通信、进程管理等功能。
2. 习题二a) 内容描述:- 进程是计算机中正在运行的程序的实例。
- 进程由程序代码、相关数据和执行上下文组成。
- 进程拥有自己的虚拟内存空间、寄存器状态和资源。
- 进程可以通过操作系统的调度机制进行切换和调度。
b) 答案:进程的主要特征包括并发性、独立性和随机性。
并发性指的是多个进程可以同时存在和执行;独立性指的是进程拥有独立的资源和执行上下文;随机性指的是进程的执行顺序和时间不确定。
3. 习题三a) 内容描述:- 死锁是指两个或多个进程因为竞争有限的资源而无法继续执行的状态。
- 死锁发生的原因包括互斥、占有且等待、不可抢占和循环等待。
b) 答案:死锁的预防和避免是操作系统中重要的问题。
预防死锁的方法包括破坏死锁产生的条件,如破坏互斥条件、破坏占有且等待条件等;避免死锁的方法包括资源分配图和银行家算法。
4. 习题四a) 内容描述:- 页面置换算法是操作系统中用于管理虚拟内存的重要手段。
- 页面置换算法的目标是在有限的物理内存空间中有效地管理大量的进程和页面。
- 常见的页面置换算法有FIFO、LRU和LFU等。
b) 答案:页面置换算法的选择依赖于系统的具体需求和资源限制。
FIFO算法是最简单的页面置换算法,它总是选择最先进入内存的页面进行置换;LRU算法则是根据页面最近被访问的频率进行置换;LFU算法是根据页面被访问的次数进行置换。
5. 习题五a) 内容描述:- 文件系统是操作系统中负责管理文件和目录的一组服务和数据结构。
(完整版)操作系统第五版费祥林_课后习题答案解析参考
![(完整版)操作系统第五版费祥林_课后习题答案解析参考](https://img.taocdn.com/s3/m/c8c230cda8956bec0975e3ce.png)
第一章操作系统概论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 有等待。
程序B 有等待时间段为180rns 至200ms 间(见图中有色部分)3 设有三道程序,按A 、B 、C优先次序运行,其内部计算和UO操作时间由图给出。
试画出按多道运行的时间关系图(忽略调度执行时间)。
完成三道程序共花多少时间?比单道运行节省了多少时间?若处理器调度程序每次进行程序转换化时lms , 试画出各程序状态转换的时间关系图。
(完整版)操作系统教程第5版课后标准答案
![(完整版)操作系统教程第5版课后标准答案](https://img.taocdn.com/s3/m/4986f5f2a26925c52cc5bfcd.png)
操作系统教程第5版课后答案费祥林、骆斌编著第一章操作系统概论习题一一、思考题1.简述现代计算机系统的组成及层次结构。
答:现代计算机系统由硬件和软件两个部分组成。
是硬件和软件相互交织形成的集合体,构成一个解决计算问题的工具。
硬件层提供基本可计算的资源,包括处理器、寄存器、内存、外存及I/O设备。
软件层由包括系统软件、支撑软件和应用软件。
其中系统软件是最靠近硬件的。
2、计算机系统的资源可分成哪几类?试举例说明。
答:包括两大类,硬件资源和信息资源。
硬件资源分为处理器、I/O设备、存储器等;信息资源分为程序和数据等。
3.什么是操作系统?操作系统在计算机系统中的主要作用是什么?答:操作系统是一组控制和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合。
操作系统在计算机系统中主要起4个方面的作用。
(1)服务用户观点——操作系统提供用户接口和公共服务程序(2)进程交互观点——操作系统是进程执行的控制者和协调者(3)系统实现观点——操作系统作为扩展机或虚拟机(4)资源管理观点——操作系统作为资源的管理者和控制者4.操作系统如何实现计算与操作过程的自动化?答:大致可以把操作系统分为以下几类:批处理操作系统、分时操作系统、实时操作系统、网络操作系统和分布式操作系统。
其中批处理操作系统能按照用户预先规定好的步骤控制作业的执行,实现计算机操作的自动化。
又可分为批处理单道系统和批处理多道系统。
单道系统每次只有一个作业装入计算机系统的主存储器运行,多个作业可自动、顺序地被装入运行。
批处理多道系统则允许多个作业同时装入主存储器,中央处理器轮流地执行各个作业,各个作业可以同时使用各自所需的外围设备,这样可以充分利用计算机系统的资源,缩短作业时间,提高系统的吞吐率5.操作系统要为用户提供哪些基本的和共性的服务?答:(1)创建程序和执行程序;(2)数据I/O和信息存取;(3)通信服务;(4)差错检测和处理。
操作系统课后部分习题及答案
![操作系统课后部分习题及答案](https://img.taocdn.com/s3/m/bf0d183467ec102de2bd8957.png)
第2章操作系统的运行环境2.2 现代计算机为什么设置目态/管态这两种不同的机器状态?现在的lntel80386设置了四级不同的机器状态(把管态又分为三个特权级),你能说出自己的理解吗?答:现在的Intel 80386把执行全部指令的管态分为三个特权级,再加之只能执行非特权指令的目态,这四级不同的机器状态,按照系统处理器工作状态这四级不同的机器状态也被划分管态和目态,这也完全符合处理器的工作状态。
2.6 什么是程序状态字?主要包括什么内容?答:如何知道处理器当前处于什么工作状态,它能否执行特权指令,以及处理器何以知道它下次要执行哪条指令呢?为了解决这些问题,所有的计算机都有若干的特殊寄存器,如用一个专门的寄存器来指示一条要执行的指令称程序计数器PC,同时还有一个专门的寄存器用来指示处理器状态的,称为程序状态字PSW。
主要内容包括所谓处理器的状态通常包括条件码--反映指令执行后的结果特征;中断屏蔽码--指出是否允许中断,有些机器如PDP-11使用中断优先级;CPU的工作状态--管态还是目态,用来说明当前在CPU上执行的是操作系统还是一般用户,从而决定其是否可以使用特权指令或拥有其它的特殊权力。
2.11 CPU如何发现中断事件?发现中断事件后应做什么工作?答:处理器的控制部件中增设一个能检测中断的机构,称为中断扫描机构。
通常在每条指令执行周期内的最后时刻中扫描中断寄存器,询为是否有中断信号到来。
若无中断信号,就继续执行下一条指令。
若有中断到来,则中断硬件将该中断触发器内容按规定的编码送入程序状态字PSW的相应位(IBM-PC中是第16~31位),称为中断码。
发现中断事件后应执行相中断处理程序,先由硬件进行如下操作:1、将处理器的程序状态字PSW压入堆栈2、将指令指针IP(相当于程序代码段落的段内相对地址)和程序代码段基地址寄存器CS的内容压入堆栈,以保存被子中断程序的返回地址。
3、取来被接受的中断请求的中断向量地址(其中包含有中断处理程序的IP,CS的内容),以便转入中断处理程序。
计算机操作系统(第三版)完整课后习题答案
![计算机操作系统(第三版)完整课后习题答案](https://img.taocdn.com/s3/m/ad478f5ba8956bec0975e3dd.png)
第一章1.设计现代OS的主要目标是什么?答:(1)有效性(2)方便性(3)可扩充性(4)开放性2.OS的作用可表现在哪几个方面?答:(1)OS作为用户与计算机硬件系统之间的接口(2)OS作为计算机系统资源的管理者(3)OS实现了对计算机资源的抽象3.为什么说OS实现了对计算机资源的抽象?答:OS首先在裸机上覆盖一层I/O设备管理软件,实现了对计算机硬件操作的第一层次抽象;在第一层软件上再覆盖文件管理软件,实现了对硬件资源操作的第二层次抽象。
OS 通过在计算机硬件上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由它们共同实现了对计算机资源的抽象。
4.试说明推劢多道批处理系统形成和収展的主要劢力是什么?答:主要动力来源于四个方面的社会需求与技术发展:(1)不断提高计算机资源的利用率;(2)方便用户;(3)器件的不断更新换代;(4)计算机体系结构的不断发展。
5.何谓脱机I/O和联机I/O?答:脱机I/O 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。
该方式下的输入输出由外围机控制完成,是在脱离主机的情况下进行的。
而联机I/O方式是指程序和数据的输入输出都是在主机的直接控制下进行的。
6.试说明推劢分时系统形成和収展的主要劢力是什么?答:推动分时系统形成和发展的主要动力是更好地满足用户的需要。
主要表现在:CPU 的分时使用缩短了作业的平均周转时间;人机交互能力使用户能直接控制自己的作业;主机的共享使多用户能同时使用同一台计算机,独立地处理自己的作业。
7.实现分时系统的关键问题是什么?应如何解决?答:关键问题是当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,在用户能接受的时延内将结果返回给用户。
解决方法:针对及时接收问题,可以在系统中设臵多路卡,使主机能同时接收用户从各个终端上输入的数据;为每个终端配臵缓冲区,暂存用户键入的命令或数据。
操作系统课后习题及答案
![操作系统课后习题及答案](https://img.taocdn.com/s3/m/054a761514791711cc79175e.png)
第一章1.下面不属于操作系统的是(C )A、OS/2B、UCDOSC、WPSD、FEDORA2.操作系统的功能不包括(B )A、CPU管理B、用户管理C、作业管理D、文件管理3.在分时系统中,当时间片一定时,(B ),响应越快。
A、内存越大B、用户越少C、用户越多D、内存越小4.分时操作系统的及时性是指( B )A、周转时间B、响应时间C、延迟时间D、A、B和C5.用户在程序设计的过程中,若要得到系统功能,必须通过(D )A、进程调度B、作业调度C、键盘命令D、系统调用6.批处理系统的主要缺点是( C )A、CPU使用效率低B、无并发性C、无交互性D、都不是第二章1、若信号量的初值为2,当前值为-3,则表示有(C )个进程在等待。
A、1B、2C、3D、52、在操作系统中,要对并发进程进行同步的原因是(B )A、进程必须在有限的时间内完成B、进程具有动态性C、并发进程是异步的D、进程具有结构性3、下列选项中,导致创进新进程的操作是(C )I用户成功登陆II设备分配III启动程序执行A、仅I和IIB、仅II和IIIC、仅I和IIID、I,II,III4、在多进程系统中,为了保证公共变量的完整性,各进程应互斥进入临界区。
所谓的临界区是指(D )A、一个缓冲区B、一个数据区C、一种同步机构D、一段程序5、进程和程序的本质区别是(B )A、内存和外存B、动态和静态特征C、共享和独占计算机资源D、顺序和非顺序执行计算机指令6、下列进程的状态变化中,(A )的变化是不可能发生的。
A、等待->运行B、运行->等待C、运行->就绪D、等待->就绪7、能从1种状态变为3种状态的是(D )A、就绪B、阻塞C、完成D、执行8、下列关于进程的描述正确的是(A )A、进程获得CPU是通过调度B、优先级是进程调度的重要依据,一旦确定就不能改变C、在单CPU系统中,任何时刻都有一个进程处于执行状态D、进程申请CPU得不到满足时,其状态变为阻塞9、CPU分配给进程的时间片用完而强迫进程让出CPU,此时进程的状态为(C )。
操作系统第五版费祥林_课后习题答案解析参考
![操作系统第五版费祥林_课后习题答案解析参考](https://img.taocdn.com/s3/m/bfc046f6bb4cf7ec4bfed023.png)
答:因为 I/O 繁忙型作业忙于 I/O ,所以它 CPU用得少,按调度策略能优先执行。
同样原因一个进程等待 CPU足够久时,由于它是“最近使用处理器较少的进程” ,
就能被优先调度,故不会饥饿。
3 并发进程之间有什么样的相互制约关系?下列日常生活中的活动是属哪种制
约关系: (1 )踢足球, (2 )吃自助餐, (3 )图书馆借书, (4 )电视机生产流水线
非抢占式共用去 180ms ,单道完成需要 260ms ,节省 80ms 。 2 )调度执行时间 1ms , 多道运行方式(抢占式) :
调度执行时间 ITns ,多道运行方式(非抢占式) :
4 在单 CPU和两台 I/O( I1 , 12 )设备的多道程序设计环境下,同时投入三个 作业运行。它们的执行轨迹如下: Jobl : I2 ( 30ms )、 CPU( 10ms )、 I1 ( 30ms )、CPU( 10ms )、I2 ( 20ms)
由于任何调度方式下, S1' + S2' + S3' +, + Sn’为一个确定的数,而当 S1 ’ ≤ S2 ’≤ , ≤ S( n - 1 ) ’≤ Sn ’时才有: 0*S1+1*S2+2*S3+, ( n-1 ) Sn 的值最大,也就是说,此时 T 值最小。所以,按短作业优先调度算法调度时, 使得平均作业周转时间最短。 7、 假定执行表中所列作业, 作业号即为到达顺序, 依次在时刻 0 按次序 1 、2 、 3 、4 、 5 进入单处理器系统。 ( 1)分别用先来先服务调度算法、时间片轮转算法、短作业优先算法及非强占 优先权调度算法算出各作业的执行先后次序(注意优先权高的数值小) ; ( 2)计算每种情况下作业的平均周转时间和平均带权周转时间。
操作系统(1~8章的课后习题答案)
![操作系统(1~8章的课后习题答案)](https://img.taocdn.com/s3/m/a447dedd76a20029bd642dd3.png)
1.1:存储程序式计算机的主要特点是:集中顺序过程控制(1)过程性:模拟人们手工操作(2)集中控制:由CPU集中管理(3)顺序性:程序计数器1.2:a:批处理系统的特点:早期批处理有个监督程序,作业自动过渡直到全部处理完,而脱机批处理的特点:主机与卫星机并行操作。
b:分时系统的特点:(1):并行性。
共享一台计算机的众多联机用户可以在各自的终端上同时处理自己的程序。
(2):独占性。
分时操作系统采用时间片轮转的方法使一台计算机同时为许多终端上同时为许多终端用户服务,每个用户的感觉是自己独占计算机。
操作系统通过分时技术将一台计算机改造为多台虚拟计算机。
(3):交互性。
用户与计算机之间可以进行“交互会话”,用户从终端输入命令,系统通过屏幕(或打印机)将信息反馈给用户,用户与系统这样一问一答,直到全部工作完成。
c:分时系统的响应比较快的原因:因为批量操作系统的作业周转时间较长,而分时操作系统一般采用时间片轮转的方法,一台计算机与许多终端设备连接,使一台计算机同时为多个终端用户服务,该系统对每个用户都能保证足够快的响应时间,并提供交互会话功能。
1.3:实时信息处理系统和分时系统的本质区别:实时操作系统要追求的目标是:对外部请求在严格时间范围内做出反应,有高可靠性和完整性。
其主要特点是资源的分配和调度首先要考虑实时性然后才是效率。
此外,实时操作系统应有较强的容错能力,分时操作系统的工作方式是:一台主机连接了若干个终端,每个终端有一个用户在使用。
用户交互式地向系统提出命令请求,系统接受每个用户的命令,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。
用户根据上步结果发出下道命。
分时操作系统将CPU 的时间划分成若干个片段,称为时间片。
操作系统以时间片为单位,轮流为每个终端用户服务。
每个用户轮流使用一个时间片而使每个用户并不感到有别的用户存在。
分时系统具有多路性、交互性、“独占”性和及时性的特征。
操作系统(第二版)课后习题答案
![操作系统(第二版)课后习题答案](https://img.taocdn.com/s3/m/c6ec9bffb0717fd5360cdc74.png)
故需要一次间接寻址,就可读出该数据
如果要求读入从文件首到263168Byte处的数据(包括这个数据),读岀过程:首先根据直接寻
址读出前10块;读出一次间接索引指示的索引块1块;将索引下标从0〜247对应的数据块全部 读入。即可。共读盘块数10+1+248=259块
3.某文件系统采用索引文件结构,设文件索引表的每个表目占用3Byte,存放盘块的块号,盘块 的大小为512Byte。此文件系统采用直接、一次间接、二次间接、三次间接索引所能管理的最大
(1)|100-8|+|18-8|+|27-18|+|129-27|+|110-129|+|186-110|+|78-186|+|147-78|+|41-147|+ |10-47|+|64-10|+|12-64|=728
8:00
10:00
120mi n
1
2
8:50
50min
10:00
10:50
120mi n
3
9:00
10mi n
10:50
11:00
120mi n
12
4
9:50
20mi n
11:00
11:20
90mi n
平均周转时间T=,平均带权周转时间W=
②SJF短作业优先法)
作业
到达时间
运行时间
开始时间
完成时间
周转时间
页面长度为4KB,虚地址空间共有土)个页面
3.某计算机系统提供24位虚存空间,主存空间为218Byte,采用请求分页虚拟存储管理,页面尺
寸为1KB。假定应用程序产生虚拟地址(八进制),而此页面分得的块号为100(八进制),说明
操作系统第四版课后习题答案
![操作系统第四版课后习题答案](https://img.taocdn.com/s3/m/c124caa8988fcc22bcd126fff705cc1755275f19.png)
操作系统第四版课后习题答案操作系统第四版课后习题答案在学习操作系统的过程中,课后习题是巩固知识的重要环节。
本文将为大家提供操作系统第四版课后习题的答案,帮助大家更好地理解和掌握相关知识。
第一章引论1. 操作系统的定义是什么?答:操作系统是计算机系统中的一个软件,它管理和控制计算机硬件资源,为用户和应用程序提供一个简单、一致的接口。
2. 操作系统的主要功能有哪些?答:操作系统的主要功能包括进程管理、内存管理、文件系统管理、设备管理和用户接口等。
3. 解释并区分多道程序和多任务操作系统。
答:多道程序操作系统是指能够同时运行多个程序的操作系统,通过时间片轮转的方式实现程序的并发执行。
而多任务操作系统是指能够同时运行多个任务的操作系统,任务之间可以是并行执行的。
第二章进程管理1. 进程和程序的区别是什么?答:进程是程序在执行过程中的实体,包括程序计数器、寄存器和栈等,而程序是存储在磁盘上的可执行文件。
2. 什么是进程控制块(PCB)?答:进程控制块是操作系统中用来管理和控制进程的数据结构,包括进程的标识符、状态、优先级、程序计数器和寄存器等信息。
3. 进程的状态有哪些?答:进程的状态包括就绪状态、运行状态和阻塞状态。
第三章内存管理1. 什么是虚拟内存?答:虚拟内存是一种扩展内存的技术,将磁盘空间作为辅助内存来扩展物理内存的容量。
2. 什么是页面置换算法?答:页面置换算法是用于虚拟内存管理中的一种算法,当物理内存不足时,根据一定的策略选择一个页面将其从内存中置换出去,以便为新的页面腾出空间。
3. 什么是内存分配算法?答:内存分配算法是用于管理和分配内存的一种算法,包括连续分配、非连续分配和分段分页等。
第四章文件系统管理1. 文件系统的作用是什么?答:文件系统是操作系统中用于管理和组织文件的一种机制,它提供了对文件的创建、读写、删除等操作。
2. 什么是文件控制块(FCB)?答:文件控制块是操作系统中用于管理文件的数据结构,包括文件的属性、位置、大小和权限等信息。
(完整版)操作系统课后题答案
![(完整版)操作系统课后题答案](https://img.taocdn.com/s3/m/ac42fa6203768e9951e79b89680203d8ce2f6a31.png)
(完整版)操作系统课后题答案课本课后题部分答案第⼀章1.设计现代OS的主要⽬标是什么?答:(1)有效性(2)⽅便性(3)可扩充性(4)开放性2.OS的作⽤可表现在哪⼏个⽅⾯?答:(1)OS作为⽤户与计算机硬件系统之间的接⼝(2)OS作为计算机系统资源的管理者(3)OS实现了对计算机资源的抽象13.OS有哪⼏⼤特征?其最基本的特征是什么?答:并发性、共享性、虚拟性和异步性四个基本特征;最基本的特征是并发性。
14.处理机管理有哪些主要功能?它们的主要任务是什么?答:处理机管理的主要功能是:进程管理、进程同步、进程通信和处理机调度;进程管理:为作业创建进程,撤销已结束进程,控制进程在运⾏过程中的状态转换。
进程同步:为多个进程(含线程)的运⾏进⾏协调。
通信:⽤来实现在相互合作的进程之间的信息交换。
处理机调度:(1)作业调度。
从后备队⾥按照⼀定的算法,选出若⼲个作业,为他们分配运⾏所需的资源(⾸选是分配内存)。
(2)进程调度:从进程的就绪队列中,按照⼀定算法选出⼀个进程,把处理机分配给它,并设置运⾏现场,使进程投⼊执⾏。
15.内存管理有哪些主要功能?他们的主要任务是什么?北京⽯油化⼯学院信息⼯程学院计算机系3/48《计算机操作系统》习题参考答案余有明与计07和计G09的同学们编著 3/48答:内存管理的主要功能有:内存分配、内存保护、地址映射和内存扩充。
内存分配:为每道程序分配内存。
内存保护:确保每道⽤户程序都只在⾃⼰的内存空间运⾏,彼此互不⼲扰。
地址映射:将地址空间的逻辑地址转换为内存空间与对应的物理地址。
内存扩充:⽤于实现请求调⽤功能,置换功能等。
16.设备管理有哪些主要功能?其主要任务是什么?答:主要功能有: 缓冲管理、设备分配和设备处理以及虚拟设备等。
主要任务: 完成⽤户提出的I/O 请求,为⽤户分配I/O 设备;提⾼CPU 和I/O 设备的利⽤率;提⾼I/O速度;以及⽅便⽤户使⽤I/O设备.17.⽂件管理有哪些主要功能?其主要任务是什么?答:⽂件管理主要功能:⽂件存储空间的管理、⽬录管理、⽂件的读/写管理和保护。
操作系统课后习题1-9答案
![操作系统课后习题1-9答案](https://img.taocdn.com/s3/m/ca428b1c77c66137ee06eff9aef8941ea76e4b95.png)
操作系统课后习题1-9答案练习11.1-1.10题解见书1.11 有⼀台输⼊设备和⼀台输出设备的计算机系统上,运⾏有两道程序。
两道程序投⼊运⾏情况如下:程序1先开始运⾏,其运⾏轨迹为:计算50ms、输出100ms、计算50ms、输出100ms,结束;程序2后开始运⾏,其运⾏轨迹为:计算50ms、输⼊100ms、计算100ms、结束。
1. 忽略调度时间,指出两道程序运⾏时,CPU是否有空闲?在哪部分空闲?指出程序1和程序2. 有⽆等待CPU的情况?如果有,发⽣在哪部分?题解:由题画出CPU利⽤图如下:由图可知,1.CPU有空闲,在100ms~150ms时间段是空闲的。
2.程序1⽆等待时间,⽽程序2在⼀开始的0ms~50ms时间段会等待。
1.12 在计算机系统上运⾏三道程序,运⾏次序为程序1、程序2、程序3。
程序3的运⾏轨迹为:计算60ms、输⼊30ms、计算20ms。
忽略调度时间,画出三道程序运⾏的时间关系图;完成三道程序共花多少时间?与单道程序⽐较,节省了多少时间?解答:三道程序运⾏,完成三道程序共花170ms。
与单道程序(260ms)⽐较,节省了90ms。
(始终按照1-2-3的次序,即程序1→程序2→程序3→程序1→程序2→(在程序3运⾏前会停10ms等待输⼊完成)程序3。
(如果不是按照程序1、2、3的次序完成则会有多种情况。
)1.13 在计算机系统上有两台输⼊/输出设备,运⾏两道程序。
程序1的运⾏轨迹为:计算10ms、输⼊5ms、计算5ms、输出10ms、计算10ms。
程序2的运⾏轨迹为:输⼊10ms、计算10ms、输出5ms、计算5ms、输出10ms。
在顺序环境下,先执⾏程序1,再执⾏程序2,求总的CPU利⽤率为多少?题解:由题画出CPU利⽤图如下:由图可知,在总共80ms的时间⾥,CPU空闲时间为40ms,即:CPU利⽤率=40ms/80ms*100%=50%1.14 ⼀个计算机系统有⾜够的内存空间存放3道程序,这些程序有⼀半的时间在空闲等待I/O操作。
操作系统第二版课后习题答案
![操作系统第二版课后习题答案](https://img.taocdn.com/s3/m/eebcef7cc950ad02de80d4d8d15abe23482f0305.png)
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 300⑴cpu有空闲等待,在100ms~150ms的时候.⑵ 程序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);隹票•口xK;P(s2);开车门;上下乘客;))2.设有三个进程P、Q、R共享一个缓冲区,该缓冲区一次只能存放一个数据,P进程负责循环地从磁带机读入数据并放入缓冲区,Q进程负责循环地从缓冲区取出P进程放入的数据进行加工处理,并把结果放入缓冲区,R进程负责循环地从缓冲区读出Q进程放入的数据并在打印机上打印。
请用信号量和P、V操作,写出能够正确执行的程序。
semaphore sp,sq,sr;int buf;sp=1;sq=0;sr=0;cobeginprocess P()(while(true)(从磁带读入数据;P(sp);Buf=data;V(sq);))process Q()(while(true)(P(sq);data=buf;力口工data;buf=data;V(sr);))process R()(while(true)(P(sr);data=buf;V(sp);打印数据;coend.3.简述计数信号量的值与资源使用情况的关系。
操作系统课后习题答案
![操作系统课后习题答案](https://img.taocdn.com/s3/m/bacdf13ea32d7375a41780f1.png)
操作系统课后习题答案第一章1.设计现代OS的主要目标是什么?答:(1)有效性(2)方便性(3)可扩充性(4)开放性2.OS的作用可表现在哪几个方面?答:(1)OS作为用户与计算机硬件系统之间的接口(2)OS作为计算机系统资源的管理者(3)OS实现了对计算机资源的抽象3.为什么说OS实现了对计算机资源的抽象?答:OS首先在裸机上覆盖一层I/O设备管理软件,实现了对计算机硬件操作的第一层次抽象;在第一层软件上再覆盖文件管理软件,实现了对硬件资源操作的第二层次抽象。
OS 通过在计算机硬件上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由它们共同实现了对计算机资源的抽象。
4.试说明推劢多道批处理系统形成和収展的主要劢力是什么?答:主要动力来源于四个方面的社会需求与技术发展:(1)不断提高计算机资源的利用率;(2)方便用户;(3)器件的不断更新换代;(4)计算机体系结构的不断发展。
5.何谓脱机I/O和联机I/O?答:脱机I/O 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。
该方式下的输入输出由外围机控制完成,是在脱离主机的情况下进行的。
而联机I/O方式是指程序和数据的输入输出都是在主机的直接控制下进行的。
6.试说明推劢分时系统形成和収展的主要劢力是什么?答:推动分时系统形成和发展的主要动力是更好地满足用户的需要。
主要表现在:CPU 的分时使用缩短了作业的平均周转时间;人机交互能力使用户能直接控制自己的作业;主机的共享使多用户能同时使用同一台计算机,独立地处理自己的作业。
7.实现分时系统的关键问题是什么?应如何解决?答:关键问题是当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,在用户能接受的时延内将结果返回给用户。
解决方法:针对及时接收问题,可以在系统中设臵多路卡,使主机能同时接收用户从各个终端上输入的数据;为每个终端配臵缓冲区,暂存用户键入的命令或数据。
《操作系统教程(第四版)》课后习题答案
![《操作系统教程(第四版)》课后习题答案](https://img.taocdn.com/s3/m/9a9bbfe93b3567ec112d8a83.png)
Jobl:I2(30ms). CPU(lOms)、Il(30ms)> CPU(lOms)
Job2:Il(20ms). CPU(20ms)、I2(40ms)
Job3:CPU(30ms)、Il(20ms)
答;设每个进程等待I/O的百分比为P,则n个进程同时等待I/O的概率是P",当n个 进程同时等待I/O期间CPU是空闲的,故CPU的利用率为1J11・由题意可知,除 去操作系统,内存还能容纳4个用户进程,由于每个用户进程等待I/O的时间为80%,故:
CPU利用率=1-(80%)4=0.59
若再增加1MB内存,系统中可同时运行9个用户进程,此时:
答:画出两道程序并发执行图如下:
1人计釦
1R计覽虚皿丄
A计負]
1
处理器
1
1 1
1 1
I
I I
输入机
1
1
1
I
!
1
I{
打印机
|
1
1arrsi|
1 I |
arr印
1
程序A
1计豐
1杯印1
计養|
|IT印
1
程序B
1计豐
|国入
|计負
1
时间(ms)
L
L
I1
1
1 1
1
050100150180 200250300
(1)两道程序运行期间,CPU存在空闲等待,时间为100至150ms之间(见图中有色部 分)・
(2)程序A无等待现象,但程序B有蒔待•程序B有等待时间段为180ms至200ms间(见 图中有色部分).
操作系统概念课后习题答案
![操作系统概念课后习题答案](https://img.taocdn.com/s3/m/f91f1ee57e192279168884868762caaedd33ba10.png)
操作系统概念课后习题答案操作系统概念课后习题答案第一章:引论⒈操作系统的功能和目标是什么?答:操作系统的功能包括了进程管理、内存管理、文件系统管理、设备管理等。
操作系统的目标是提高计算机系统的资源利用率,提供简单易用的用户界面,保证计算机系统的安全和稳定性。
⒉什么是并发性?并行性?有什么区别?答:并发性是指计算机系统中存在多个独立的任务同时执行的能力。
并行性是指系统中同时执行多个任务的能力。
并行性强调多个任务的同时进行,而并发性强调任务的独立性。
⒊什么是中断?有什么作用?答:中断是指计算机执行过程中出现的一种特殊事件,用于打断正在执行的程序,转而执行中断处理程序。
中断的作用是能够及时响应输入/输出设备的请求以及处理发生的异常情况。
⒋什么是多道程序设计?答:多道程序设计是指将多个程序加载到内存中,并按照一定的调度算法来分时共享处理器和其他资源。
⒌什么是虚拟内存?答:虚拟内存是计算机系统通过借助硬盘空间来扩展内存空间的一种技术。
它将部分物理内存空间映射到磁盘上,使得程序可以访问比实际物理内存更大的地质空间。
第二章:进程管理⒈什么是进程?什么是线程?答:进程是指在操作系统中运行的程序的实例,它包括了程序代码、数据和执行状态等。
线程是进程中的一个执行单元,一个进程可以包含多个线程,它们共享进程的资源。
⒉进程的状态有哪些?请描述每个状态的含义。
答:进程的状态包括了就绪状态、运行状态、阻塞状态。
就绪状态表示进程已经具备运行的条件,等待分配处理器资源。
运行状态表示进程正在执行。
阻塞状态表示进程由于某种原因暂时无法继续执行。
⒊进程调度算法有哪些?请简要描述每个算法的特点。
答:常见的进程调度算法有先来先服务(FCFS)、短作业优先(SJF)、优先级调度、时间片轮转等。
FCFS按照进程的到达顺序进行调度,适用于长作业。
SJF按照进程的执行时间进行调度,适用于短作业。
优先级调度根据进程的优先级进行调度。
时间片轮转将处理器时间分成若干个时间片,每个进程获得一个时间片。
操作系统课后习题答案
![操作系统课后习题答案](https://img.taocdn.com/s3/m/dfd2922b050876323012124e.png)
7. 文件管理1.文件系统最基本的目标是_________, 它主要是通过目录管理功能实现的。
文件系统所追求的最重要的目标是_________。
A. 按名存取B. 文件共享C. 文件保护 D 提高对文件的存取速度 E 提高I/O速度 F提高存储空间利用率2.下面_________可以解决用户文件重名的问题A一级目录结构 B二级目录结构 C 多级目录结构 D树形目录结构3.存储介质的物理单位为________。
A块 B卷 C 磁道 D 扇区4.在文件系统中,用户以________方式直接使用外存。
A 逻辑地址B 辅存空间C 虚拟地址 D名字空间5. 文件的逻辑结构是________决定。
A操作系统 B文件系统 C装入程序 D用户6.记录式文件内可以独立存取的最小单位是________。
7.磁盘上的文件是以________为单位进行读写的。
8.在文件管理中,采用位示图主要是实现________。
A 磁盘的驱动调度B 磁盘空间的分配和回收 C文件目录的查找 D 页面置换9.在UNIX系统中,对空闲块的管理采用________方式。
A单块链接 B成组链接 C位示图法 D 多块链接10.按用途分,文件可分为________。
A系统文件 B 执行文件 C库文件 D用户文件11.下面________属于存储介质。
A磁带 B软盘 C硬盘驱动器 D 磁带机 E 磁盘机12.文件的成组和分解操作可________。
A缩短检索文件的时间 B提高文件存储空间的利用率C减少启动存储设备的次数 D减少文件存储空间的利用率13.文件系统就是操作系统中管理文件的软件的集合()14. 存储介质的物理单位定义为区()15.从用户的角度考虑的是文件的逻辑结构,从系统的角度考虑的是文件的物理结构。
()16.对索引文件只能使用随机存取方式。
()17.采用链接结构的文件,存放文件的物理块必须是连续的。
()18.文件目录是文件系统中按名存取的重要手段。
linux操作系统(第二版)课后习题答案
![linux操作系统(第二版)课后习题答案](https://img.taocdn.com/s3/m/ef5c0f58fe00bed5b9f3f90f76c66137ee064f98.png)
linux操作系统(第二版)课后习题答案Linux操作系统(第二版)课后习题答案Linux操作系统是一种开源的操作系统,广泛应用于各个领域。
在学习Linux操作系统的过程中,课后习题是一个非常重要的部分,通过解答习题可以加深对知识点的理解和应用能力的提升。
本文将为大家提供一些关于Linux操作系统(第二版)课后习题的答案,希望能对大家的学习有所帮助。
一、选择题1. Linux操作系统最早由谁创建?答:Linus Torvalds2. Linux操作系统是哪种类型的操作系统?答:开源操作系统3. Linux操作系统的内核是?答:Linux内核4. Linux操作系统的特点是?答:稳定、安全、可定制性强5. Linux操作系统最早是为了什么目的而创建的?答:为了个人电脑而创建的二、判断题1. Linux操作系统只能运行在服务器上,不能用于个人电脑。
答:错误2. Linux操作系统的文件系统是大小写敏感的。
答:正确3. Linux操作系统只能使用命令行界面,不能使用图形界面。
答:错误4. Linux操作系统不支持多用户同时登录。
答:错误5. Linux操作系统没有商业公司支持,完全由志愿者维护。
答:错误三、填空题1. Linux操作系统的命令行界面称为______。
答:Shell2. Linux操作系统的默认Shell是______。
答:Bash3. Linux操作系统的配置文件一般存放在______目录下。
答:/etc4. Linux操作系统的进程管理工具是______。
答:ps5. Linux操作系统的软件包管理工具是______。
答:apt四、简答题1. 请简要介绍一下Linux操作系统的文件系统结构。
答:Linux操作系统的文件系统结构是由根目录/开始的,包括了多个目录和文件。
常见的目录包括/bin、/etc、/home、/usr等。
其中/bin存放了一些系统命令,/etc存放了系统的配置文件,/home存放了用户的主目录,/usr存放了系统的应用程序和文件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
5.1为什么对调度程序而言,区分CPU约束程序和I/O约束程序很重要?答:在运行I/O操作前,I/0限制的程序只运行很少数量的计算机操作。
而CPU约束程序一般来说不会使用很多的CPU。
另一方面,CPU约束程序会利用整个时间片,且不做任何阻碍I/O操作的工作。
因此,通过给I/O约束程序优先权和允许在CPU 约束程序之前运行,可以很好的利用计算机资源。
5.3考虑用于预测下一个CPU区间长度的指数平均公式。
将下面的值赋给算法中的参数的含义是什么?A.a=0 且t0=100 msB.a=0.99 且t0=10 ms答:当a=0且t0=100 ms时,公式总是会预测下一次的CPU区间为100毫秒。
当a=0.99且t0=10毫秒时,进程将给予更高的重量以便能和过去相比。
因此,调度算法几乎是无记忆的,且简单预测未来区间的长度为下一次的CPU执行的时间片。
5.4考虑下面一组进程,进程占用的CPU区间长度以毫秒来计算:进程区间时间优先级P110 3P2 1 1P3 2 3P4 1 4P5 5 2假设在0时刻进程以P1、P2、P3、P4、P5的顺序到达。
a.画出4 个Gantt 图分别演示用FCFS、SJF、非抢占优先级(数字小代表优先级高)和RR(时间片=1)算法调度时进程的执行过程。
b.每个进程在每种调度算法下的周转时间是多少?c.每个进程在每种调度算法下的等待时间是多少?d.哪一种调度算法的平均等待时间最小?答a.FCFS:SJF:非抢占优先级:RR:b.周转时间:c.等待时间:d.从上表中可以看出SJF的等待时间最小。
5.5下面哪种调度算法能导致饥饿?a.先到先服务b.最短作业优先c.轮转法d.优先级答:最短作业优先和优先级调度算法能导致饥饿。
因为对于优先级较低的作业来说,最短作业优先和优先级调度算法会使其无穷等待CPU,长期得不到调用,这就导致了饥饿问题,也叫无穷阻塞。
5.9考虑下面的动态改变优先级的抢占式优先级调度算法。
大的优先级数代表高优先级。
当一个进程在等待CPU 时(在就绪队列中,但未执行),优先级以α速率改变;当它运行时,优先级以β速率改变。
所有的进程在进入等待队列时被给定优先级为0。
参数α和β可以进行设定得到许多不同的调度算法。
a.β>α>0是什么算法?b.α<β<0时是什么算法?答:a.FCFS先到先服务调度算法。
当进程进入到就绪队列时,其PCB链接到队列的尾部,优先级以α速率改变;当CPU空闲时,CPU分配给位于队列头的进程,优先级加快,以β速率改变,接着该运行进程从队列中删除。
b.LIFO后进先服务调度算法。
同上,当进程进入到就绪队列时,优先级以α速率改变,等待后进的进程先调度,之后轮到该进程时,优先级加快,以β速率改变,完成调度。
6.1第一个著名的正确解决两个进程的临界区问题的软件方法是Dekker设计的。
两个进程P0和P1共享以下变量:boolean flag[2]; /*initially false*/int turn;进程Pi(i==0或1)的结构见6.25,,另一个进程为Pj(j==0或1)。
证明这个算法满足临界区问题的所有三个要求。
d o{flag[i]=TRUE;while(flag[j]){if(turn==j){flag[i]=false;while(turn==j); //do nothingflag[i]= TRUE;}}//critical sectionturn==j;flag[i]=FALSE;//remainder section}while(TRUE);答:这个算法满足临界区问题的三个要求:(1)在标记和返回变量的使用中,互斥条件是保证的。
如果两个进程将它们的标识设为真,那么只有一个进程会成功进行,即轮到的那个进程。
当另一个进程更新它的返回变量时,等待的那个进程只能进入它的临界区域。
(2)就绪的进程,通过标志,返回变量。
这个算法没有提供严格的交替。
如果一个进程想要进入它们的临界区域,它可以将它的标识设为真,然后进入它们的临界区域。
当退出它的临界区域,它可以设置转向其他进程的值。
如果这个进程想要在其他进程之前再次进入它的临界区域,它会重复这样的进程:进入它的临界区域,在退出时转向另一个进程。
(3)在双T 返回变量的使用过程中,临界等待受阻。
假设两个进程想要进入它们的责任所在的临界区域。
它们都将它们的标志的值设为真;而只有轮到的那个线程可以执行;其他的线程处于等待状态。
如果临界等待没有受阻,当第一个进程重复“进入-退出”它的临界区域这一过程。
Dekker 算法在一个进程中设置一个转向另一个进程的值,从而保证另一个进程接下来进入它的临界区域。
6.2 第一个将等待次数降低到n-1范围内的正确解决n个进程临界区问题的软件解决方法是由Eisenberg和Mcguire设计的。
这些进程共享以下变量:enum pstate{idle, want in, in cs};pstate flag[n];int turn;flag的所有成员被初始化为idle;turn的初始值无关紧要(在0和n-1之间)。
进程pi的结构见图6.26。
试证明这个算法满足临界区问题的所有三个要求。
do{while(TRUE){flag[i] = want in;j = turn;while(j != i){if(flag[j] != idle){j = turn;elsej = (j+1)%n;}flag[i] = in cs;j = 0;while((j<n) && (j == I || flag[j] != in cs))j++;if((j >= n) && (turn == I || flag[turn] == idle))break;}//critical sectionj =(turn + 1)%n;while(flag[j] == idle)j = (j + 1)%n;turn = j;flag[i] = idle;//remainder section}while(TRUE);答:(1)互斥:注意到一个进程只有在下列条件满足时才能进入临界区域:没有其他进程在CS 中有设置的标识变量。
保证没有两个进程同时进入临界区域。
(2)有空让进:当多进程同时在CS 中设置它们的标识变量时,检查是否有其他进程在cs 中设置标识变量。
这种情况发生时,所有的进程意识到这里存在进程竞争,在外层while(1)的循环下进入下一次迭代,重置它们的标识变量到want 中。
这个进程仅能进入临界区域。
(3)有限等待:当进程k 在打算进入临界区域时,它的标识不再置为空闲。
任何序号不在轮次和k 之间的进程不能进入临界区域。
与此同时,所有序号落在轮次和k 之间且又想要进入临界区域的进程能够进入临界区域(这是基于系统一直在进步的事实),这个轮次值变得越来越接近k。
最后,要么轮次变为k,要么没有哪些序号在轮次和k 之间的进程,这样进程k 就进入临界区域了。
6.9试说明如果wait()和signal()操作不再是原子化操作,那么互斥可能是不稳定的。
答:买卖操作自动递减和信号量有关的值。
如果两个买卖操作在信号量的值为 1 的信号量上执行,而且这两种操作不是自动执行的,那么这两个操作在进展中会递减信号量的值,从而干扰互斥。
6.11理发店问题。
一家理发店有一间有n把椅子的等待室和一间有一把理发椅的理发室。
如果没有顾客,理发师就去睡觉。
如果顾客来时所有的椅子都有人,那么顾客就会离去。
如果理发师在忙,而又有空闲的椅子,那么顾客会坐在其中一个空闲的椅子上。
如果理发师在睡觉,顾客会摇醒他。
编写一个程序来协调理发师和顾客。
答:当系统中某一进程使用某一资源时,可以看作是消耗,且该进程称为消费者。
而当某个进程释放资源时,则它就相当一个生产者。
因此此题可看作是n个生产者和1个消费者问题。
顾客作为生产者,每到来一个就使计数器count增加1,以便让理发师理发(相当于消费)至最后一个顾客(相当于产品)。
并且,第1个到来的顾客应负责唤醒理发师;如果不是第1个到达的顾客,则在有空椅子的情况下坐下等待,否则离开理发店(该消息可由计数器count获得),所以可以通过一个有界缓冲区把理发师和顾客联系起来通过对信号进行P、V操作来实现有关问题和相关描述。
控制变量waiting 用来记录正在等候顾客的理发师数;信号量customers用来记录等候理发的顾客数,并用作阻塞理发师进程;信号量barbers用来记录正在等候顾客的理发师数,并用作阻塞顾客进程。
信号量mutex用于互斥。
初始化:int long waiting(0);//正在等待的顾客的数目customers,barbers,mutex:semaphore;customers:0;barbers:=1;waiting:=0;mutex:=NULL;理发师进程:barber()begindo{P(customers);//若无顾客,理发师睡眠p(mutex);//进程互斥waiting--;//等候顾客减1V(barbes);//理发师为下一个顾客理发V(mutex);//开放临界区cut-hair();//正在理发}while(TURE)//是否还有顾客顾客进程:customer()begindo{P(mutex);//进程互斥if(waiting){waiting++;//等待顾客数加1V(customers);//唤醒理发师V(mutex);//开放临界区P(barbers);//理发师没空,顾客等候get-haircut;//顾客准备理发}elseV(utex);//无空闲位,顾客离开}while(TRUE)6.15试论述读者-写者问题的操作公平性及吞吐量,并设计一个新方法解决读者-写者问题且不会产生饥饿。
答:读者-作者问题中吞吐量是受利益多的读者所影响的,而不是让一个作家独占式地获得。
另一个方面,有利于读者则可能会导致饥饿的作者。
在读者-写者问题中能够通过保持和等待进程有关的时间来避免。
当作者完成他的任务,那么唤醒那些已经等了最长期限的进程。
当读者到达和注意到另一个读者正在访问数据库,那么它只有在没有作者等待的情况下才能进入临界区域。