(完整word版)操作系统课后重点习题整理(word文档良心

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章
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程序装置装载;
可以通过采用 buffering, off-line operation, spooling, multiprogramming 等技术使CPU 和 I/O不停忙来提高性能
批处理适合于需要极少用户交互的Job。

b. Interactive
由许多短交易组成,下一次交易的结果可能不可预知
需要响应时间短
c. Time sharing
使用CPU调度和多道程序提供对系统的经济交互式使用,CPU快速地在用户之间切换
一般从终端读取控制,输出立即打印到屏幕
d. Real time
在专门系统中使用,从传感器读取信息,必须在规定时间内作出响应以确保正确的执行
e. Network
在通用OS上添加
联网、通信功能
远程过程调用
文件共享
f. Distributed
具有联网、通信功能
提供远程过程调用
提供多处理机的统一调度调度
统一的存储管理
分布式文件系统
第二章
第六版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讨论向操作系统传递参数的三个主要的方法。

1.通过寄存器来传递参数
2.寄存器传递参数块的首地址
3.参数通过程序存放或压进堆栈中,并通过操作系统弹出堆栈。

第三章
第七版3.1 论述短期,中期和长期调度之间的区别.
a.短期调度:在内存作业中选择就绪执行的作业,并为他们分配CPU。

b.中期调度:作为一种中等程度的调度程序,尤其被用于分时系统,一个交换方案的实施,
将部分运行程序移出内存,之后,从中断处继续执行。

c.长期调度(作业调度程序):确定哪些作业调入内存以执行.
它们主要的不同之处是它们的执行的频率。

短期调度必须经常调用一个新进程,由于在系统中,长期调度处理移动的作业时,并不频繁被调用,可能在进程离开系统时才被唤起。

第七版3.2 问:描述一下内核在两个进程间进行上下文功换的动作.
答:总的来说,操作系统必须保存正在运行的进程的状态,恢复进程的状态。

保存进程的状态主要包括CPU寄存器的值以及内存分配,上下文切换还必须执行一些确切体系结构的操作,包括刷新数据和指令缓存。

(书中答案)进程关联是由进程的PCB来表示的,它包括CPU寄存器的值和内存管理信息等。

当发生上下文切换时,内核会将旧进程的关联状态保存在其PCB中,然后装入经调度要执行的新进程的已保存的关联状态。

第五章
第七版5.4 Consider the following set of processes, with the length of the CPU-burst time given in milliseconds:(考虑下列进程集,进程占用的CPU区间长度以毫秒来计算:)
错误!未指定书签。

The 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 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里每个进程在每种调度算法下的周转时间是多少?)
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 following 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 these 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 processes 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 use
d. Remember that processes P1 and P2 are waiting during this idle time, so their waiting time may increas
e. This algorithm could be known as future-knowledge 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 be 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 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);//让理发完的顾客退出,让等待的一个顾客进入} while (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(Mutexchair); 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 the 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 banker’s algorithm, which of the following changes can be made safely (without introducing the possibility of deadlock), and under what circumstances?(在一个真实的计算机系统中,无论是可用的资源还是进程命令对资源的要求都会持续很长一段时间(几个月)。

资源损坏或被替换,新的进程进入和离开系统,新的资源会被购买和添加到系统中。

如果用银行家算法控制死锁,下面哪些变化是安全的(不会导致可能的死锁),并且在什么情况下发生?)
a.Increase Available (new resources added)增加可用资源(新的资源被添加到系统)
b.Decrease Available (resource 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. Increase 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 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.∑=n
Max i 1i <m+n
b. i ax M ≥ 1 for all i
Proof: i eed N = i ax M − i Allocation
If there exists a deadlock state then:
c. ∑=n
i Allocation 1i = m
Use a. to get:
∑i eed N + ∑i Allocation = ∑i ax M < m + n Use c. to get:∑i
eed N + m < m + n Rewrite to get:∑=n
i Need 1i
这意味着存在一个Pi 的进程,其i eed N =0.如果 i ax M >=1,那么Pi 进程至少有一个资源可以释放。

从而系统就不会进入死锁状态。

第七版7.11 Consider the following snapshot of a system:
Answer the following questions using the banker’s algorithm:(使用银行家算法回答下面的问题)
a. What is the content of the matrix Need?(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矩阵等于(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, 417K, 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 500K partition
417K is put in 600K partition
112K is put in 288K partition (new partition 288K = 500K − 212K)
426K must wait
Best-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 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,430
b. 1,10
c. 2,500
d. 3,400
e. 4,112
答:作业ch9-第四题
a. 430<600, 219+430 = 649 ;
b. 10<14, 2300+10 = 2310 ;
c. 500>100, illegal ;
d. 400<580, 1327+400 = 1727 ;
e. 112>96, illegal
第九章
9.13 一个页面置换算法应使发生页错误的次数最小化。

怎样才能通过将使用频率高的页平均分配到整个内存而不只是竞争少数几个页帧页来达到这种最小化。

可以对每个页帧设置一个计数器来记录与此帧相关的页数。

那么当置换一个页时,就可以查找计数器值最小的页帧
Answer:
a.定义一个页面置换算法解决问题:
Ⅰ.计数器初始值——0;
Ⅱ.计数器值增加——每当新的一页与此帧相关联;
Ⅲ.计数器值减少——每当与此帧相关联的一个页不再需要;
Ⅳ.怎样选择要被置换的页——找到带有最小计数器值的帧。

使用先进先出算法解除其关系
b.14个页错误
c.11个页错误
9.15 颠簸的原因是什么?系统怎样检测颠簸?一旦系统检测到颠簸,系统怎样做来消除这个问题?
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 algorithms, 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 replacement
FIFO replacement
Optimal replacement
第十二章
12.1 Consider a file currently consisting of 100 blocks. Assume that the file control block (and
the index block, in the case of indexed allocation) is already in memory. Calculate how
many 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, assume 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 en
d.
d. The block is removed from the beginning.
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 currently
serving a request at cylinder 143, and the previous request was at cylinder 125.
The queue
of pending requests, in FIFO order, is
86, 1470, 913, 1774, 948, 1509, 1022, 1750, 130
Starting from the current head position, what is the total distance (in cylinders) that
the disk arm moves to satisfy all the pending requests, for each of the following diskscheduling
algorithms?(假设一个错哦盘驱动器有5000个柱面,从0到4999,驱动器正在为柱面143的一个请求提供服务,且前面的一个服务请求是在柱面125.按FIFO顺序,即将到来的请求队列是
86,1470,913,1774,948,1509,1022,1750,130
从现在磁头位置开始,按照下面的磁盘调度算法,要满足队列中即将到来的请求要求磁头总的移动距离(按柱面数计)是多少?)
a. FCFS
b. SSTF
c. SCAN
d. LOOK
e. C-SCAN
a. FCFS的调度是143, 86, 1470, 913, 1774, 948, 1509, 1022, 1750, 130.
总寻求距离是7081.
b. SSTF的调度是143, 130, 86, 913, 948, 1022, 1470, 1509, 1750, 1774.
总寻求距离是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.。

相关文档
最新文档