理。
系统在作业进入后备状态时由作业注册程序为作业建立JCB,从而使该作业可以被作业调度程序感知而实施管理。当作业执行完毕进入完成状态时由“终止作业”程序撤消其JCB,释放有关资源,该作业就被撤消而不再存在了。不同的系统JCB所包含的信息有所不同,这取决于系统对作业的调度要求。通常JCB包含如下内容:
(1)资源要求:要求运行时间、最迟完成时间、需要的内存容量、外设的种类及数量等。 (2)资源使用情况:作业进入系统的时间、开始运行时间、已运行时间、内存地址、外部设备号等。
(3)作业控制方式:联机作业控制还是脱机作业控制。
(4)作业类型:是终端型作业还是批量型作业,是I/O繁忙型作业还是CPU繁忙型作业。 8.现有两道作业同时执行,一道以计算为主,另一道以输入输出为主,你将怎么赋予作业进程占有处理器的优先级?为什么?
答:优先级调度算法的依据是:
(1)对某些时间要求紧迫的作业给予优光照顾;
(2)为充分发挥外部设备的作用,优先照顾I/O繁忙的作业;
(3)为保证终端会话型作业有合理的响应时间,应优先照顾终端会话型作业。 因此,应赋予输入输出为主的作业比以计算为主的作业更高的优先级。 9.什么是作业?作业步?作业流?
答:作业是用户一次请求计算机系统为其完成任务所做工作的总和。作业步是处理作业各个独立的子任务,即一个作业处理过程中相对独立的加工步骤。在批处理系统中把若干作业依次放在输入设备上,并在操作系统控制下将其送入辅存,形成一个作业流,也称为输入流。作业流是出若干作业组成的。
10.在一个分时系统中,若为每个进程分配时间片可以随进程的执行特点和执行情况而变化。现有两类进程,一类进程经常产生中断,另一类进程中断次数很少,请问如何为这两类进程分配时间片?为什么?更进一步,它们的优先级如何确定?
答:系统分配时间片,经常产生中断的进程应分配较短的时间片,很少产生中断的进程应分配较长的时间片。这是因为经常中断的进程连续运行的时间相对较短,即使给它分配较长的时间片,也可能在时间片未用完之前产生中断,这样不利于CPU效率提高;而中断次数很少的进程,它连续运行的时间较长,为减少调度次数应分配较长的时间片,尽可能让它较长时间占用CPU,可减少系统在调度上的开销。
经常产生中断的进程的优先级应高于中断次数少的进程的优先级。因为这类进程经常 产生中断,当它占用CPU后因某事件主动让出CPU时,就可以让其他进程使用CPU,使 CPU与其他部件并行工作。
11.考虑一个有3类资源的系统,系统所有可用资源为(4,2,2),进程A申请(2.2,1),可满足;进程B请求(1,0,1),可以满足,若A再请求(0,0,1),则被阻塞。此时,若C请求(2,0,0),它可以分到剩余资源(1,0,0),并从A已分到的资源中获得一个资源,于是进程A的分配向量变成(1,2,1),而需求向量变成(1,0,1)。
(1)这种分配方式会导致死锁吗?如果会,请举一个例子;如果不会,请说明产生死锁的哪一个必要条件不成立? (2)这种分配方式会导致某些进程的无限等待吗?为什么?
答:(1)这种分配方式不会导致死锁。因为死锁的必要条件:请求并保持条件不成立。 (2)有可能导致进程A的无限等待。因为进程A因处于等待状态而被剥夺了资源,今后若进程B、C释放所占资源,但后续进程源源不断到来,相继申请并占有进程A所需的资源.则进程A有可能进入无限等待状态。
12.试说明资源的静态分配策略能防止死锁的原因。
答:资源静态分配策略要求每个进程在开始执行前申请所需的全部资源,仅在系统为之分配了所需的全部资源后,该进程才开始执行。这样,进程在执行过程中不再申请资源,从而破坏了死锁的四个必要条件之一\占有并等待条件\,从而防止死锁的发生。 13.采用资源顺序分配法可破坏死锁的必要条件之一:“环路等待条件”, 简述该方法的思想,并说明这种方法为什么能预防死锁。
答:首先给系统中的资源编号,即作一个函数F:R→N,其中R为资源类型集合,N为自然数集合,进程只能按编号从小到大的顺序申请资源,否则拒绝分配。若存在循环等待的一组进程.不妨记为{P0,P1?Pa }且Pi拥有资源ri,则根据顺序分配原则有:F(r0)<F(r1)<?F(ra)<F(r0),即F(r0)<F(r0) 显然与资源编号的唯一性相矛盾。故不会存在“环路等待”。
14.为什么说多级反馈队列调度算法能较好地满足各类用户的需要?
答:多级反馈队列调度算法能较好地满足各种类型用户的需要。对终端型用户而言, 由于终端型作业用户所提交的作业大部分属于交互型作业,作业通常比较短小,系统只要能 使这些作业在第一队列所规定的时间片内完成,便可使终端型作业用户感到满意;对于短批处理作业用户而言,他们的作业开始时像终端型作业一样,如果仅在第一队列中执行一个时间片即可完成,便可获得与终端型作业一样的响应时间,对于稍长的作业,通常也只需要在第二队列和第三队列中各执行一个时间片即可完成,其周转时间仍然较短;对于长批处理作业用户而言,他们的长作业将依次在第1,2,?,直到第n个队列中运行,然后再按轮转方式运行,用户不必担心其作业长期得不到处理。 15.为什么说采用有序资源分配法不会产生死锁?
答:为了便于说明,不妨设系统中有m类资源,n个进程,分别用R1,R2,?,Rm(1,2,?,m可看作资源编号)和P1,P2,?Pn表示。根据有序资源分配法可知,进程申请资源时必须按照资源编号的升序进行,即任何进程在占有了R1类资源后,再申请的资源Rj的编号j一定大于1。因此在任一时刻,系统中至少存在一个进程Pk,它占有了较高编号的资源Rh,且它继续请求的资源必然是空闲的,因而Pk可以一直向前推进直至完成,当Pk运行完成后即会释放它占有的所有资源;在Pk完成之后,剩下的进程集合中同样会存在一个进程,它占有了较高编号的资源,且它继续请求的资源必然是空闲的,因而它可以一直向前推进直至完成,以此类推,所有进程均可运行完成,故不会发生死锁。
16.有相同类型的5个资源被4个进程所共享,且每个进程最多需要2个这样的资源就可以运行完毕。试问该系统是否会由于对这种资源的竞争而产生死锁。
答:该系统不会由于对这种资源的竞争而产生死锁。因为在最坏情况下,每个进程都需要2个这样的资源,且每个进程都已申请到了1个资源,那么系统中还剩下1个可用资源。无论系统为了满足哪个进程的资源申请而将资源分配给该进程,都会因为该进程已获得了它所需要的全部资源而确保它运行完毕,从而可将它占有的2个资源归还给系统,这就保证了其余三个进程能顺利运行。由此可知,该系统不会由于对这种资源的竞争而产生死锁。 三.简答题
1.操作系统中存储器管理的主要功能是什么?什么叫虚拟存储器,并举例说明操作系统是如何实现虚拟内存的?
答:存储器管理的主要功能是:内存分配,地址映射,内存保护,内存扩充。 虚拟存储器是用户能作为可编址内存对待的存储空间,在这种计算机系统中虚地址被映象成实地址。简单地说,虚拟存储器是由操作系统提供的一个假想的特大存储器,它通过把主、辅存统一起来管理,结用户造成一种仿佛系统内有巨大主存供用户使用的假象。例如页式虚存管理,一道作业被划分成若干页,其中较活跃的几页放在内存,而其余不活跃的页被放在
辅存,当需要访问辅存内的页时,就可通过页面调度将其调人内存运行;但用户感觉不到这种变化,他会以为作业的所有部分都存在于主存。这样可以让更多的作业进入主存,提高系统的效率。
2.存储管理的基本任务是什么?
答:(1)管理内存空间;
(2)进行虚拟地址(或:逻辑地址)到物理地址的转换; (3)实现内存的逻辑扩充;
(4)完成内存信息的共享和保护。
3.覆盖技术与虚拟存储技术有何本质不同?交换技术与虚存中使用的调入/调出技术有何相同与不同之处?
答:覆盖技术中,覆盖段由用户设计,用户自身对内存的划分要参与操作;虚拟存储技术是由系统提供逻辑空间给用户使用,而用户并不真正了解内存的情况,物理空间的划分和管理由系统完成。
交换技术是将内存中处于就绪队列或等待队列的进程暂时调出内存,放入磁盘空间,以便让更多的作业被选择进入内存,提高系统效率。虚存中使用的调入/调出技术是利用磁盘空间对内存进行扩充,提供一个大于实际内存的逻辑空间给用户使用。它们的相同之处是:都将本应处于实际内存的内容调至辅存,提高系统效率;不同之处是;交换技术并未提供大于实际内存空间的逻辑空间以供用户使用,该技术并不是直接面向用户的;而虚存技术则是提供更大的逻辑空间以供用户使用,是直接面向用户的。 4.简述固定分区和可变分区在管理方式上的区别。
答:固定分区的管理方式:分区的个数、大小均固;一个分区只放一个作业。可变分区的管理方式:分区大小和个数依作业情况而定;作业进入主存时才建分区。 5.试述缺页中断与一般中断的主要区别。
答:缺页中断作为中断,同样需要经历保护CPU现场、分析中断原因、转缺页中断处理程序进行处理、恢复CPU现场等步骤。但缺页中断又是一种特殊的中断,它与一般中断的主要区别是:
(1)在指令执行期间产生和处理中断信号。通常,CPU都是在一条指令执行完后去检查是否有中断请求到达。若有便去响应中断;否则继续执行下一条指令。而缺页中断是在指令执行期间,发现所要访问的指令或数据不在内存时产生和处理的。
(2)一条指令在执行期间可能产生多次缺页中断。例如,对于一条读取数据的多字节指令,指令本身跨越两个页面,假定指令后一部分所在页面和数据所在页面均不在内存,则该指令的执行至少产生两次缺页中断。
6.试述分页系统和分段系统的主要区别。
答:分页和分段有许多相似之处,比如两者都不要求作业连续存放。但在概念上两者 完全不同,主要表现在以下几个方面:
(1)页是信息的物理单位,分页是为了实现非连续分配,以便解决内存碎片问题,或者说分页是由于系统管理的需要。段是信息的逻辑单位,它含有一组意义相对完整的信息,分段的目的是为了更好地实现共享,满足用户的需要。
(2)页的大小固定且由系统确定,将逻辑地址划分为页号和页内地址是由机器硬件实现的,而段的长度却不固定,决定于用户所编写的程序,通常由编译程序在对源程序进行编译时根据信息的性质来划分。
(3)分页的作业地址空间是一维的;分段的地址空间是二维的。
7.假定占有m块(初始为空)的进程有一个页访问串,这个页访问串的长度为p,其中涉及到n个不同的页号。对于任何页面替换算法,求出;
(1)缺页中断次数的下界是多少? (2)缺页中断次数的上界是多少?
答:(1)缺页中断次数的下界是m
(2)缺页中断次数的上界是p。
8.引起系统抖动的原因是什么?系统如何检测抖动?一旦检测出抖动后,系统怎样消除它? 答:由于分配给进程的页面数少于进程所需的最低页面数,导致出现接连不断的缺页中断,从而引起系统抖动。系统可以利用将CPU的利用率与多道程序的度数进行比较的方法来检测系统抖动,一旦发生抖动,可通过减少多道程序度数的办法来消除它。 9.试说明多级存储方法与虚拟存储方法的主要区别。
答:所谓多级存储方法是指在主存以外再配上后援存储器来补充主存,先把用户作业放在后援存储器上,然后等到要真正执行它时再设法把这部分作业调人主存.它们之间的调度由用户自己负责,这造成用户使用上的困难。由于系统不同,其主存大小也会随之不同,用户往往不得不修改程序。在批量分时系统中多个用户同时共享主存、因此,用户就不能直接参与主存和后援存储器之间的调度了。这就需要由操作系统来对它进行统一的、自动的管理,并采用虚拟存储技术;有了虚拟存储器之后,用户就不感到主存和后援存储器之间的区别,而在统一的逻辑存储器上安排程序和数据。由于虚拟存储器比实际存储器大得多,因而可以同时装入许多作业.
10.在页式虚存管理的页面替换算法中,对于任何给定的物理内存块数,在什么样的引用 串情况下.FIFO与LRU替换算法一样(即缺页中断和中断时被替换的页完全一样)?举例说明。
答:条件是分配的物理内存块数任意,若要FIFO与LRU算法完全一样,则访问串必须具有其特点。考虑到FIFO是替换最早进入主存的页;LRU是替换上次访问距当前最远的页.二者要相当,则首先进入主存的页在该次缺页中断之前不应被再次访问,也即某页被替换出主存前,仅被访问过一次(非连续的).由此可得,访问串的规律为: 当发生缺页中断时,最先进入主存的页仅被访问一次。 例如:分配的物理块数为4,有如下访问串: 1 2 3 4 1 2 3 6
当6号页被调人主存时,应在1,2,3,4页中选择一个淘汰,FIFO中应选择的是1号页,而LRU会选择4号页,原因是1号页被再次访问,不是上次访问距当前最远的页.但若把对1号页的第二次请求去掉,则LRU也会选择1号页,因为此时1号页成为上次访问距当前最远的页。据此类推,整个访问串中每一个页号都应有这种特点,所以最后的答案为:访问串中所有页号均不同,若相同则必须排列在一起。
11.什么叫地址重定位?动态地址重定位的特点是什么?
答:重定位是指作业装入与其逻辑地址空间不同的物理空间所引起的地址变换过程。 动态地址重定位的特点是:(1)由硬件实现;(2)在程序运行过程中进行地址变换。
12.在内存管理中“内零头”和“外零头”各指的是什么?在固定式分区分配、可变式分区分配、页式虚拟存储系统、段式虚拟系统中,各会存在何种零头?为什么?
答:内零头(又称内部碎片):若存储单元长度为n,该块存储的作业长度为m,则剩下的长度为(n—m)的空间称为该单元的内部碎片;若存储单元长度为n,在该系统所采用的调度算法下较长时间内无法选出一道长度不超过该块的作业,则称该块为外零头(外部碎片)。 在固定式分区分配中两种零头均会存在,因为空间划分是固定的,无论作业长短,存储单元均不会随之变化,若作业短而存储块长则产生内零头,若作业长而存储块短则产生外零头。
在可变式分区分配中只有外零头而无内零头,因为空间划分是依作业长度进行的,要多少给多少,但剩下的的部分太短而无法再分则成为外零头。
页式虚存中会存在内零头而无外零头,因存储空间与作业均分为等长单元,所以不存在无法分配的单元,但作业长度并不刚好为页面大小的整数倍,因此在最后一页会有剩余空间,即为内零头。
段式虚存中会存在外零头而无内零头,因段式的空间划分类似于可变分区分配,根据段长分配,要多少给多少,但会剩余小空间无法分配,则为外零头。
13.考虑一个请求分页系统,测得如下的时间利用率:CPU:20%,分页磁盘:97.7%,其它外设:5%。下列措施中哪个(些)可改善CPU的利用率?说明理由。 更换速度更快的CPU;
更换更大容量的分页磁盘; 增加内存中的用户进程数; 挂起内存中某个(些)用户进程
采用更快的I/O设备。 答:CPU的利用率指的是系统整个运行时间里,CPU有多少时间是真正处理用户的数据。由于磁盘利用率已达97.70%,说明磁盘空间紧张而影响CPU利用率,更换大容量的磁盘可以提高CPU利用率。慢速外设往往同快速CPU不匹配,因此提高I/O设备的速度,应当可以改善CPU的效率。另外,内存当中进程数增加,可令CPU空闲时间减少,也可以在一定程度上提高CPU的利用率。
14.在各种存储管理方案中,哪些方案适合于虚拟存储管理?
答:页式、段式和段页式存储管理都适合进行虚拟存储管理,因为它们都不需要作业在主存中连续存放,这样就可以实现作业的部分装入,进而通过多次对换的方式使作业得以运行。而单用户连续方式、固定分区和可变分区方式都不能实现虚拟存储管理。 15.简要比较各种存储管理方法的功能和实现特点。
答:列表比较如下: