《操作系统课后重点习题整理(共10页).doc》由会员分享,可在线阅读,更多相关《操作系统课后重点习题整理(共10页).doc(10页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上第一章1.17 Define the essential properties of the following types of operating systems:列出下列操作系统的基本特点:a. Batch批处理b. Interactive交互式c. Time sharing分时d. Real time实时e. Network网络g. Distributed分布式f.并行式h.集群式i.手持式Answer:作业ch1-第四题(第六版答案)a. Batch相似需求的Job分批、成组的在计算机上执行,Job由操作员或自动Job程序装置装载;可以通过采用 buffer
2、ing, off-line operation, spooling, multiprogramming 等技术使CPU 和 I/O不停忙来提高性能批处理适合于需要极少用户交互的Job。b. Interactive由许多短交易组成,下一次交易的结果可能不可预知需要响应时间短c. Time sharing使用CPU调度和多道程序提供对系统的经济交互式使用,CPU快速地在用户之间切换一般从终端读取控制,输出立即打印到屏幕d. Real time在专门系统中使用,从传感器读取信息,必须在规定时间内作出响应以确保正确的执行e. Network在通用OS上添加联网、通信功能远程过程调用文件共享f. Dis
3、tributed具有联网、通信功能提供远程过程调用提供多处理机的统一调度调度统一的存储管理分布式文件系统第二章第六版2.3 What are the differences between a trap and an interrupt? What is the use of each function?答:作业ch2-第二题(第六版答案) An interrupt是硬件产生的系统内的流的改变A trap是软件产生的“中断”。interrupt可以被I/O用来产生完成的信号,从而避免CPU对设备的轮询 A trap可以用来调用OS的例程或者捕获算术错误 第七版2.3讨论向操作系统传递参数的三个
4、主要的方法。 1.通过寄存器来传递参数 2.寄存器传递参数块的首地址 3.参数通过程序存放或压进堆栈中,并通过操作系统弹出堆栈。第三章第七版3.1 论述短期,中期和长期调度之间的区别.a.短期调度:在内存作业中选择就绪执行的作业,并为他们分配CPU。b.中期调度:作为一种中等程度的调度程序,尤其被用于分时系统,一个交换方案的实施,将部分运行程序移出内存,之后,从中断处继续执行。c.长期调度(作业调度程序):确定哪些作业调入内存以执行.它们主要的不同之处是它们的执行的频率。短期调度必须经常调用一个新进程,由于在系统中,长期调度处理移动的作业时,并不频繁被调用,可能在进程离开系统时才被唤起。第七版
5、3.2 问:描述一下内核在两个进程间进行上下文功换的动作.答:总的来说,操作系统必须保存正在运行的进程的状态,恢复进程的状态。保存进程的状态主要包括CPU寄存器的值以及内存分配,上下文切换还必须执行一些确切体系结构的操作,包括刷新数据和指令缓存。(书中答案)进程关联是由进程的PCB来表示的,它包括CPU寄存器的值和内存管理信息等。当发生上下文切换时,内核会将旧进程的关联状态保存在其PCB中,然后装入经调度要执行的新进程的已保存的关联状态。第五章第七版5.4 Consider the following set of processes, with the length of the CPU-b
6、urst time given in milliseconds:(考虑下列进程集,进程占用的CPU区间长度以毫秒来计算:)进程 区间时间 优先级P1 10 3P2 1 1P3 2 3P4 1 4P5 5 2The processes are assumed to have arrived in the order P1, P2, P3, P4, P5, all at time 0.(假设在时刻0以进程P1,P2,P3,P4,P5的顺序到达。)a. Draw four Gantt charts illustrating the execution of these processes using
7、 FCFS, SJF, a nonpreemptive priority (a smaller priority number implies a higher priority), and RR (quantum = 1) scheduling.(画出4个Gantt图分别演示用FCFS、SJF、非抢占优先级(数字小代表优先级高)和RR(时间片1)算法调度时进程的执行过程。)b. What is the turnaround time of each process for each of the scheduling algorithms in part a?(在a里每个进程在每种调度算法下
8、的周转时间是多少?)c. What is the waiting time of each process for each of the scheduling algorithms in part a?(在a里每个进程在每种调度算法下的等待时间是多少?)d. Which of the schedules in part a results in the minimal average waiting time (over all processes)?(在a里哪一种调度算法的平均等待时间对所有进程而言最小?)答:作业ch6-第三题第六章第六版6.4 Suppose that the foll
9、owing processes arrive for execution at the times indicated. Each process will run the listed amount of time. In answering the questions, use nonpreemptive scheduling and base all decisions on the information you have at the time the decision must be made.a. What is the average turnaround time for t
10、hese processes with the FCFS scheduling algorithm?b. What is the average turnaround time for these processes with the SJF scheduling algorithm?c. The SJF algorithm is supposed to improve performance, but notice that we chose to run process P1 at time 0 because we did not know that two shorter proces
11、ses would arrive soon. Compute what the average turnaround time will be if the CPU is left idle for the first 1 unit and then SJF scheduling is used. Remember that processes P1 and P2 are waiting during this idle time, so their waiting time may increase. This algorithm could be known as future-knowl
12、edge scheduling.答:a. (8-0)+(12-0.4)+(13-1.0)/3 = 10.53 ;b. (8-0)+(13-0.4)+(9-1.0)/3 = 9.53;c. (14-0)+(6-0.4)+(2-1.0)/3 = 6.87;第六版(理发师)第4题:The Sleeping-Barber Problem. A barbershop consists of a waiting room with n chairs and the barber room containing the barber chair. If there are no customers to b
13、e served, the barber goes to sleep. If a customer enters the barbershop and all chairs are occupied, then the customer leaves the shop. If the barber is busy but chairs are available, then the customer sits in one of the free chairs. If the barber is asleep, the customer wakes up the barber. Write a
14、 program to coordinate the barber and the customers.答:作业ch7-第四题理发师和顾客同步,理发师必须由顾客唤醒,理发师给一个顾客理发完,要让理发完的顾客退出,让等待顾客进入,顾客互斥的占用n个位置/共享变量semaphore Scuthair, Snumchair;/ Scuthair制约理发师, Snumchair制约顾客Scuthair=0; Snumchair=0;barber:do wait(Scuthair);/检查是否有顾客,无就睡眠给某个顾客理发signal(Snumchair);/让理发完的顾客退出,让等待的一个顾客进入 w
15、hile (1);Customer i:wait(Snumchair);/申请占用椅子signal(Scuthair);/给理发师发一个信号坐在椅子上等着理发/共享变量semaphore Scuthair, Mutexchair;/ Scuthair给理发师, Mutexchair制约顾客对椅子的互斥占领int number = 0;/顾客的共享变量,记录已经有的顾客数Scuthair=0; Mutexchair =1;Customer i: wait(Mutexchair);/申请对共享变量number的操作(申请占用椅子) if(number = = n-1)signal(Mutexcha
16、ir); exit; number = number +1; signal(Scuthair);/给理发师发一个信号 signal(Mutexchair); 等待理发 理发完毕 wait(Mutexchair);/申请对共享变量number的操作 number = number -1; signal(Mutexchair); 离开理发店barber:do wait(Scuthair);/检查是否有顾客,无,就睡眠给某个顾客理发 while (1);第七章第七版7.5 In a real computer system, neither the resources available nor t
17、he demands of processes for resources are consistent over long periods (months). Resources break or are replaced, new processes come and go, new resources are bought and added to the system. If deadlock is controlled by the bankers algorithm, which of the following changes can be made safely (withou
18、t introducing the possibility of deadlock), and under what circumstances?(在一个真实的计算机系统中,无论是可用的资源还是进程命令对资源的要求都会持续很长一段时间(几个月)。资源损坏或被替换,新的进程进入和离开系统,新的资源会被购买和添加到系统中。如果用银行家算法控制死锁,下面哪些变化是安全的(不会导致可能的死锁) ,并且在什么情况下发生?)a. Increase Available (new resources added)增加可用资源(新的资源被添加到系统)b. Decrease Available (resource
19、 permanently removed from system)减少可用资源(资源被从系统中永久性地移出)c. Increase Max for one process (the process needs more resources than allowed, it may want more)增加一个进程的Max(进程需要更多的资源,超过所允许给予的资源)d. Decrease Max for one process (the process decides it does not need that many resources)减少一个进程的Max(进程不再需要那么多资源)e. I
20、ncrease the number of processes增加进程的数量f. Decrease the number of processes减少进程的数量答:作业ch8-第二题第七版7.7 Consider a system consisting of m resources of the same type, being shared by n processes. Resources can be requested and released by processes only one at a time. Show that the system is deadlock-free
21、if the following two conditions hold:(假设一个系统有m个资源被n个进程共享,进程每次只请求和释放一个资源。证明只要系统符合下面两个条件,就不会发生死锁)a. The maximum need of each process is between 1 and m resources(每个进程需要资源的最大值在1到m之间)b. The sum of all maximum needs is less than m + n(所有进程需要资源的最大值的和小于m+n)答:作业ch8-第三题使用Section7.6.2的术语,可以有:a.m+nb. 1 for all
22、 iProof: = If there exists a deadlock state then:c. = mUse a. to get:+ = m + nUse c. to get:+ m =1,那么Pi进程至少有一个资源可以释放。从而系统就不会进入死锁状态。第七版7.11 Consider the following snapshot of a system:Answer the following questions using the bankers algorithm:(使用银行家算法回答下面的问题)a. What is the content of the matrix Need?
23、(Need矩阵的内容是怎样的?)b. Is the system in a safe state?(系统是否处于安全状态?)c. If a request from process P1 arrives for (0,4,2,0), can the request be granted immediately?(如果从进程P1发出一个请求(0 4 2 0),这个请求能否被满足?)答:作业ch8-第四题a. Need矩阵的内容是P0(0 0 0 0) P1(0 7 5 0) P2(1 0 0 2) P3(0 0 2 0) P4(0 6 4 0)。b. 系统处于安全状态,因为Available矩阵
24、等于(1 5 2 0),进程P0和P3都可以运行,当进程P3运行完时,它释放它的资源,而允许其它进程运行。c. 可以被满足,满足以后,Available矩阵等于(1 1 0 0),当以次序P0,P2, P3, P1 ,P4运行时候,可以完成运行。第八章第七版8.3 Given memory partitions of 100K, 500K, 200K, 300K, and 600K (in order), how would each of the First-fit, Best-fit, and Worst-fit algorithms place processes of 212K, 41
25、7K, 112K, and 426K (in order)? Which algorithm makes the most efficient use of memory?(按顺序给出5个部分的内存,分别是100KB,500KB,200KB,300KB和600KB,用 first-fit,best-fit和worst-fit算法,能够怎样按顺序分配进程212KB,417KB,112KB,426KB和426KB?哪个算法充分利用了内存空间?)答:作业ch9-第二题(1)first-fit,best-fit和worst-fit算法分配进程如下:First-fit: 212K is put in 5
26、00K partition 417K is put in 600K partition 112K is put in 288K partition (new partition 288K = 500K 212K) 426K must waitBest-fit: 212K is put in 300K partition 417K is put in 500K partition 112K is put in 200K partition 426K is put in 600K partition Worst-fit: 212K is put in 600K partition 417K is
27、put in 500K partition 112K is put in 388K partition 426K must wait(2)Best-fit算法充分利用了内存空间。第七版8.12 Consider the following segment table:What are the physical addresses for the following logical addresses?a. 0,430b. 1,10c. 2,500d. 3,400e. 4,112答:作业ch9-第四题 a. 430600, 219+430 = 649 ; b. 10100, illegal ;
28、d. 40096, illegal 第九章9.13 一个页面置换算法应使发生页错误的次数最小化。怎样才能通过将使用频率高的页平均分配到整个内存而不只是竞争少数几个页帧页来达到这种最小化。可以对每个页帧设置一个计数器来记录与此帧相关的页数。那么当置换一个页时,就可以查找计数器值最小的页帧Answer: a.定义一个页面置换算法解决问题: .计数器初始值0; .计数器值增加每当新的一页与此帧相关联; .计数器值减少每当与此帧相关联的一个页不再需要; .怎样选择要被置换的页找到带有最小计数器值的帧。使用先进先出算法解除其关系b.14个页错误c.11个页错误9.15 颠簸的原因是什么?系统怎样检测颠簸
29、?一旦系统检测到颠簸,系统怎样做来消除这个问题?Answer: 分配的页数少于进程所需的最小页数时发生颠簸,并迫使它不断地页错误。该系统可通过对比多道程序的程度来估计CPU利用率的程度,以此来检测颠簸。降低多道程序的程度可以消除颠簸。第十章第六版10.11 Consider the following page reference string:1, 2, 3, 4, 2, 1, 5, 6, 2, 1, 2, 3, 7, 6, 3, 2, 1, 2, 3, 6.How many page faults would occur for the following replacement algo
30、rithms, assuming one, two, three, four, five, six, or seven frames? Remember all frames are initially empty, so your first unique pages will all cost one fault each.LRU replacementFIFO replacementOptimal replacement第十二章12.1 Consider a file currently consisting of 100 blocks. Assume that the file con
31、trol block (andthe index block, in the case of indexed allocation) is already in memory. Calculate howmany disk I/O operations are required for contiguous, linked, and indexed (single-level)allocation strategies, if, for one block, the following conditions hold. In the contiguousallocation case, ass
32、ume that there is no room to grow in the beginning, but there is room to grow in the end. Assume that the block information to be added is stored in memory.a. The block is added at the beginning.b. The block is added in the middle.c. The block is added at the end.d. The block is removed from the beg
33、inning.e. The block is removed from the middle.f. The block is removed from the end.12.2 Suppose that a disk drive has 5000 cylinders, numbered 0 to 4999. The drive is currentlyserving a request at cylinder 143, and the previous request was at cylinder 125. The queueof pending requests, in FIFO orde
34、r, is86, 1470, 913, 1774, 948, 1509, 1022, 1750, 130Starting from the current head position, what is the total distance (in cylinders) thatthe disk arm moves to satisfy all the pending requests, for each of the following diskschedulingalgorithms?(假设一个错哦盘驱动器有5000个柱面,从0到4999,驱动器正在为柱面143的一个请求提供服务,且前面的一
35、个服务请求是在柱面125.按FIFO顺序,即将到来的请求队列是 86,1470,913,1774,948,1509,1022,1750,130从现在磁头位置开始,按照下面的磁盘调度算法,要满足队列中即将到来的请求要求磁头总的移动距离(按柱面数计)是多少?)a. FCFSb. SSTFc. SCANd. LOOKe. C-SCANa. FCFS的调度是143, 86, 1470, 913, 1774, 948, 1509, 1022, 1750, 130.总寻求距离是7081.b. SSTF的调度是143, 130, 86, 913, 948, 1022, 1470, 1509, 1750, 1
36、774. 总寻求距离是1745.c. SCAN的调度是143, 913, 948, 1022, 1470, 1509, 1750, 1774, 4999, 130, 86. 总寻求距离是9769.d. LOOK的调度是143, 913, 948, 1022, 1470, 1509, 1750, 1774, 130, 86. 总寻求距离是3319.e. C-SCAN的调度是143, 913, 948, 1022, 1470, 1509, 1750, 1774, 4999, 86, 130. 总寻求距离是9813.f. C-LOOK的调度是143, 913, 948, 1022, 1470, 1509, 1750, 1774, 86, 130.总寻求距离是3363.专心-专注-专业