操作系统第四章作业

操作系统第四章作业

操作系统第64-65页 6、7两题。

1.某进程,若它对页面的访问串为:5 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 5 0

??试用LRU、FIFO两种算法实现页面更换,并给出各自的缺页次数。(设该进程在内存中占四个页架)答:采用LRU算法,系统的淘汰过程:

5 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 5 0

内存中包含

的页面:

被淘汰页:

是否缺页:

那么缺页次数F=________

采用FIFO算法,系统的淘汰过程:

5 0 1 2 0 3 0 4 2 3 0 3 2 1 2 0 1 5 0

内存中包含

的页面:

被淘汰页:

是否缺页:

那么缺页次数F=________

2.已知某系统采用虚拟页式存储管理,假定某进程P包含5页,操作系统为该进程在内存中固定分配了3个物理块,开始时为空。设该进程运行时对页面的访问顺序为:1,2,1,0,4,1,3,4,2,1,4,1在采用FIFO、LRU两种置换算法的情况下,分别会产生多少次缺页?被淘汰的页?

答:FIFO

1 2 1 0 4 1 3 4 2 1 4 1

依次被淘汰的页为:__________ F=_________

LRU

1 2 1 0 4 1 3 4 2 1 4 1

依次被淘汰的页为:__________ F=_________

操作系统_第四版_答案_孙钟秀主编 - 第四章

L : semaphore : = m ; / *控制读进程数信号量,最多m W : semaphore : = 1 ; begin cobegin process reader begin repeat SP ( L , 1 , 1 ; W , 1 , 0 ) ; Read the file ; SV ( L , 1 ) ; until false ; end process writer begin Repeat SP ( W , 1 , 1 ; L , rn , 0 ) ; Write the file ; SV ( W , 1 ) ; until false ; end coend end . 上述算法中,SP ( w , 1 , 0 )语句起开关作用,只要没有写者进程进入写,由于这时w = 1 , 读者进程就都可以进入读文件。但一旦有写者进程进入写时,其W = 0 ,则任何读者进程及其他写者进程就无法进入读写。sP ( w , 1 , 1 ; L , rn , 0 )语句表示仅当既无写者进程在写(这时w = 1)、又无读者进程在读(这时L = rn )时,写者进程才能进行临界区写文件。 第四章 作者:佚名来源:网络 1 在一个请求分页虚拟存储管理系统中,一个程序运行的页面走向是: 1 、 2 、 3 、 4 、2 、1 、 5 、 6 、2 、1 、2 、3 、 7 、6 、3 、2 、1 、2 、3 、6 。 分别用FIFO 、OPT 和LRU 算法,对分配给程序3 个页框、4 个页框、5 个页框和6 个页框的情况下,分别求出缺页中断次数和缺页中断率。 答: 只要把表中缺页中断次数除以20,便得到缺页中断率。

操作系统第4章作业答案

赵盈盈 93 第四章作业下 1. 某系统进程调度状态变迁图如图1所示(设调度方式为非剥夺方式),请说明: (1)什么原因将引起发生变迁2、变迁3、变迁4? 答:(1)当进程分配的时间片用完的时候,会发生变迁2;当进程必须等待某事件发生时候发生变迁3;进程锁等待事件已发生的时候,发生变迁4 (2)当观察系统中所有进程时,能够看到某一进程产生的一次状态变迁能引起另一进程作一次状态变迁,在什么情况下,一个进程的变迁3能立即引起另一个进程发生变迁1? 答:(2)当一个进程释放对cpu的占用,从运行队列进入等待队列,而且此时就绪序列不为空的时候,就会发生变迁1. (3)下述因果变迁是否要能发生?如果可能的话,在什么情况下发生? (a)3→1;(b)3→2;(c)2→1 答:(3)(a)3?1 能 当一个进程释放对cpu的占用,从运行队列进入等待队列,而且此时就绪序列不为空的时候,就会发生变迁1. (b) 3?2 不能 (c) 2?1 能 当一个进程释放对cpu的占用,从运行队列进入就绪队列,而且此时就绪序列不为空的时候,就会发生变迁1. 2. 若题1中所采用的调度方式为可剥夺方式,请回答题1中提出的问题。 答2:只有一个不同:2?1 当新建进程B比现在正在运行进程A的优先级高的时候,不管A的时间片有没有用完,都会发生变迁2,A从运行状态变成就绪状态,因此也会发生变迁1,B从就绪状态转变成运行状态。 3. 某系统的进程状态变迁图如图2所示(设该系统的进程调度方式为非剥夺方式),请说明: (1)一个进程发生变迁3的原因是什么?发生变迁2、变迁4的原因又是什么? 答(1):当运行进程因I/O而阻塞。这时候进程会从运行状态转到等待状态。发生变迁3。当高就绪队列为空是会发生变迁2。当等待使劲已经发生时,会发生变迁4。 (2)下述因果变迁是否会发生,如果有可能的话,在什么情况下发生? (a)2→1;(b)3→2;(c)4→5;(d)4→2;(e)3→5 答:(2)(a)2?1:是因果变迁,当进程从运行状态转为就绪,并进入低优先就绪,而此时,当高优先就绪为空时,就会发生变迁1. (b)3?2:不是因果变迁。而且不会发生。 (c)4?5:是因果变迁。当一个进程等待事件已发生,一个进程从等待队列进入高就绪队列。而此时,该进程优先级高于正在运行的进程优先级,就会发生变迁5. (d)4?2:不是因果变迁 (e)3?5:是因果变迁。当进程释放对cpu的占用,而高优先就绪又不为空时就会发生

操作系统第4章答案(上)

