操作系统 第三章第四章第九章课后习题整理.docx
- 文档编号:9632937
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:22
- 大小:39.84KB
操作系统 第三章第四章第九章课后习题整理.docx
《操作系统 第三章第四章第九章课后习题整理.docx》由会员分享,可在线阅读,更多相关《操作系统 第三章第四章第九章课后习题整理.docx(22页珍藏版)》请在冰豆网上搜索。
操作系统第三章第四章第九章课后习题整理
第3章进程描述和控制
复习题:
什么是指令跟踪?
答:
指令跟踪是指为该进程而执行的指令序列。
通常那些事件会导致创建一个进程?
答:
新的批处理作业;交互登录;操作系统因为提供一项服务而创建;由现有的进程派生。
(详情请参考表3.1)
对于图3.6中的进程模型,请简单定义每个状态。
答:
运行态:
该进程正在执行。
就绪态:
进程做好了准备,只要有机会就开始执行。
阻塞态:
进程在某些事件发生前不能执行,如I/O操作完成。
新建态:
刚刚创建的进程,操作系统还没有把它加入到可执行进程组中。
退出态:
操作系统从可执行进程组中释放出的进程,或者是因为它自身停止了,或者是因为某种原因被取消。
抢占一个进程是什么意思?
答:
处理器为了执行另外的进程而终止当前正在执行的进程,这就叫进程抢占。
什么是交换,其目的是什么?
答:
交换是指把主存中某个进程的一部分或者全部内容转移到磁盘。
当主存中没有处于就绪态的进程时,操作系统就把一个阻塞的进程换出到磁盘中的挂起队列,从而使另一个进程可以进入主存执行。
为什么图3.9(b)中有两个阻塞态?
答:
有两个独立的概念:
进程是否在等待一个事件(阻塞与否)以及进程是否已经被换出主存(挂起与否)。
为适应这种2*2的组合,需要两个阻塞态和两个挂起态。
列出挂起态进程的4个特点。
答:
1.进程不能立即执行。
2.进程可能是或不是正在等待一个事件。
如果是,阻塞条件不依赖于挂起条件,阻塞事件的发生不会使进程立即被执行。
3.为了阻止进程执行,可以通过代理把这个进程置于挂起态,代理可以是进程自己,也可以是父进程或操作系统。
4.除非代理显式地命令系统进行状态转换,否则进程无法从这个状态中转移。
对于哪类实体,操作系统为了管理它而维护其信息表?
答:
内存、I/O、文件和进程。
列出进程控制块中的三类信息。
答:
进程标识,处理器状态信息,进程控制信息。
为什么需要两种模式(用户模式和内核模式)?
答:
用户模式下可以执行的指令和访问的内存区域都受到限制。
这是为了防止操作系统受到破坏或者修改。
而在内核模式下则没有这些限制,从而使它能够完成其功能。
操作系统创建一个新进程所执行的步骤是什么?
答:
1.给新进程分配一个唯一的进程标识号。
2.给进程分配空间。
3.初始化进程控制块。
4.设置正确的连接。
5.创建或扩充其他的数据结构。
中断和陷阱有什么区别?
答:
中断与当前正在运行的进程无关的某些类型的外部事件相关,如完成一次I/O操作。
陷阱与当前正在运行的进程所产生的错误或异常条件相关,如非法的文件访问。
举出中断的三个例子。
答:
时钟终端,I/O终端,内存失效。
模式切换和进程切换有什么区别?
答:
发生模式切换可以不改变当前正处于运行态的进程的状态。
发生进程切换时,一个正在执行的进程被中断,操作系统指定另一个进程为运行态。
进程切换需要保存更多的状态信息。
第四章线程、对称多处理和微内核
复习题:
表3.5列出了在一个没有线程的操作系统中进程控制块的基本元素。
对于多线程系统,这些元素中那些可能属于线程控制块,那些可能属于进程控制块?
答:
这对于不同的系统来说通常是不同的,但一般来说,进程是资源的所有者,而每个线程都有它自己的执行状态。
关于表3.5中的每一项的一些结论如下:
进程标识:
进程必须被标识,而进程中的每一个线程也必须有自己的ID。
处理器状态信息:
这些信息通常只与进程有关。
进程控制信息:
调度和状态信息主要处于线程级;数据结构在两级都可出现;进程间通信和线程间通信都可以得到支持;特权在两级都可以存在;存储管理通常在进程级;资源信息通常也在进程级。
请列出线程间的模式切换比进程间的模式切换开销更低的原因。
答:
包含的状态信息更少。
在进程概念中体现出的两个独立且无关的特点是什么?
答:
资源所有权和调度/执行。
给出在单用户多处理系统中使用线程的四个例子。
答:
前台和后台操作,异步处理,加速执行和模块化程序结构。
哪些资源通常被一个进程中的所有线程共享?
答:
例如地址空间,文件资源,执行特权等。
列出用户级线程优于内核级线程的三个优点。
答:
1.由于所有线程管理数据结构都在一个进程的用户地址空间中,线程切换不需要内核模式的特权,因此,进程不需要为了线程管理而切换到内核模式,这节省了在两种模式间进行切换(从用户模式到内核模式;从内核模式返回用户模式)的开销。
2.调用可以是应用程序专用的。
一个应用程序可能倾向于简单的轮询调度算法,而另一个应用程序可能倾向于基于优先级的调度算法。
调度算法可以去适应应用程序,而不会扰乱底层的操作系统调度器。
3.用户级线程可以在任何操作系统中运行,不需要对底层内核进行修改以支持用户级线程。
线程库是一组供所有应用程序共享的应用级软件包。
列出用户级线程相对于内核级线程的两个缺点。
答:
1.在典型的操作系统中,许多系统调用都会引起阻塞。
因此,当用户级线程执行一个系统调用时,不仅这个线程会被阻塞,进程中的所有线程都会被阻塞。
2.在纯粹的用户级进程策略中,一个多线程应用程序不能利用多处理技术。
内核一次只把一个进程分配给一个处理器,因此一次进程中只能有一个线程可以执行。
定义jacketing。
答:
Jacketing通过调用一个应用级的I/O例程来检查I/O设备的状态,从而将一个产生阻塞的系统调用转化为一个不产生阻塞的系统调用。
简单定义图4.8中列出的各种结构。
答:
SIMD:
一个机器指令控制许多处理部件步伐一致地同时执行。
每个处理部件都有一个相关的数据存储空间,因此,每条指令由不同的处理器在不同的数据集合上执行。
MIMD:
一组处理器同时在不同的数据集上执行不同的指令序列。
主/从:
操作系统内核总是在某个特定的处理器上运行,其他处理器只用于执行用户程序,还可能执行一些操作系统实用程序。
SMP:
内核可以在任何处理器上执行,并且通常是每个处理器从可用的进程或线程池中进行各自的调度工作。
集群:
每个处理器都有一个专用存储器,而且每个处理部件都是一个独立的计算机。
列出SMP操作系统的主要设计问题。
答:
同时的并发进程或线程,调度,同步,存储器管理,可靠性和容错。
给出在典型的单体结构操作系统中可以找到且可能是微内核操作系统外部子系统中的服务和功能。
答:
设备驱动程序,文件系统,虚存管理程序,窗口系统和安全服务。
列出并简单解释微内核设计相对于整体式设计的七个优点。
答:
一致接口:
进程不需要区分是内核级服务还是用户级服务,因为所有服务都是通过消息传递提供的。
可扩展性:
允许增加新的服务以及在同一个功能区域中提供多个服务。
灵活性:
不仅可以在操作系统中增加新功能,还可以删减现有的功能,以产生一个更小、更有效的实现。
可移植性:
所有或者至少大部分处理器专用代码都在微内核中。
因此,当把系统移植到一个处理器上时只需要很少的变化,而且易于进行逻辑上的归类。
可靠性:
小的微内核可以被严格地测试,它使用少量的应用程序编程接口(API),这就为内核外部的操作系统服务产生高质量的代码提供了机会。
分布式系统支持:
微内核通信中消息的方向性决定了它对分布式系统的支持。
面向对象操作系统环境:
在微内核设计和操作系统模块化扩展的开发中都可以借助面向对象方法的原理。
解释微内核操作系统可能存在的性能缺点。
答:
通过微内核构造和发送信息、接受应答并解码所花费的时间比一次系统调用的时间要多。
列出即使在最小的微内核操作系统中也可以找到的三个功能。
答:
低级存储器管理,进程间通信(IPC)以及I/O和中断管理。
在微内核操作系统中,进程或线程间通信的基本形式是什么?
答:
消息。
习题:
一个进程中的多个线程有以下两个优点:
(1)在一个已有进程中创建一个新线程比创建一个新进程所需的工作量少;
(2)在同一个进程中的线程间的通信比较简单。
请问同一个进程中的两个线程间的模式切换与不同进程中的两个线程间的模式切换相比,所需的工作量是否要少?
答:
是的,因为两个进程间的模式切换要储存更多的状态信息。
在比较用户级线程和内核级线程时曾指出用户级线程的一个缺点,即当一个用户级线程执行系统调用时,不仅这个线程被阻塞,而且进程中的所有线程都被阻塞。
请问这是为什么?
答:
因为对于用户级线程来说,一个进程的线程结构对操作系统是不可见的,而操作系统的调度是以进程为单位的。
在OS/2中,其他操作系统中通用的进程概念被分成了三个独立类型的实体:
会话、进程和线程。
一个会话是一组与用户接口(键盘、显示器、鼠标)相关联的一个或多个进程。
会话代表了一个交互式的用户应用程序,如字处理程序或电子表格,这个概念使得PC用户可以打开一个以上的应用程序,在屏幕上显示一个或更多个窗口。
操作系统必须知道哪个窗口,即哪个会话是活跃的,从而把键盘和鼠标的输入传递个相应的会话。
在任何时刻,只有一个会话在前台模式,其他的会话都在后台模式,键盘和鼠标的所有输入都发送给前台会话的一个进程。
当一个会话在前台模式时,执行视频输出的进程直接把它发送到硬件视频缓冲区。
当一个会话在后台时,如果该会话的任何一个进程的任何一个线程正在执行并产生屏幕输出,则这个输出被送到逻辑视频缓冲区;当这个会话返回前台时,屏幕被更新,为新的前台会话反映出逻辑视频缓冲区中的当前内容。
有一种方法可以把OS/2中与进程相关的概念的数目从3个减少到2个。
删去会话,把用户接口(键盘、显示器、鼠标)和进程关联起来。
这样,在某一时刻,只有一个进程处于前台模式。
为了进一步地进行构造,进程可以被划分成线程。
使用这种方法会丧失什么优点?
如果继续使用这种修改方法,应该在哪里分配资源(存储器、文件等):
在进程级还是线程级?
答:
会话的使用非常适合个人计算机和工作站对交互式图形接口的需求。
它为明确图形输出和键盘/鼠标输入应该被关联到什么位置提供了一个统一的机制,减轻了操作系统的工作负担。
应该和其他的进程/线程系统一样,在进程级分配地址空间和文件。
考虑这样一个环境,用户级线程和内核级线程呈一对一的映射关系,并且允许进程中的一个或多个线程产生会引发阻塞的系统调用,而其他线程可以继续运行。
解释为什么这个模型可以使多线程程序比在单处理器机器上的相应的单线程程序运行速度更快?
答:
问题在于机器会花费相当多的时间等待I/O操作的完成。
在一个多线程程序中,可能一个内核级线程会产生引发阻塞的系统调用,而其他内核级线程可以继续执行。
而在单处理器机器上,进程则必须阻塞知道所有的系统调用都可以继续运行。
参考:
[LEWI96]
如果一个进程退出时,该进程的某些线程仍在运行,请问他们会继续运行吗?
答:
不会。
当一个进程退出时,会带走它的所有东西——内核级线程,进程结构,存储空间——包括线程。
参考:
[LEWI96]
OS/390主机操作系统围绕着地址空间和任务的概念构造。
粗略说来,一个地址空间对应于一个应用程序,并且或多或少地对应于其他操作系统中的一个进程;在一个地址空间中,可以产生一组任务,并且它们可以并发执行,这大致对应于多线程的概念。
管理任务结构有两个主要的数据结构。
地址空间控制块(ASCB)含有OS/390所需要的关于一个地址空间的信息,而不论该地址空间是否在执行。
ASCB中的信息包括分派优先级、分配给该地址空间的实存和虚存、该地址空间中就绪的任务数以及是否每个都被换出。
一个任务控制块(TCB)标识一个正在执行的用户程序,它含有在一个地址空间中管理该任务所需要的信息,包括处理器状态信息、指向该任务所涉及到的程序的指针和任务执行结构。
ASCB是在系统存储器中保存的全局结构,而TCB是保存在各自的地址空间中的局部结构。
请问把控制信息划分成全局和局部两部分有什么好处?
答:
关于一个地址空间的尽可能多的信息可以随地址空间被换出,从而节约了主存。
一个多处理系统有8个处理器和20个附加磁带设备。
现在有大量的作业提交给该系统,完成每个作业最多需要4个磁带设备。
假设每个作业开始运行时只需要3个磁带设备,并且在很长时间内都只需要这3个设备,而只是在最后很短的一段时间内需要第4个设备以完成操作。
同时还假设这类作业源源不断。
假设操作系统中的调度器只有当4个磁带设备都可用时才开始一个作业。
当作业开始时,4个设备立即被分配给它,并且直到作业完成时才被释放。
请问一次最多可以同时执行几个作业?
采用这种策略,最多有几个磁带设备可能是空闲的?
最少有几个?
给出另外一种策略,要求其可以提高磁带设备的利用率,并且同时可以避免系统死锁。
分析最多可以有几个作业同时执行,可能出现的空闲设备的范围是多少。
答:
采用一个保守的策略,一次最多同时执行20/4=5个作业。
由于分配各一个任务的磁带设备最多同时只有一个空闲,所以在同一时刻最多有5个磁带设备可能是空闲的。
在最好的情况下没有磁带设备空闲。
为了更好的利用磁设备,每个作业在最初只分配三个磁带设备。
第四个只有的需要的时候才分配。
在这种策略中,最多可以有20/3=6个作业同时执行。
最少的空闲设备数量为0,最多有2个。
参考:
AdvancedComputerArchitectrue,K.Hwang,1993.
在描述Solaris用户级线程状态时,曾表明一个用户级线程可能让位于具有相同优先级的另一个线程。
请问,如果有一个可运行的、具有更高优先级的线程,让位函数是否还会导致让位于具有相同优先级或更高优先级的线程?
答:
任何一个可能改变线程优先级或者使更高优先级的线程可运行的调用都会引起调度,它会依次抢占低优先级的活跃线程。
所以,永远都不会存在一个可运行的、具有更高优先级的线程。
参考:
[LEVI96]
第九章单处理器调度
复习题
9.1简要描述三种类型的处理器调度。
长程调度:
决定加入到待执行的进程池中;中程调度:
决定加入到部分或全部在主存中的进程集合中;短程调度:
决定哪一个可用进程将被处理器执行。
9.2在交互式操作系统中,通常最重要的性能要求是什么?
反应时间
9.3周转时间和响应时间有什么区别?
周转时间是一个要求花费在系统上的包括等待时间和服务时间的总的时间。
响应时间对一个交互进程,这是指从提交一个请求到开始接受响应之间的时间间隔。
通常进程在处理该请求的同时,就开始给用户产生一些输出。
9.4对进程调度,较小的优先级值表示较低的优先级还是较高的优先级?
在UNIX和许多其他系统中,大的优先级值表示低优先级进程。
许多系统,比如WINDOWS,刚好相反,大数值表示高优先级。
9.5抢占式和非抢占式调度有什么区别?
非抢占:
在这种情况下,一旦进程处于运行态,他就不断执行直到终止,或者为等待I/O或请求某些操作系统服务而阻塞自己。
抢占:
当前正在运行的进程可能被操作系统中断,并转移到就绪态。
关于抢占的决策可能是在一个新进程到达时,或者在一个中断发生后把一个被阻塞的进程置为就绪态时,或者基于周期性的时间中断。
9.6简单定义FCFS调度。
当每个进程就绪后,它加入就绪队列。
当当前正在运行的进程停止执行时,选择在就绪队列中存在时间最长的进程运行。
9.7简单定义轮转调度
以一个周期性间隔产生时钟中断,当中断产生时,当前正在运行的的进程被置于就绪队列中,然后基于FCFS策略选择下一个就绪作业运行。
9.8简单定义最短进程优先调度。
这是一个非抢占的策略,其原则是下一次选择所需处理时间最短的进程。
9.9简单定义最短剩余时间调度。
最短剩余时间是针对SPN增加了抢占机制的版本。
在这种情况下,调度器总是选择预期剩余时间最短的进程。
当一个新进程加入到就绪队列时,他可能比当前运行的进程具有更短的剩余时间,因此,只有新进程就绪,调度器就可能抢占当前正在运行的进程。
9.10简单定义最高响应比优先调度。
在当前进程完成或被阻塞时,选择R值最大的就绪进程。
R=(w+s)/s,w等待处理器的时间,s期待的服务时间。
9.11简单定义反馈调度。
调度基于抢占原则并且使用动态优先级机制。
当一个进程第一次进入系统时,它被放置在RQ0。
当它第一次被抢占后并返回就绪状态时,它被防止在RQ1。
在随后的时间里,每当它被抢占时,它被降级到下一个低优先级队列中。
一个短进程很快会执行完,不会在就绪队列中降很多级。
一个长进程会逐级下降。
因此,新到的进程和短进程优先于老进程和长进程。
在每个队列中,除了在优先级最低的队列中,都使用简单的FCFS机制。
一旦一个进程处于优先级最低的队列中,它就不可能再降低,但是会重复地返回该队列,直到运行结束。
习题
9.1考虑下面的进程集合:
进程名
到达时间
处理时间
A
0
3
B
1
5
C
3
2
D
9
5
E
12
5
对这个集合,给出类似于表9.5和图9.5的分析。
每格代表一个时间单位,方框中的数表示当前运行的进程
A
A
A
B
B
B
B
B
C
C
D
D
D
D
D
E
E
E
E
E
A
B
A
B
C
A
B
C
B
D
B
D
E
D
E
D
E
D
E
E
A
A
A
B
B
B
B
C
C
B
D
D
E
D
E
E
E
E
D
E
A
A
A
C
C
B
B
B
B
B
D
D
D
D
D
E
E
E
E
E
A
A
A
C
C
B
B
B
B
B
D
D
D
D
D
E
E
E
E
E
A
A
A
B
B
B
B
B
C
C
D
D
D
D
D
E
E
E
E
E
A
B
A
C
B
C
A
B
B
D
B
D
E
D
E
D
E
D
E
E
A
B
A
A
C
B
B
C
B
B
D
D
D
D
D
E
E
D
E
E
第一到第八行依次是FCFSRR,q=1RR,q=4SPNSRTHRRN
Feedback,q=1Feedback,q=2(i)
ABCDE
Ta013912
Ts35255
FCFSTf38101520
Tr3.007.007.006.008.006.20
Tr/Ts1.001.403.501.201.601.74
RRq=1Tf6.0011.008.0018.0020.00
Tr6.0010.005.009.008.007.60
Tr/Ts2.002.002.501.801.601.98
RRq=4Tf3.0010.009.0019.0020.00
Tr3.009.006.0010.008.007.20
Tr/Ts1.001.803.002.001.601.88
SPNTf3.0010.005.0015.0020.00
Tr3.009.002.006.008.005.60
Tr/Ts1.001.801.001.201.601.32
SRTTf3.0010.005.0015.0020.00
Tr3.009.002.006.008.005.60
Tr/Ts1.001.801.001.201.601.32
HRRNTf3.008.0010.0015.0020.00
Tr3.007.007.006.008.006.20
Tr/Ts1.001.403.501.201.601.74
FBq=1Tf7.0011.006.0018.0020.00
Tr7.0010.003.009.008.007.40
Tr/Ts2.332.001.501.801.601.85
FBTf4.0010.008.0018.0020.00
q=2iTr4.009.005.009.008.007.00
Tr/Ts1.331.802.501.801.601.81
9.2对下面的集合重复习题9.1的要求
进程
到达时
处理时间
A
0
1
B
1
9
C
2
1
D
3
9
A
B
B
B
B
B
B
B
B
B
C
D
D
D
D
E
E
E
E
E
A
B
C
B
D
B
D
B
D
B
D
B
D
B
D
D
E
D
E
E
A
B
B
B
B
C
B
B
B
B
D
D
D
D
B
E
E
E
D
E
A
B
B
B
B
B
B
B
B
B
C
D
D
D
D
E
E
E
E
E
A
B
C
B
B
B
B
B
B
B
B
D
D
D
D
E
E
E
E
E
A
B
B
B
B
B
B
B
B
B
C
D
D
D
D
E
E
E
E
E
A
B
C
D
B
D
B
D
B
D
B
D
B
D
B
D
E
D
E
E
A
B
C
D
B
B
D
D
B
B
B
B
D
D
D
E
E
D
E
E
ABCD
Ta0123
Ts1919
FCFSTf1.0010.0011.0020.00
Tr1.009.009.0017.009.00
Tr/Ts1.001.009.001.893.22
RRq=1Tf1.0018.003.0020.00
Tr1.0017.001.0017.009.00
Tr/Ts1.001.891.001.891.44
RRq=4Tf1.0015.006.0020.00
Tr1.0014.004.0017.009.00
Tr/Ts1.001.564.001.892.11
SPNTf1.0010.0011.0020.00
Tr1.009.009.0017.009.00
Tr/Ts1.001.009.001.893.22
SRTTf1.0011.003.0020.00
Tr1.0010.001.0017.009.00
Tr/Ts1.001.111.001.891.25
HRRNTf1.0010.0011.0020.00
Tr1.009.009.0017.009.00
Tr/Ts1.001.009.001.89
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 第三章第四章第九章课后习题整理 第三 第四 第九 课后 习题 整理