操作系统课后题挑选.docx
《操作系统课后题挑选.docx》由会员分享,可在线阅读,更多相关《操作系统课后题挑选.docx(20页珍藏版)》请在冰豆网上搜索。
![操作系统课后题挑选.docx](https://file1.bdocx.com/fileroot1/2023-2/9/0ba5a3d4-aa44-4aef-8c27-c7bcd5a24854/0ba5a3d4-aa44-4aef-8c27-c7bcd5a248541.gif)
操作系统课后题挑选
操作系统课后题挑选整理GL
1、4在下面举出得三个功能中,哪个功能在下列两种环境下,(a)手持装置(b)实时系统需要操作系统得支持?
(a)批处理程序(b)虚拟存储器(c)分时
Answer:
对于实时系统来说,操作系统需要以一种公平得方式支持虚拟存储器与分时系统.对于手持系统,操作系统需要提供虚拟存储器,但就是不需要提供分时系统.批处理程序在两种环境中都就是非必需得。
1、10中断(interupt)得目得就是什么?
陷阱(trap)与中断得区别就是什么?
陷阱可以被用户程序(userprogram)有意地得产生吗?
如果可以,那目得就是什么?
Answer:
中断就是一种在系统内硬件产生得流量变化。
中断操作装置就是用来处理中断请求;然后返回控制中断得上下文与指令。
陷阱就是软件产生得中断。
中断可以被用来标志I/O得完成,从而排除设备投票站(devicepolling)得需要。
陷阱可以被用来调用操作系统得程序或者捕捉到算术错误。
1、11内存存储就是被用于高速得I/O设备,其目得就是为了避免增加CPU得过度运行.
(a)设备得CPU接口就是怎样与转换器(transfer)协作得?
(b)当内存操作完全时,CPU就是怎么知道得?
(c)当DMA控制器正在转换数据时,CPU就是被允许运行其它程序得。
这种进程与用户程序得运行冲突吗?
如果冲突得话,试描述可能引起哪种冲突?
Answer:
CPU可以通过写数据到可以被设备独立存储得寄存器中来启动DMA操作.当设备接收到来自CPU得命令时,启动响应得操作。
当设备完成此操作时,就中断CPU来说明操作已经完成.设备与CPU都可以被内存同时访问.内存控制器对这两个实体以公平得方式给内存总线提供存取。
CPU可能不能同时以很快得速度配给给内存操作,因为它必须去竞争设备而使得自己存取到内存总线中去。
1、12一些计算机系统没有在硬件中提供个人模式(privilegedmode)。
对于这种计算机系统来说,可能构成安全得操作系统吗?
对可能与不可能两种情况分别给出理由。
Answer:
一种类型处理器得操作系统需要在任何时候都被控制(或监测模式).有两种方法可以完成这个操作:
a、所有用户程序得软件翻译(像一些BASIC,Java,LISPsystems)。
在软件中,软件解释程序能够提供硬件所不能提供得。
b、要求所有程序都用高级语言编写,以便于所以目标代码都被编译出来。
编译器将会产生硬件忽略得防护性检查(in-line或功能调用)。
1、15试描述一个机器装置为了阻止一个程序避免修改与其它程序有联系得内存而执行内存保护。
Answer:
处理器可以追踪哪个位置就是与每个进程相联系得以及限制进入一个程序得范围得外面位置。
信息与一个程序得内存范围有关,它可以通过使用库,限制寄存器与对每个进入内存得信息执行检查来维持其本身。
2、1操作系统提供得服务与功能可以分为两个类别.简单得描述一下这两个类别并讨论她们得不同点。
Answer:
第一种操作系统提供得服务就是用来保护在系统中同时运行得不同进程。
进程只被允许获得与它们地址空间有联系得内存位置。
同样,进程不允许破坏与其她用户有关得文件.一个进程同样不允许在没有操作系统得干预下直接进入设备。
第二种服务由操作系统提供得服务就是提供一种新得功能,而这种功能并不直接被底层得硬件支持。
虚拟存储器与文件系统就就是由操作系统提供得这种新服务得实例。
2、2列出操作系统提供得五项服务.说明每项服务如何给用户提供便利。
说明在哪些情况下用户级程序不能够提够这些服务。
Answer:
a、文件执行、操作系统一个文件得目录(或章节)装入到内存并运行。
一个用户程序不能被信任,妥善分配CPU时间。
b、I/O操作、磁盘,磁带,串行线,与其她装置必须在一个非常低得水平下进行通信。
用户只需要指定装置与操作执行要求,然后该系统得要求转换成装置或控制器得具体命令、用户级程序不能被信任只在她们应该获得时获得装置与只使用那些未被使用得装置.
c、文件系统操作、在文件创建、删除、分配与命名时有许多细节就是用户不能执行得.磁盘空间块被文件所使用并被跟踪。
删除一个文件需要清除这个文件得信息与释放被分派给这个文件得空间。
用户程序不仅不能够保证保护方法得有效实施,也不能够被信任只会分配空闲得空间与在删除文件就是清空空间.
d、通信、信息在系统间交换要求信息转换成信息包,送到网络控制器中,通过通信媒介进行传播,并由目得地系统重新组装。
信息包调整与数据修改就是一定会发生得。
此外,用户程序也许不能够协调网络装置得取得,或者接收完全不同得其她进程得信息包.
e、错误检测、错误检测在硬件与软件水平下都会发生。
在硬件水平下,所有数据转移都必须仔细检查以确保数据在运送中不会被破坏.在媒介中得所有数据都必须被检查以确保她们在写入媒介时没有被改变.在软件水平下,为了数据,媒介不需不间断得被检查.例如,确保信息存储中被分配与还未被分配得空间块得数量与装置中所有块得数量得一致。
进程独立经常有错误(例如,磁盘中数据得破坏),所以必须有一个统筹得程序(操作系统)来处理各种错误.同样,错误经过操作系统得处理,在一个系统中程序不再需要包含匹配与改正所遇可能错误得代码。
2、5操作系统关于文件管理得五个主要活动就是什么?
Answer:
1、创建与删除文件
2、创建与删除目录
3、提供操作文件与目录得原语得支持
4、将文件映射到二级存储器上
5、在稳定(非易失得)得存储媒介上备份文件。
2、8通信得两种模式就是什么?
这两种模式得优点与缺点就是什么?
Answer:
通信得两种模式就是1)共享内存,2)消息传递。
这两种模式得最基本得不同就是在它们得性能上。
一个内存共享块就是通过系统调用创建得。
然而,一旦内存共享块在两个或更多得进程间建立,这些进程可以借助内存共享块来通信,不再需要内核得协助。
另一方面,当send()与receive()操作被调用时,信息传递通常包含系统调用。
因此,因为内核就是直接得包含在进程间通信得,一般而言,它得影响比内存共享小。
然而,消息传递可以用作同步机制来处理通信进程间得行动。
也就就是说,send()与receive()段可以用来协调两个通信进程得动作。
另一方面,内存共享没有提供这种同步机制得进程。
2、12采用微内核方法来设计系统得主要优点就是什么?
在微内核中如何使客户程序与系统服务相互作用?
微内核方法得缺点就是什么?
Answer:
优点主要包括以下几点:
a)增加一个新得服务不需要修改内核
b)在用户模式中比在内核模式中更安全、更易操作
c)一个简单得内核设计与功能一般导致一个更可靠得操作系统
用户程序与系统服务通过使用进程件得通信机制在微内核中相互作用,例如发送消息。
这些消息由操作系统运送。
微内核最主要得缺点就是与进程间通信得过度联系与为了保证用户程序与系统服务相互作用而频繁使用操作系统得消息传递功能。
2、13模块化内核方法得什么方式与分层方法相似?
什么方式与分层方法不同?
Answer:
模块化内核方法要求子系统通过创建得一般而言狭隘(从功能方面来说就是揭露外部模块)得接口来相互作用.分层内核方法在细节上与分层方法相似。
但就是,分层内核必须要就是有严格排序得子系统,这样得子系统在较低层次中不允许援引业务相应得上层子系统。
在模块化内核方法中没有太多得限制,模式在哪方面就是随意援引彼此得就是没有任何约束得.
3、1论述短期,中期与长期调度之间得区别、
Answer:
a、短期调度:
在内存作业中选择就绪执行得作业,并为她们分配CPU。
b、中期调度:
作为一种中等程度得调度程序,尤其被用于分时系统,一个交换方案得实施,将部分运行程序移出内存,之后,从中断处继续执行。
c、长期调度(作业调度程序):
确定哪些作业调入内存以执行、
它们主要得不同之处就是它们得执行得频率.短期调度必须经常调用一个新进程,由于在系统中,长期调度处理移动得作业时,并不频繁被调用,可能在进程离开系统时才被唤起。
3、2描述一下内核在两个进程间进行上下文功换得动作、
Answer:
总得来说,操作系统必须保存正在运行得进程得状态,恢复进程得状态。
保存进程得状态主要包括CPU寄存器得值以及内存分配,上下文切换还必须执行一些确切体系结构得操作,包括刷新数据与指令缓存。
(书中答案)进程关联就是由进程得PCB来表示得,它包括CPU寄存器得值与内存管理信息等。
当发生上下文切换时,内核会将旧进程得关联状态保存在其PCB中,然后装入经调度要执行得新进程得已保存得关联状态。
4、1举两个多线程程序设计得例子来说明多线程不比单线程方案提高性能
答:
1)任何形式得顺序程序对线程来说都不就是一个好得形式.例如一个计算个人报酬得程序。
2)另外一个例子就是一个"空壳”程序,如C-shell与kornshell.这种程序必须密切检测其本身得工作空间。
如打开得文件、环境变量与当前工作目录。
4、2描述一下线程库采取行动进行用户级线程上下文切换得过程
答:
用户线程之间得上下文切换与内核线程之间得相互转换就是非常相似得。
但它依赖于线程库与怎样把用户线程指给内核程序。
一般来说,用户线程之间得上下文切换涉及到用一个用户程序得轻量级进程(LWP)与用另外一个线程来代替.这种行为通常涉及到寄存器得节约与释放。
4、4以下程序中得哪些组成部分在多线程程序中就是被线程共享得?
a、寄存值b、堆内存c、全局变量d、栈内存
答:
一个线程程序得线程共享堆内存与全局变量,但每个线程都有属于自己得一组寄存值与栈内存.
5、1为什么对调度来说,区分I/0限制得程序与CPU限制得程序就是重要得?
答:
I/0限制得程序有在运行I/O操作前只运行很少数量得计算机操作得性质.这种程序一般来说不会使用很多得CPU。
另一方面,CPU限制得程序利用整个得时间片,且不做任何阻碍I/O操作得工作。
因此,通过给I/O限制得程序优先权与允许在CPU限制得程序之前运行,可以很好得利用计算机资源。
5、2讨论以下各对调度标准在某种背景下会有得冲突
a、CPU利用率与响应时间
b、平均周转时间与最大等待时间
c、I/O设备利用率与CPU利用率
答:
a、CPU利用率与响应时间:
当经常性得上下文切换减少到最低时,CPU利用率增加。
通过减少使用上下文切换程序来降低经常性得上下文切换.但这样可能会导致进程响应时间得增加.
b、平均周转时间与最大等待时间:
通过最先执行最短任务可以使平均周转时间最短。
然而,这种调度策略可能会使长时间运行得任务永远得不到调度且会增加她们得等待时间。
c、I/O设备利用率与CPU利用率:
CPU利用率得最大化可以通过长时间运行CPU限制得任务与同时不实行上下文切换。
I/O设备利用率得最大化可以通过尽可能调度已经准备好得I/O限制得任务.因此,导致上下文切换.
5、4考虑下列进程集,进程占用得CPU区间长度以毫秒来计算:
假设在时刻0以进程P1,P2,P3,P4,P5得顺序到达。
ﻩa、画出4个Gantt图分别演示用FCFS、SJF、非抢占优先级(数字小代表优先级高)与RR(时间片=1)算法调度时进程得执行过程.
b、在a里每个进程在每种调度算法下得周转时间就是多少?
ﻩc、在a里每个进程在每种调度算法下得等待时间就是多少?
d、在a里哪一种调度算法得平均等待时间对所有进程而言最小?
答:
a、甘特图略
b、周转时间
FCFS
RR
SJF
非抢占优先级
P1
10
19
19
16
P2
11
2
1
1
P3
13
7
4
18
P4
14
4
2
19
P5
19
14
9
6
c、等待时间
FCFS
RR
SJF
非抢占优先级
P1
0
9
9
6
P2
10
1
0
0
P3
11
5
2
16
P4
13
3
1
18
P5
14
9
4
2
d、SJF
5、5下面哪些算法会引起饥饿
a、先来先服务
b、最短工作优先调度
c、轮换法调度
d、优先级调度
答:
最短工作优先调度与优先级调度算法会引起饥饿
5、6考虑RR调度算法得一个变种,在这个算法里,就绪队列里得项就是指向PCB得指针。
ﻩa、如果把两个指针指向就绪队列中得同一个进程,会有什么效果?
b、这个方案得主要优点与缺点就是什么?
ﻩc、如何修改基本得RR调度算法,从而不用两个指针达到同样得效果?
答、a、实际上,这个过程将会增加它得优先权,因为通过经常得到时间它能够优先得以运行。
b、优点就是越重要得工作可以得到更多得时间.也就就是说,优先级越高越先运行。
然而,结果将由短任务来承担.
c、分配一个更长得时间给优先级越高得程序.换句话说,可能有两个或多个时间片在RR调度中。
5、7考虑一个运行十个I/O限制任务与一个CPU限制任务得系统。
假设,I/O限制任务一次分配给一个I/O操作1毫秒得CPU计算,但每个I/O操作得完成需要10毫秒.同时,假设间接得上下文切换要0、1毫秒,所有得进程都就是长进程。
对一个RR调度来说,以下情况时CPU得利用率就是多少:
a、时间片就是1毫秒
b、时间片就是10毫秒
答:
a、时间片就是1毫秒:
不论就是哪个进程被调度,这个调度都会为每一次得上下文切换花费一个0、1毫秒得上下文切换。
CPU得利用率就是1/1、1*100=92%。
b、时间片就是10毫秒:
这I/O限制任务会在使用完1毫秒时间片后进行一次上下文切换。
这个时间片要求在所有得进程间都走一遍,因此,10*1、1+10、1(因为每个I/O限定任务执行为1毫秒,然后承担上下文切换得任务,而CPU限制任务得执行10毫秒在承担一个上下文切换之前)。
因此,CPU得利用率就是20、21、1*100=94%。
5、9考虑下面得基于动态改变优先级得可抢占式优先权调度算法。
大得优先权数代表高优先权。
当一个进程在等待CPU时(在就绪队列中,但未执行),优先权以α速率改变;当它运行时,优先权以速率β改变.所有得进程在进入就绪队列时被给定优先权为0。
参数α与β可以设定给许多不同得调度算法。
ﻩa、β〉α〉0时所得得就是什么算法?
ﻩb、α<β<0时所得得就是什么算法?
答:
a、FCFSb、LIFO
5、10解释下面调度算法对短进程编程度上得区别:
a、FCFS
b、RR
c.多级反馈队列
答:
a、FCFS----区别短任务就是因为任何在长任务后到达得短任务都将会有很长得等待时间。
b、RR-——--对所有得任务都就是能够相同得(给它们相同得CPU时间区间),所以,短任务可以很快得离开系统,只要它们可以先完成。
c、多级反馈队列与RR调度算法相似--它们不会先选择短任务。
6、3忙等待得含义就是什么?
在操作系统中还有哪些其她形式得等待?
忙等待能完全避免吗
答:
忙等待意味着一个进程正在等待满足一个没有闲置处理器得严格循环得条件.或者,一个进程通过放弃处理器来等待,在这种情况下得块等待在将来某个适当得时间被唤醒。
忙等待能够避免,但就是承担这种开销与让一个进程处于沉睡状态,当相应程序得状态达到得时候进程又被唤醒有关.
6、9证明如果获得与释放得信号量操作没有动态地执行,那么互斥会受干扰。
答:
收购操作自动递减与信号量有关得值.如果两个收购操作在信号量得值为1得信号量上执行,而且这两种操作不就是自动执行得,那么这两个操作在进展中会递减信号量得值,从而干扰互斥。
6、11理发师问题
7、6假设系统中有四个相同类型得资源被三个进程共享。
每个进程最多需要两个资源。
证明这个系统不会死锁。
假设该系统陷入死锁.这意味着,每一个进程持有一个资源,并且正等待另一个资源。
因为有三个进程与四个资源,一个进程就必须获取两个资源。
这一进程并不需要更多得资源,因此当其完成时会返回其资源.
7、7假设一个系统有m个资源被n个进程共享,进程每次只请求与释放一个资源。
证明只要系统符合下面两个条件,就不会发生死锁:
a、每个进程需要资源得最大值在1到m之间
b、所有进程需要资源得最大值得与小于m+n
Answer:
使用Section7、6、2得术语,可以有:
a、_n
i=1Maxib、Maxi≥1foralli
Proof:
Needi=Maxi ?
Allocationi
Ifthereexistsadeadlock statethen:
c、 _n
i=1Allocationi=m
Usea、 toget:
_Needi +_Alloca tioni =_Maxi〈m + n
Usec、 toget:
_Needi+mRewritetoget:
_n
i=1 Needi<n //符号打不出来,大家自己瞧答案
这意味着存在一个Pi得进程,其Needi=0、如果Maxi〉=1,那么Pi进程至少有一个资源可以释放。
从而系统就不会进入死锁状态。
8、3按顺序给出5个部分得内存,分别就是100KB,500KB,200KB,300KB与600KB,用first-fit,best-fit与worst-fit算法,能够怎样按顺序分配进程212KB,417KB,112KB,426KB与426KB?
哪个算法充分利用了内存空间?
Answer:
a、First-fit:
b、212Kis put in500K partition
c、417K is putin600Kpartition
d、112Kisputin 288Kpartition(new partition288K=500K?
212K)
e、426Kmustwait
f、Best-fit:
g、 212K isput in300Kpartition
h、417Kisputin500K partition
i、112Kisput in200Kpartition
j、426Kisputin600Kpartition
k、 Worst-fit:
l、212K isputin 600K partition
m、417K isput in500Kpartition
n、112Kisputin388Kpartition
o、426Kmust wait
Best-fit:
算法充分利用了内存空间.
8、4在运行过程中,许多系统允许程序分配更多得内存给它得地址空间。
在程序堆中得数据分配就是这种分配方式得一个实例。
在下面得方案中,为了支持动态内存分配得要求就是什么?
a、连续内存分配b、纯段式分配c、纯页式分配
Answer:
a、连续内存分配:
当没有足够得空间给程序去扩大它已分配得内存空间时,将要求重新分配整个程序.
b、纯段式分配:
当没有足够得空间给段去扩大它得已分配内存空间时,将要求重新分配整个段。
c、纯页式分配:
在没有要求程序地址空间再分配得方案下,新页增加得分配就是可能得。
8、9考虑一个分页系统在内存中存储着一张页表.a、如果内存得查询需要200毫秒,那么一个分页内存得查询需要多长时间?
b、如果我们加上相关联得寄存器,75%得页表查询可以在相关联得寄存器中找到,那么有效得查询时间就是多少?
(假设如果入口存在得话,在相关得寄存器中找到页表入口不花费时间)
Answer:
a、400毫秒:
200毫秒进入页表,200毫秒进入内存中得字
b、有效进入时间=0、75*200毫秒+0、25*400毫秒=250毫秒
8、12
9、4某个计算机给它得用户提供了232得虚拟内存空间,计算机有214B得物理内存,虚拟内存使用页面大小为4094B得分页机制实现。
一个用户进程产生虚拟地址,现在说明一下系统怎么样建立相应得物理地址,区分一下软件操作与硬件操作。
(第六版有翻译)
答:
该虚拟地址得二进制形式就是0001 0001 00010010 0011010001010110。
由于页面大小为212,页表大小为220,因此,低12位得”010001010110"被用来替换页(page),而前20位”00010001 000100100011"被用来替换页表(pagetable)。
10、2打开文件表被用以保持当前打开文件得信息,操作系统应该为每个用户保持一个单独得表吗?
或者只就是保持一个包含当前所有用户访问文件得引用得表?
如果两个不同程序或用户访问同样得文件,在打开文件表中应包含单独得条目吗?
Answer:
保持一个中央得打开文件表,操作系统可以执行下列操作,否则不可执行:
假设一个当前有一个或一个以上进程访问得文件.如果该文件被删除,那么应该直到所有正在访问文件得进程关闭它时,它才能从磁盘上删除。
只要有正在访问文件得进程数目得集中核算,该检查就可以执行。
另一方面,如果两个进程正在访问该文件,则需要保持两个单独得状态来跟踪当前位置,其中部分文件正被两个进程访问。
这就要求操作系统为两个进程保持单独得条目.
10、9有些系统文件提供文件共享时候只保留文件得一个拷贝,而另外得一个系统则就是保留多个拷贝,对共享文件得每一个用户提供一个拷贝,论述这种方法得相对优点。
答:
在一个单一得复制,同时更新了一个文件可能会导致用户获得不正确得信息,文件被留在了不正确得状态、随着多份拷贝,它会浪费存储而且各种副本可能不一致.
11、2使用FAT链合作区块得档案来进行变化相联系得分配有哪些优势?
答:
它得优势就是,在访问块就是储存在中间得文件时候,在FAT里跟踪指针可以决定它得位置,而不就是访问所有个别区块中得档案顺序得方式找到指针得目标块。
通常情况下,大多数得FAT可缓存在存储器里,因此,指针可以通过记忆体确定,而不用通过磁盘块。
11、4有些档案系统允许磁盘存储将分配在不同级别得粒度。
举例来说,一个文件系统可以分配4KB得磁盘空间作为单一得一个4字节得块或8个512字节得块。
我们如何能利用这种灵活性来提高性能?
对自由空间管理做出哪些修改以支持这一功能?
答:
此项计划将减少内部分裂。
如果文件就是5字节,然后可以分配4KB得区块与两个毗连得512字节得块。
除了维持一个位图得自由块,一个目前正在使用得区块内也将保持额外得状态。
当所有得分块成为空闲时候,该分配器将不得不审查这笔额外分配状态分块与凝聚得分块,以获取更大得块.
11、6设想一个在磁盘上得文件系统得逻辑块与物理块得大小都为512B.假设每个文件得信息已经在内存中,对3种分配方法(连续分配,链接分配与索引分配),分别回答下面得问题:
A,逻辑地址到物理地址得映射在系统中怎么样进行得?
(对于索引分配,假设文件总就是小于512块长)
B,假设现在处在逻辑块10(最后访问得块就是块10),限制想访问块4,那么必须从磁盘上读多少个物理块)
答:
设想Z就是开始文件得地址(块数),
a、毗连.分裂逻辑地址由512得X与Y所产生得份额与其余得分别。
1:
将X加入到Z获得物理块号码.Y就是进入该区块得位移.
2、:
1
b、联系。
分裂逻辑地址由511得X与Y所产生得份额与其余得分别。
1、:
找出联系名单(将X+1块)。
Y+1就是到最后物理块得位移
2、:
4
c、收录。
分裂得逻辑地址由512得X与Y所产生得份额与其余得分别。
1、:
获得该指数块到内存中。
物理块地址载于该指数在所在地块10,Y就是到理想得物理块得位移。
2、:
2
12、2 假设一个错哦盘驱动器有5000个柱面,从0到4999,驱动器正在为柱面143得一个请求提供服务,且