赵盈盈 93 第四章作业上 1. 解释名词:程序的顺序执行;程序的并发执行。 答:程序的顺序执行:一个具有独立功能的程序独占cpu直到得到最终结果的进程。 程序的并发执行:两个或两个以上程序在计算机系统中同时处于一开始执行且尚未结束的状态。 2. 什么是进程进程与程序的主要区别是什么 答:进程:进程是具有独立功能的程序关于某个数据集合的一次运行活动,进程是系统进行资源分配和调度的独立单元。 进程和程序的区别: ●程序是静态的,进程是动态的 ●进程有程序和数据两部分组成 ●进程具有生命周期,有诞生和消亡,是短暂的;而程序是相对长久的 ●进程能更真实的描述并发,而程序不行。 ●一个进程可以对应多个程序。一个程序可以对应多个进程 ●进程可以创建其他进程,程序不能 3. 图1所示,设一誊抄程序,将f中记录序列正确誊抄到g中,这一程序由get、copy、put三个程序段组成,它们分别负责获得记录、复制记录、输出记录。请指出这三个程序段对f中的m个记录进行处理时各种操作的先后次序,并画出誊抄此记录序列的先后次序图(假设f中有1,2,…,m个记录,s,t为设置在主存中的软件缓冲区,每次只能装一个记录)。 图1 改进后的誊抄过程 答:

4. 进程有哪几种基本状态试画出进程状态变迁图,并标明发生变迁的可能原因。 答:进程基本状态:运行、就绪、等待 就绪到运行:调度程序选择一个新的进程运行 运行到就绪:运行进程用完了时间片 或运行进程被中断,因为一个高优先级的进程处于就绪状态 运行到等待:OS 尚未完成服务 或对一资源的访问尚不能进行 或初始化I/O 且必须等待结果 或等待某一进程提供输入(IPC ) 等待到就绪:当所有的事件发生时 5. 什么是进程控制块它有什么作用 答:PCB :为了便于系统控制和描述进程的活动过程,在操作系统核心中为进程定义的一个专门的数据结构。 作用:系统用PCB 来控制和管理进程的调用,PCB 也是系统感知进程存在的唯一标志 G C G P C P G …C P

《操作系统》第4章教材习题解答#优选.

第4章存储管理 “练习与思考”解答 1.基本概念和术语 逻辑地址、物理地址、逻辑地址空间、内存空间、重定位、静态重定位、动态重定位、碎片、碎片紧缩、虚拟存储器、快表、页面抖动 用户程序经编译之后的每个目标模块都以0为基地址顺序编址,这种地址称为相对地址或逻辑地址。 内存中各物理存储单元的地址是从统一的基地址开始顺序编址的,这种地址称为绝对地址或物理地址。 由程序中逻辑地址组成的地址范围叫做逻辑地址空间,或简称为地址空间。 由内存中一系列存储单元所限定的地址范围称作内存空间,也称物理空间或绝对空间。 程序和数据装入内存时,需对目标程序中的地址进行修改。这种把逻辑地址转变为内存物理地址的过程称作重定位。 静态重定位是在目标程序装入内存时,由装入程序对目标程序中的指令和数据的地址进行修改,即把程序的逻辑地址都改成实际的内存地址。 动态重定位是在程序执行期间,每次访问内存之前进行重定位。这种变换是靠硬件地址转换机构实现的。 内存中这种容量太小、无法被利用的小分区称作“碎片”或“零头”。 为解决碎片问题,移动某些已分配区的内容,使所有进程的分区紧挨在一起,而把空闲区留在另一端。这种技术称为紧缩(或叫拼凑)。 虚拟存储器是用户能作为可编址内存对待的虚拟存储空间,它使用户逻辑存储器与物理存储器分离,是操作系统给用户提供的一个比真实内存空间大得多的地址空间。 为了解决在内存中放置页表带来存取速度下降的矛盾,可以使用专用的、高速小容量的联想存储器,也称作快表。 若采用的置换算法不合适,可能出现这样的现象:刚被换出的页,很快又被访问,为把它调入而换出另一页,之后又访问刚被换出的页,……如此频繁地更换页面,以致系统的大部分时间花费在页面的调度和传输上。此时,系统好像很忙,但实际效率却很低。这种现象称为“抖动”。 2.基本原理和技术

操作系统 第四章 课后题答案

第四章 1.为什么说多级反馈队列调度算法能较好地满足各类用户的需要(来自百度): 答案一: 多级反馈队列调度算法能较好地满足各种类型用户的需要。对终端型作业用户而言,由于他们所提交的大多属于交互型作业,作业通常比较短小,系统只要能使这些作业在第1级队列所规定的时间片内完成,便可使终端型作业用户感到满意;对于短批处理作业用户而言,他们的作业开始时像终端型作业一样,如果仅在第1级队列中执行一个时间片即可完成,便可以获得与终端型作业一样的响应时间,对于稍长的作业,通常也只需要在第2级队列和第3级队列中各执行一个时间片即可完成,其周转时间仍然较短;对于长批处理作业用户而言,它们的长作业将依次在第1,2,…,直到第n级队列中运行,然后再按时间片轮转方式运行,用户不必担心其作业长期得不到处理。 答案二:(惠州学院操作系统课后题)与答案一基本相似,可看做精简版。 答:(1)终端型作业用户提交的作业大多属于较小的交互型作业,系统只要使这些作业在第一队列规定的时间片内完成,终端作业用户就会感到满足。 (2)短批处理作业用户,开始时像终端型作业一样,如果在第一队列中执行一个时间片段即可完成,便可获得与终端作业一样的响应时间。对于稍长作业,通常只需在第二和第三队列各执行一时间片即可完成,其周转时间仍然较短。 (3)长批处理作业,它将依次在第1 ,2 ,…,n个队列中运行,然后再按轮转方式运行,用户不必担心其作业长期得不到处理。所以,多级反馈队列调度算法能满足多用户需求。 2.

分别对以上两个进程集合,计算使用先来先服务(FCFS)、时间片轮转法(时间片q=1)、短进程优先(SPN)、最短剩余时间优先(SRT,时间片q=1)、响应比高者优先(HRRN)及多级反馈队列(MFQ,第1个队列的时间片为1,第i(i<1)个队列的时间片q=2(i-1))算法进行CPU调度,请给出各进程的完成时间、周转时间、带权周转时间,及所有进程的平均周转时间和平均带权周转时间。

操作系统第四章

第四章 一、问答题 1、什么叫临界资源?什么叫临界区?对临界区的使用应符合哪些规则?(同步机制应遵循的准则是什么?) 2、死锁产生的4个必要条件是什么?它们是彼此独立的吗? 3、何谓死锁?为什么将所有资源按类型赋予不同的序号,并规定所有进程按资源序号递增的顺序申请资源后,系统便不会产生死锁? 4、什么是安全状态?怎么判断系统是否处于安全状态? 5、简述死锁定理和解除死锁的方法。 二、计算和证明 1、当前系统中出现下述资源分配情况: 利用银行家算法,试问如果进程P2提出资源请求Request(1,2,2,2)后,系统能否将资源分配给它? 2、若系统有某类资源m×n+1个,允许进程执行过程中动态申请该类资源,但在该系统上运行的每一个进程对该资源的占有量任何时刻都不会超过m+1个。当进程申请资源时只要有资源尚未分配完则满足它的申请,但用限制系统中可同时执行的进程数来防止发生死锁,你认为进程调度允许同时执行的最大进程数应该是多少?并说明原因。 3、n个进程共享某种资源R,该资源共有m个,每个进程一次一个地申请或释放资源。假设每个进程对该资源的最大需求量均小于m,且各进程最大需求量之和小于m+n,试证明在这个系统中不可能发生死锁。

4、当前某系统有同类资源7个,进程P,Q所需资源总数分别为5,4。它们向系统申请资源的次序和数量如表所示。回答: 问:采用死锁避免的方法进行资源分配,请你写出系统完成第3次分配后各进程占有资源量,在以后各次的申请中,哪次的申请要求可先得到满足? 5、一个计算机系统有6个磁带驱动器4个进程。每个进程最多需要n个磁带驱动器。问当n为什么值时,系统不会发生死锁?并说明理由 6、n个进程共享某种资源R,该资源共有m个可分配单位,每个进程一次一个地申请或释放资源单位。假设每个进程对该资源的最大需求量均小于m,问各进程最大需求量之和至少小于多少,系统不会发生死锁,并证明。 7. 考虑某一系统,它有4类资源R1,R2,R3,R4,有5个并发进程P0,P1,P2,P3,P4。请按照银行家算法回答下列问题; ⑴各进程的最大资源请求,已分配的资源矩阵和当前资源剩余向量如下图所示,计算各进程的需求向量组成的矩阵。 ⑵系统当前是处于安全状态吗? ⑶当进程P2申请的资源分别为(0,3,2,0)时,系统能立即满足吗?

操作系统习题第四章

第四章 一、问答题 1、同步机制应遵循的准则是什么? 2、死锁产生的4个必要条件是什么?它们是彼此独立的吗? 3、简述死锁的定义和死锁产生的原因。 4、简述死锁定理和解除死锁的方法。 5、什么是安全状态?怎么判断系统是否处于安全状态? 6、同步机制应遵循的准则是什么? 7、死锁产生的4个必要条件是什么?它们是彼此独立的吗? 二、计算题(共20分) 1、当前系统中出现下述资源分配情况: 利用银行家算法,试问如果进程P2提出资源请求Request(1,2,2,2)后,系统能否将资源分配给它? 2、当前某系统有同类资源7个,进程P,Q所需资源总数分别为5,4。它们向系统申请资源的次序和数量如表所示。回答: 问:采用死锁避免的方法进行资源分配,请你写出系统完成第3次分配后各进程占有资源量,在以后各次的申请中,哪次的申请要求可先得到满足?

3、一个计算机系统有6个磁带驱动器和4个进程。每个进程最多需要n个磁带驱动器。问当n为什么值时,系统不会发生死锁?并说明理由 4、若系统有某类资源m×n+1个,允许进程执行过程中动态申请该类资源,但在该系统上运行的每一个进程对该资源的占有量任何时刻都不会超过m+1个。当进程申请资源时只要有资源尚未分配完则满足它的申请,但用限制系统中可同时执行的进程数来防止发生死锁,你认为进程调度允许同时执行的最大进程数应该是多少?并说明原因。 5、设系统中有3种类型的资源A、B、C和5个进程P0、P1、P2、P3、P4,A 资源的数量为10,B资源的数量为5,C资源的数量为7。在T0时刻系统状态如下表所示。系统采用银行家算法实施死锁避免策略。(12分) ①. T0时刻是否为安全状态?若是,请给出安全序列。 ②在T0时刻若进程P1发出资源请求Request(1,0,2),是否能够实施资源分配? ③在②的基础上P4发出资源请求Request(3,3,0),是否能够实施资源分配? ④在③的基础上P0发出资源请求Request(0,2,0),是否能够实施资源分配? 五、应用题 1、如果有三个进程R、W1、W2共享一个缓冲器B,而B中每次只能存放一个数。当缓冲器中无数时,进程R可以将从输入设备上读入的数存放到缓冲器中。若存放到缓冲器中的是奇数,则允许进程W1将其取出打印;若存放到缓冲器中的是偶数,则允许进程W2将其取出打印。同时规定:进程R必须等缓冲区中的数被取出打印后才能再存放一个数;进程W1或W2对每次存入缓冲器的数只能打印一次;W1和W2都不能从空缓冲中取数。写出这三个并发进程能正确工作的程序。 2、设计一种可以避免死锁的资源分配算法,要求写明数据结构和相应方案或算法。

操作系统第四章作业讲解

1、“整体对换从逻辑上也扩充了内存,因此也实现了虚拟存储器的功能”这种说法是否正确请说明理由。 答:上述说明法是错误的。整体对换将内存中暂时不用的某个程序及其数据换出至外存,腾出足够的内存空间以装入在外存中的、具备运行条件的进程所对应的程序和数据。虚拟存储器是指仅把作业的一部分装入内存便可运行作业的存储器系统,是指具有请求调入功能和置换功能,能从逻辑上对内存容量进行扩充的一种存储器系统,它的实现必须建立在离散分配的基础上。虽然整体对换和虚拟存储器均能从逻辑上扩充内存空间,但整体对换不具备离散性。实际上,在具有整体对换功能的系统中,进程的大小仍受到实际内存容量的限制。 2、某系统采用页式存储管理策略,拥有逻辑空间32页,每页为2KB,拥有物理空间1MB。 1)写出逻辑地址的格式。 2)若不考虑访问权限等,进程的页表有多少项每项至少有多少位 3)如果物理空间减少一半,页表结构应相应作怎样的改变 答:1)该系统拥有逻辑空间32页,故逻辑地址中页号必须用5位来描述,而每页为2KB,因此,页内地址必须用11位来描述。这样,可得到它的逻辑地址格式如下: 2)每个进程最多有32个页面,因此,进程的页表项最多为32项;若不考虑访问权限等,则页表项中只需给出页所对应的物理块号。1MB的物理空间可分成29个内存块,故每个页表项至少有9位。 3)如果物理空间减少一半,则页表中项表项数仍不变,但每项的长度可减少1位。 3、已知某系统页面长4KB,每个页表项为4B,采用多层分页策略映射64位的用户地址空 间。若限定最高层页表只占1页,则它可采用几层分页策略 答:方法一:由题意可知,该系统的用户地址空间为264B,而页的大小为4KB,故作业最多可有264/212(即252)个页,其页表的大小则为252*4(即254)B。因此,又可将页表分成242个页表页,并为它建立两级页表,两级页表的大小为244B。依次类推,可知道它的3、4、5、6级页表的长度分别是234B、224B、214B、24B,故必须采取6层分页策略。 方法二:页面大小为4KB=212B,页表项4B=22B,因此一个页面可以存放212/22=210个面表项,因此分层数=INT[64/10]=6层 4、对于表所示的段表,请将逻辑地址(0,137)、(1,4000)、(2,3600)、(5,230)转换 成物理地址。 答:[0,137]:50KB+137=51337; [1,4000]:段内地址越界;

操作系统课后答案——第四章

第四章存储器管理 1. 为什么要配置层次式存储器? 这是因为: a.设置多个存储器可以使存储器两端的硬件能并行工作。 b.采用多级存储系统,特别是Cache技术,这是一种减轻存储器带宽对系统性能影响的最佳结构方案。 c.在微处理机内部设置各种缓冲存储器,以减轻对存储器存取的压力。增加CPU中寄存器的数量,也可大大缓解对存储器的压力。 2. 可采用哪几种方式将程序装入内存?它们分别适用于何种场合? 将程序装入内存可采用的方式有:绝对装入方式、重定位装入方式、动态运行时装入方式;绝对装入方式适用于单道程序环境中,重定位装入方式和动态运行时装入方式适用于多道程序环境中。 3. 何为静态链接?何谓装入时动态链接和运行时动态链接? a.静态链接是指在程序运行之前,先将各自目标模块及它们所需的库函数,链接成一个完整的装配模块,以后不再拆开的链接方式。 b.装入时动态链接是指将用户源程序编译后所得到的一组目标模块,在装入内存时,采用边装入边链接的一种链接方式,即在装入一个目标模块时,若发生一个外部模块调用事件,将引起装入程序去找相应的外部目标模块,把它装入内存中,并修改目标模块中的相对地址。 c.运行时动态链接是将对某些模块的链接推迟到程序执行时才进行 链接,也就是,在执行过程中,当发现一个被调用模块尚未装入内存时,立即由OS去找到该模块并将之装入内存,把它链接到调用者模 块上。

4. 在进行程序链接时,应完成哪些工作? a.对相对地址进行修改 b.变换外部调用符号 6. 为什么要引入动态重定位?如何实现? a.程序在运行过程中经常要在内存中移动位置,为了保证这些被移动了的程序还能正常执行,必须对程序和数据的地址加以修改,即重定位。引入重定位的目的就是为了满足程序的这种需要。 b.要在不影响指令执行速度的同时实现地址变换,必须有硬件地址变换机构的支持,即须在系统中增设一个重定位寄存器,用它来存放程序在内存中的起始地址。程序在执行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加而形成的。 9. 分区存储管理中常采用哪些分配策略?比较它们的优缺点。 分区存储管理中常采用的分配策略有:首次适应算法、循环首次适应算法、最佳适应算法、最坏适应算法。 a.首次适应算法的优缺点:保留了高址部分的大空闲区,有利于后到来的大型作业的分配;低址部分不断被划分,留下许多难以利用的、小的空闲区,且每次分区分配查找时都是从低址部分开始,会增加查找时的系统开销。 b.循环首次适应算法的优缺点:使内存中的空闲分区分布得更为均匀,减少了查找时的系统开销;缺乏大的空闲分区,从而导致不能装入大型作业。 c.最佳适应算法的优缺点:每次分配给文件的都是最适合该文件大小的分区;内存中留下许多难以利用的小的空闲区。

最新操作系统第四章作业答案

第四章作业(存储器管理) 第一次作业: 1、对于首次适应算法,请回答下列问题: (1)应如何将各空闲分区链接成空闲分区链? 为了实现对空闲分区的分配和链接,在每个分区的起始部分,设置一些用于控制分区分配的信息,以及用于链接各分区所用的前向指针;在分区尾部则设置一后向指针,通过前、后向链接指针,可将所有的空闲分区链接成一个双向链。为了检索方便,在分区尾部重复设置状态位和分区大小表目。当分区被分配出以后,把状态位由0改为1,此时,前、后向指针已无意义。 (2)在回收内存时,可能出现哪几种情况?应怎样处理这些情况? (1回收区与插入点的前一个空闲分区F1相邻接,此时应将回收区与插入点的前一分区合并,不必为回收分区分配新表项,而只需修改其前一分区F1的大小。 (2回收分区与插入点的后一空闲分区F2相邻接,此时也可将两分区合并,形成新的空闲分区,但用回收区的首址作为新空闲区的首址,大小为两者之和。 (3回收区同时与插入点的前、后两个分区邻接,此时将三个分区合并,使用F1的表项和F1的首址,取消F2的表项,大小为三者之和。 (4 回收区既不与F1邻接,又不与F2邻接。这时应为回收区单独建立一新表项,填写回收区的首址和大小,并根据其首址插入到空闲链中的适当位置。 (3)请对该算法的内存管理性能进行分析。 该算法倾向于优先利用内存中低地址,从而保证了高地址部分的大空闲去。这给以后达的大作业分配大的内存空间创造的条件。起缺点是低址部分不断被划分,会留下许多难以利用的小空闲分区,每次查找都从低址开始,会增加查找空闲分区的开销。 2分页和分段存储管理有何区别? 答:主要表现在(1)页是信息的物理单位,分页是为实现离散分配方式,以消 减内存的外零头,提高内存的利用率。或者说,分页仅仅是由于系统管理的需要 而不是用户的需要。段则是信息的逻辑单位,它含有一组其意义相对完整的信息。 分段的目的是为了能更好地满足用户的需要。 (2)页的大小固定且由系统决定,由系统把逻辑地址划分为页号和页内地址两部分, 是由机器硬件实现的,因而在系统中只能有一种大小的页面;根据信息的性质来划分。(3)分页的作业地址空间是一维的,即单一的线性地址空间,程序员只需利用一个记忆符,即可表示一个地址;而分段的作业地址空间则是二维的,程序员在标识一个地址时,即需给出段名,又需给出段内地址。 3某请求分页系统,用户空间为32KB,每个页面1KB,主存16KB。某用户程序有7页长,

操作系统作业第三章1,第四章的答案

第三章操作系统的答案 1. 高级调度与低级调度的主要任务是什么?为什么要引入中级调度? a. 作业调度又称宏观调度或高级调度,其主要任务是按一定的原则对外存上处于后备状态的作业进行选择,给选中的作业分配内存,输入输出设备等必要的资源,并建立相应的进程,以使该作业的进程获得竞争处理机的权利. b. 进程调度又称微观调度或低级调度,其主要任务是按照某种策略和方法选取一个处于就绪状态的进程,将处理机分配给它. c. 为了提高内存利用 6.在抢占调度方式中,抢占的原则是什么? a. 优先权原则 b. 短作业(进程)优先原则 c.时间片原则 7. 选择调度方式和调度算法时,应遵循的准则是什么? a. 面向用户的准则有周转时间短,响应时间快,截止时间的保证,以及优先权准则. b. 面向系统的准则有系统吞吐量高,处理机利用率好,各类资源的平衡利用. 18.何谓死锁?产生死锁的原因和必要条件是什么? a. 死锁是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进; b. 产生死锁的原因有二,一是竞争资源,二是进程推进顺序非法; c. 必要条件是: 互斥条件,请求和保持条件,不剥夺条件和环路等待条件. 19.在解决死锁问题的几个方法中,哪种方法最容易实现?哪种方法使资源的利用率最高? a. 解决死锁可归纳为四种方法: 预防死锁,避免死锁,检测死锁和解除死锁; b. 其中,预防死锁是最容易实现的; c. 避免死锁使资源的利用率最高. 21.在银行家算法的例子中,如果P0发出的请求向量由Request0(0,2,0)改为Request0(0,1,0),问系统可否将资源分配给它?

操作系统 第四章课后部分答案

6、为什么要引进动态重定位?如何实现? 为了能够在程序执行过程中,每当要访问指令或数据时,将要访问的存储单元的逻辑地址转换成物理地址,引入了动态重定位。使用动态地址重定位,一个作业可以占用非连续存储空间;能实现虚拟存储;有利于程序段的共享。 可在系统中增加一个重定位寄存器,用它来存放程序在内存中的起始地址。基本的地址变换计算方法是将内存单元的逻辑地址与重定位寄存器的值相加,得到单元的物理地址。 在可重定位分区式存储管理、分页式存储管理、分段式存储管理方法中,都有不同的地址变换位方法:P128,P135,P138 9、分区存储管理常用哪些分配策略?比较它们的优缺点。 分区存储管理中常采用的分配策略有:首次适应算法、循环首次适应算法、最佳适应算法、最坏适应算法。 a.首次适应算法的优缺点:保留了高址部分的大空闲区,有利于后到来的大型作业的分配;低址部分不断被划分,留下许多难以利用的、小的空闲区,且每次分区分配查找时都是从低址部分开始,会增加查找时的系统开销。 b.循环首次适应算法的优缺点:使内存中的空闲分区分布得更为均匀,减少了查找时的系统开销;缺乏大的空闲分区,从而导致不能装入大型作业。 c.最佳适应算法的优缺点:每次分配给文件的都是最适合该文件大小的分区;内存中留下许多难以利用的小的空闲区。

d.最坏适应算法的优缺点:给文件分配分区后剩下的的空闲区不至于太小,产生碎片的几率最小,对中小型文件分配分区操作有利;使存储器中缺乏大的空闲区,对大型文件的分区分配不利。 14、较详细的说明引入分段存储管理方式是为了满足用户哪几个方面的需求。 方便编程、信息共享、信息保护、动态增长、动态链接。 P136 17、分页和分段存储管理有何区别? (1) 页是信息的物理(存储)单位,分页是为实现离散分配方式,以消减内存的零头,提高内存的利用率。或者说,分页仅仅是由于系统管理的需要而不是用户的需要。段则是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好地满足用户的需要。 (2) 页的大小固定且由系统决定,由系统把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而在系统中只能有一种大小的页面;而段的长度却不固定,决定于用户所编写的程序的逻辑,通常由编译程序在对源程序进行编译时,根据信息的性质来划分。 (3) 分页式存储管理的作业地址空间是一维的,即单一的线性的逻辑地址空间,程序员只需利用一个记忆符,即可表示一个地址;而分段式存储管理的作业地址空间则是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。

操作系统第四章

第 4 章 内存 作业 1、描述分页、分段、段页式存储的寻址方法 分页:一级页表,二级页表,哈希页表,反向页表 分段:通过段表 段页式:段表和页表 2、内存的存储管理方式分为分段、分页和段页式,问:哪些管理方式会产生外部碎片?哪 些管理方式会产生内部碎片?说明原因。 外部:分段 内部:分页 3、 在伙伴系统中,某块的地址为 i~j,求其伙伴块的地址。 4、 使用段式存储管理配合伙伴系统最多可能产生多少空间浪费? 5、内存太小会带来什么问题? 内存小, cpu 频繁从硬盘中读取数据,程序运行慢。 6、在使用虚拟内存的系统中,若内存的缺页率达到 1%,内存和硬盘的访问速度比是 50:1, 则内存的访问效率会降低多少? 16位地址,分页大小为 4096B,页表中第0~7项对应 应的物理地址。写出计算过程。 分页大小为4096B=2A 12所以块号高4位 2691 = 0010 0110 1001 0001 0010 对应的块号为第三块 所以为 0000 所以物理地址: 0691h 6A53 = 0110 1010 0101 0011 0110 对应的块号为第七块 所以为 1110 所以物理地址: EA53h &在分页内存管理系统中,假设采用 16位地址,分页大小为 8192B ,页表中第0~7项对应 的块号分别是5、7、0、2、3、1、4、6,求逻辑地址(16进制表示)2691h 和6A53h 对应 的物理地址。写出计算过程。 分页大小为 8192B = 2A13 所以块号为高 3位。 9、内存需要依次访问以下页面: 5、 1、 0、 1、 4、 7、 6、 5、 6、 5、 7、 0、 4,内存能保存 3 个页面,求 FIFO LRU CLOCK 的缺页率 FIFO LRU CLOCK 的块号分别是 11、 7、 0、 2、 3、 8、 14 、 1 ,求逻辑地址( 16 进制表示) 2691h 和 6A53h 对 7、在分页内存管理系统中,假设采用 2691 = 0010 0110 1001 0001 001 对应的块号为第二块 6A53 = 0110 1010 0101 0011 011 对应的块号为第四块 所以为 111 所以物理地址: E691h 所以为 010 所以物理地址: 5A53h

计算机操作系统第四章作业详细版

1.为什么要配置层次式存储器? 在计算机执行时,几乎每一条指令都涉及对存储器的访问,因此要求对存储器的访问速度能跟得上处理机的运行速度。或者说,存储器的速度必须非常快,能与处理机的速度相匹配,否则会明显的影响到处理机的运行。此外还要求存储器具有非常大的容量,而且存储器的价格还应很便宜。对于这样十分严格的三个条件,目前是无法同时满足的。于是正在现代计算机系统中都无一例外的采用了多层结构的存储器系统。 2.可采用哪几种方式将程序装入内存?它们分别适用于何种场合? (1)绝对装入方式 当计算机系统很小,且仅能运行单道程序时,完全有可能知道程序将驻留在内存的什么位置。此时可以采用绝对装入方式。用户程序编译后,将产生绝对地址的目标代码。 (2)可重定位装入方式 绝对装入方式只能将目标模块装入到内存中事先指定的位置,这只适用于单道程序环境。而在多道程序环境下,编译程序不可能预知经编译后所得到的目标模块应放在内存的何处。因此,对于用户程序编译所形成的若干个目标模块,它们的起始地址通常都是从0开始的,程序中的其他地址也都是想对于起始地址计算的。此时,不可能再采用绝对装入方式,而应采用可重定位装入方式,他可以根据内存的具体情况将装入模块装入到内存的适当位置。(3)动态运行时的装入方式 可重定位装入方式可将装入模块装入到内存中任何允许的位置,故可用于多道程序环境,但该方式并不允许程序运行时在内存中移动位置。因为,程序在内存中的移动,意味着它的物理位置发生了变化,这时必须对程序和数据的地址(绝对地址)进行修改后方能运行。然而,实际情况是,在运行过程中他在内存中的位置肯能经常要改变。动态运行时的装入程序在把装入模块装入内存后,并不立即把装入模块中的逻辑地址转换为物理地址,而是把这种地址转换推迟到程序真正要执行时才进行。因此,装入内存后的所有地址都仍然是逻辑地址。3.何谓静态链接?静态链接时需要解决两个什么问题? 在程序运行之前,先将各目标模块及他们所需的库函数链接成一个完整的装配模块,以后不再拆开,我们把这种事先进行链接的方式称为静态链接方式。 需要解决的两个问题是:①对相对地址进行修改。②变换外部调用符号。 4.何谓装入时动态链接?装入时动态链接方式有何优点? 这是指将用户源程序编译后所得到的一组目标模块,再装入内存时,采用边装入边链接的链接方式。即在装入一个目标模块时,若发生一个外部模块调用事件,将引起装入程序去找出对应的外部目标模块,并将它装入内存。 装入时动态链接方式有以下优点: ①便于修改和更新。采用动态链接方式,由于各目标模块是分开存放的,所以要修改或更新个目标模块是件非常容易的事。 ②便于实现对目标模块的共享。再采用静态链接方式时,每个应用模块都必须含有其目标模块的拷贝,无法实现对目标模块的共享。但采用装入时动态链接方式时,OS就很容易将一个目标模块链接到几个应用模块上,实现多个应用程序对该模块的共享。 5.何谓运行时动态链接?运行时动态链接有何优点? 在许多情况下,应用程序在运行时,每次要运行的模块可能都是不相同的。但由于事先无法知道本次要运行哪些模块,故只能是将所有可能要运行到的模块全部都装入内存,并在装入时全部链接在一起,显然这是低效的,因为往往会有部分目标模块根本就不运行。近几年流行起来的运行时动态链接方式,是对上述装入时链接方式的一种改进。这种链接方式是,将对某些模块的链接推迟到程序执行时才进行。亦即,在执行过程中,当发现一个被调用模块尚未装入内存时,立刻由OS去找到该模块,将之装入内存,将其链接到调用者模块上,这

计算机操作系统第三版 第4章 练习题

一、单项选择题 1.要保证一个程序在主存中被改变了存放位置后仍能正确执行,则对主存空间应采用()技术。 A.动态重定位 B.静态重定位 C.动态分配 D.静态分配 2.固定分区存储管理把主存储器划分成若干个连续区,每个连续区称一个分区。经划分后分区的个数是固定的,各个分区的大小()。 A.是一致的 B.都不相同 C.可以相同,也可以不相同,但根据作业长度固定 D.在划分时确定且长度保持不变 3.采用固定分区方式管理主存储器的最大缺点是()。 A.不利于存储保护 B.主存空间利用率不高 C.要有硬件的地址转换机构 D.分配算法复杂

4.采用可变分区方式管理主存储器时,若采用最优适应分配算法,宜将空闲区按()次序登记在空闲区表中。 A.地址递增 B.地址递减 C.长度递增 D.长度递减 5.在可变分区存储管理中,某作业完成后要收回其主存空间,该空间可能要与相邻空闲区合并。在修改未分配区表时,使空闲区个数不变且空闲区始址不变的情况是()空闲区。 A.无上邻也无下邻 B.无上邻但有下邻 C.有上邻也有下邻 D.有上邻但无下邻 6.在可变分区存储管理中,采用“紧凑”技术可以()。 A.汇集主存中的空闲区 B.增加主存容量 C.缩短访问周期 D.加速地址转换

7.页式存储管理中的页表是由()建立的。 A.操作员 B.系统程序员 C.用户 D.操作系统 8.采用页式存储管理时,重定位的工作是由()完成的。 A.操作系统 B.用户 C.地址转换机构 D.主存空间分配程序 9.采用段式存储管理时,一个程序如何分段是在()决定的。 A.分配主存时 B.用户编程时 C.装人作业时 D.程序执行时 10.采用段式存储管理时,一个程序可以被分成若干段,每一段的最大长度是由()限定的。 A.主存空闲区的长度

操作系统第4章试题

操作系统第4章试题

————————————————————————————————作者:————————————————————————————————日期:

第4章存储器管理 4.1 典型例题解析 【例1】某系统采用动态分区分配方式管理内存,内存空间为640K,高端40K用来存放操作系统。在内存分配时,系统优先使用空闲区低端的空间。对下列的请求序列:作业1申请130K、作业2申请60K、作业3申请100K、作业2释放60K、作业4申请200K、作业3释放100K、作业1释放130K、作业5申请140K、作业6申请60K、作业7申请50K、作业6释放60K,请分别画图表示出使用首次适应算法和最佳适应算法进行内存分配和回收后内存的实际使用情况。 首次适应算法最佳适应算法 动作已分配分区 (作业,始址,大小) 空闲分区 (始址,大 小) 己分配分区 (作业,始址,大小) 空闲分区 (始址,大小) 作业1申请130K l,0,130 130,470 l,O,130 130,470 作业2申请60K l,0,130 2,130,60 190,410 1,O,130 2,130,60 190,410 作业3申请100K 1,0,130 2,130,60 3,190,100 290,310 1,O,130 2,130,60 3,190,100 290,310 作业2释放60K l,0,130 3,190,100 130,60 290,310 l,0,130 3,190,100 130,60 290,310 作业4申请200K 1,O,130 3,190,100 4,290,200 130,60 490,1lO l,0,130 3,190,100 4,290,200 130,60 490.110 作业3释放100K l,0,130 4,290,200 130,160 490,110 l,0,130 4,290,200 490,110 130,160 作业l释放130K 4,290,200 0,290 490,110 4,290,200 490,110 0,290 作业5申请140K 4,290,200 5,0,140 140,150 490,110 4,290,200 5,0,140 490,110 140,150 作业6申请60K 4,290,200 5,O,140 6,140,60 200,90 490,110 4,290,200 5,0,140 6,490,60 550,50 140,150 作业7申请50K 4,290,200 5,0,140 6,140,60 7,200,50 250,40 490,110 4,290,200 5,O,140 6,490,60 7,550,50 140,150 作业6释放60K 4,290,200 5,0,140 7,200,50 140,60 250,40 490,110 4,290,200 5,0,140 7,550,50 490,60 140,150

操作系统第四章习题电子教案

一、选择 1. 可变分区存储器管理系统中,若采用最佳适应分配算法,“空闲区表”中的空闲区 可按( A )顺序排列。 A.长度递增 B.长度递减 C.地址递增 D.地址递减 2. 虚拟存储技术是—B—。 A. 扩充内存物理空间技术 B. 扩充内存逻辑地址空间技术 C.扩充外存空间技术 D. 扩充I/O缓冲区技术 3. 很好地解决了“零头”问题的存储管理方法是—A—。 A.分页存储管理方法 B.分段存储管理方法 C.多重分区管理 D.可变式分区管理 4. 系统“抖动”现象的发生是由—B—引起的。 A.交换的信息量过大 B.置换算法选择不当 C.内存容量不足 D.请求分页管理方案 5. 虚拟存储管理系统的基础是程序的—C—理论。 A. 全局性 B. 虚拟性 C. 局部性 D. 动态性 6. 分页系统中页面是为( B )的。 A、用户所感知 B、操作系统所感知 C、编译系统所感知 D、连接装配程序所感知 7.下列—A—存储方式不能实现虚拟存储器。 A.分区 B.页式 C.段式 D.段页式 8. 操作系统处理缺页中断时,选择一种好的调度算法对内存和外存中的信息进行高效地调度,尽可能避免—D—。 A. 碎片 B.CPU空闲 C. 多重中断 D. 抖动 9. 分页式存储管理的主要特点是—C—。 A. 要求处理缺页中断 B. 要求扩充内存容量 C. 不要求作业装入到内存的连续区域 D. 不要求作业全部同时装入内存 10. LRU页面调度算法淘汰—B—的页。 A. 最近最少使用 B. 最近最久未使用 C. 最先进入内存 D. 将来最久使用 11.虚拟存储器实际容量受—B—限制。 A.物理内存大小 B.计算机的地址结构 C.磁盘容量 D.数据存放的绝对地址 12. 分区管理要求对每一个作业都分配—A—的内存单元。 A. 地址连续 B. 若干地址不连续 C. 若干连续的页 D. 若干不连续的帧 13.页面置换算法中—A—不是基于程序执行的局部性理论。 A.先进先出调度算法 B. LRU C. LFU D.最近最不常用调度算法 14. 在存储管理中,采用覆盖与交换技术的目的是—A—。 A. 节省内存空间 B. 物理上扩充内存容量 C. 提高CPU利用率 D. 实现内存共享 15. 分页虚拟存储管理中,缺页中断时,欲调度一页进入内存,内存已无空闲块,如何决定淘汰已在内存的块时,—B—的选择是很重要的。 A. 地址变换 B. 页面调度算法 C. 对换方式 D. 覆盖技术

操作系统第4章作业答案(下)

赵盈盈93 第四章作业下 1. 某系统进程调度状态变迁图如图1所示(设调度方式为非剥夺方式),请说明: (1)什么原因将引起发生变迁2、变迁3、变迁4 答:(1)当进程分配的时间片用完的时候,会发生变迁2;当进程必须等待某事件发生时候发生变迁3;进程锁等待事件已发生的时候,发生变迁4 (2)当观察系统中所有进程时,能够看到某一进程产生的一次状态变迁能引起另一进程作一次状态变迁,在什么情况下,一个进程的变迁3能立即引起另一个进程发生变迁1答:(2)当一个进程释放对cpu的占用,从运行队列进入等待队列,而且此时就绪序列不为空的时候,就会发生变迁1. (3)下述因果变迁是否要能发生如果可能的话,在什么情况下发生 (a)3→1;(b)3→2;(c)2→1 答:(3)(a)31 能 当一个进程释放对cpu的占用,从运行队列进入等待队列,而且此时就绪序列不为空的时候,就会发生变迁1. (b)32 不能 (c)21 能 当一个进程释放对cpu的占用,从运行队列进入就绪队列,而且此时就绪序列不为空的时候,就会发生变迁1. 2. 若题1中所采用的调度方式为可剥夺方式,请回答题1中提出的问题。 答2:只有一个不同:21 当新建进程B比现在正在运行进程A的优先级高的时候,不管A的时间片有没有用完,都会发生变迁2,A从运行状态变成就绪状态,因此也会发生变迁1,B从就绪状态转变成运行状态。 3. 某系统的进程状态变迁图如图2所示(设该系统的进程调度方式为非剥夺方式),请说明: (1)一个进程发生变迁3的原因是什么发生变迁2、变迁4的原因又是什么 答(1):当运行进程因I/O而阻塞。这时候进程会从运行状态转到等待状态。发生变迁3。当高就绪队列为空是会发生变迁2。当等待使劲已经发生时,会发生变迁4。 (2)下述因果变迁是否会发生,如果有可能的话,在什么情况下发生 (a)2→1;(b)3→2;(c)4→5;(d)4→2;(e)3→5 答:(2)(a)21:是因果变迁,当进程从运行状态转为就绪,并进入低优先就绪,而此时,当高优先就绪为空时,就会发生变迁1. (b)32:不是因果变迁。而且不会发生。 (c)45:是因果变迁。当一个进程等待事件已发生,一个进程从等待队列进入高就绪队列。而此时,该进程优先级高于正在运行的进程优先级,就会发生变迁5. (d)42:不是因果变迁 (e)35:是因果变迁。当进程释放对cpu的占用,而高优先就绪又不为空时就会发生变

相关文档
最新文档