收藏 分享(赏)

计算机操作系统课后答案10545new.doc

上传人:dzzj200808 文档编号:2311471 上传时间:2018-09-10 格式:DOC 页数:32 大小:356KB
下载 相关 举报
计算机操作系统课后答案10545new.doc_第1页
第1页 / 共32页
计算机操作系统课后答案10545new.doc_第2页
第2页 / 共32页
计算机操作系统课后答案10545new.doc_第3页
第3页 / 共32页
计算机操作系统课后答案10545new.doc_第4页
第4页 / 共32页
计算机操作系统课后答案10545new.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

1、第一章操 作系统引论思考与练习题1. 什么是操作系统?它的主要功能是什么?2. 什么是多道程序设计技术?多道程序设计技术的主要特点是什么?3. 批处理系统是怎样的一种操作系统?它的特点是什么?4. 什么是分时系统?什么是实时系统?试从交互性,及时性,独立性,多路性,可靠性等几个方面比较分时系统和实施系统。5. 实时系统分为哪俩种类型?6. 操作系统主要特征是什么?7. 操作系统也用户的接口有几种?它们各自用在什么场合?8. “操作系统是控制硬件的软件”这一说法确切吗?为什么?9. 设内存中有三道程序,A,B,C,它们按 ABC 的先后顺序执行,它们进行“计算”和“I/o 操作”的时间如表 1-

2、2 所示,假设三道程序使用相同的 I/O 设备。表 1-2 三道程序的操作时间操作程序计算 I/o 操作 计算A 20 30 10B 30 50 20C 10 20 10(1) 试画出单道运行时三道程序的时间关系图,并计算完成三道程序要花多少时间。(2) 试画出多道运行时三道程序的时间关系图,并计算完成三道程序要花多少时间。10将下列左右两列词连接起来形成意义最恰当的 5 对。DOS 网络操作系统OS/2 自由软件UNIX 多任务Linux 单任务Windows NT 为开发操作系统而设计 C 语言11选择一个现代操作系统,查找和阅读相关的技术资料,写一篇关于操作系统如何进行内存管理、存储管理

3、、设备管理和文件管理的文章。答案1 答:操作系统是控制和管理计算机的软、硬件资源,合理地组织计算机的工作流程,以方便用户使用的程序集合。2答:把多个独立的程序同时放入内存,使她们共享系统中的资源。1)多道,即计算机内存中同时放多道相互独立的程序。2) 宏观上并行,是指共识进入系统的多道程序都处于运行过程。3)微观上串行,是指在单道处理机环境下,内存中的多道程序轮流地占有 CPU,交替执行。3答:批处理操作系统是一种基本的操作系统类型。在该系统中用户的作业被成批地输入到计算机中,然后在操作系统的控制下,用户的作业自动的执行。特点是:资源利用率高。系统吞吐量大。平均周转时间长。无交互能力。4答:分

4、时系统:允许多个终端用户同时使用计算机,在这样的系统中,用户感觉不到其他用户的存在,好像独占计算机一样。实时系统:对外输入出信息,实时系统能够在规定的 时间内处理完毕并作出反应。1)多路性:分时系统是为多个终端用户提供服务,实时系统的多路性主要表现在经常对多路的现场信息进行采集以及多多个对象或多个执行机构进行控制。2)独立性:每个终端向实时系统提出服务请求时,是彼此独立的工作、互不干扰。3)及时性:实时信息处理系统与分时系统对及时性的要求类似,都以人们能够接受的等待时间来确定。实时控制系统对一时性的要求更高,是以控制对象所要求的开始截止时间或完成截止时间来确定的。5答:(1 )实时控制系统 (

5、2)实时信息处理系统。6答:1 )并发性 2)共享性 3)虚拟性 4)不确定性。7答:两种,命令接口 ,程序接口。命令接口:分为联机命令接口,脱机命令接口,图形用户命令接口。方便用户直接控制自己的作业而提供的接口。程序接口:又称系统调用,是为了用户在程序一级访问操作系统功能而设置的。8答:不正确,因为操作系统不仅仅是控制硬件,同时它还控制计算机的软件。9 ( 1)20ms+30ms+10ms+30ms+50ms+20ms+10ms+20ms+10ms=200ms(2)20ms+30ms+10ms+40ms+20ms+10ms=130ms10DOS 网络操作系统OS/2 自由软件UNIX 多任务

6、Linux 单任务WindowsNT 为开发操作系统而设计的 C 语言第二章 进程与线程思考与练习题1 操作系统中为什么要引入进程的概念?为了实现并发进程之间的合作和协调,以及保证系统的安全,操作系统在进程管理方面要做哪些工作?2 试描述当前正在运行的进程状态改变时,操作系统进行进程切换的步骤。3 现代操作系统一般都提供多任务的环境,是回答以下问题。(1 ) 为支持多进程的并发执行,系统必须建立哪些关于进程的数据结构?(2 ) 为支持进程的状态变迁,系统至少应该供哪些进程控制原语?(3 ) 当进程的状态变迁时,相应的数据结构发生变化吗?4 什么是进程控制块?从进程管理、中断处理、进程通信、文件

7、管理、设备管理及存储管理的角度设计进程控制块应该包含的内容。5 假设系统就绪队列中有 10 个进程,这 10 个进程轮换执行,每隔 300ms 轮换一次,CPU 在进程切换时所花费的时间是 10ms,试问系统化在进程切换上的开销占系统整个时间的比例是多少?6 试述线程的特点及其与进程之间的关系。7 根据图 2-18,回答以下问题。(1 ) 进程发生状态变迁 1、 3、4、6 、7 的原因。(2 ) 系统中常常由于某一进程的状态变迁引起另一进程也产生状态变迁,这种变迁称为因果变迁。下述变迁是否为因果变迁:32,45,72,36,是说明原因。(3 ) 根据此进程状态转换图,说明该系统 CPU 调度

8、的策略和效果。8 回答以下问题。(1 ) 若系统中没有运行进程,是否一定没有就绪进程?为什么?(2 ) 若系统中既没有运行进程,也没有就绪进程,系统中是佛就没有阻塞进程?解释。(3 ) 如果系统采用优先级调度策略,运行的进程是否一定是系统中优先级最高的进程?为什么?9 假如有以下程序段,回答下面的问题。S1: a=3-x;S2: b=2*a;S3: c=5+a;(1) 并发程序执行的 Bernstein 条件是什么?(2) 是画图表示它们执行时的先后次序。(3) 利用 Bernstein 条件证明,S1 、S2 和 S3 哪两个可以并发执行,哪两个不能。答案1. 答:为了从变化角度动态地分析研

9、究可以并发执行的程序,真实的反应系统的独立性、并发性、动态性和相互制约,操作系统中不得不引入进程的概念。为了防止操作系统及其关键的数据结构受到用户程序破坏,将处理机分为核心态和用户态。对进程进行创建、撤销以及在某些进程状态之间的转换控制。2. 答:运行状态就绪状态:此进程根据自身的情况插入到就绪队列的适当位置,系统收回处理及转入进程调度程序重新进行调度。运行状态阻塞状态:一个进程从运行状态道阻塞状态后。系统会调用进程调度程序重新选择一个进程投入运行。3.(1 ) 答:为支持多进程的并发执行,系统必须建立的数据结构式 PCB,不同状态进程的PCB 用链表组织起来,形成就绪队列、阻塞队列。(2 )

10、 答:阻塞原句、唤醒原句、挂起原句、激活原句(3 ) 答:创建原句:建立进程的 PCB,并将进程投入就绪队列。撤销原句:删除进程的 PCB,并将进程在其队列中摘除。阻塞原句:将进程 PCB 中进程的状态从运行状态改为阻塞状态,并将进程投入阻塞队列。唤醒原句:将进程 PCB 中进程的状态从阻塞状态改为就绪状态,并将进程从则色队列摘下,投入到就绪队列中。4. 答:进程控制块(PCB)是为了描述进程的动态变化而设置的一个与进程相联系的数据结构,用于记录系统管理进程所需信息。PCB 是进程存在的唯一标识,操作系统通过PCB 得知进程的寻在。为了进程管理,进程控制块包括以下几方面。(1 ) 进程的描述信

11、息,包括进程标识符、进程名等。(2 ) 进程的当前状况。(3 ) 当前队列链接指针。(4 ) 进程的家族关系。为了中断处理,进程控制块的内容应该包括处理机状态信息和各种寄存器的内容,如通用寄存器、指令计数器、程序状态字(PSW)寄存器及栈指针等。为了内存管理的需要,进程控制块的内容应该包括进程使用的信号量、消息队列指针等。为了设备管理,进程控制块的内容应该包括进程占有资源的情况。5. 答:就绪队列中有 10 个进程,这 10 个进程轮换执行,每隔进程的运行时间是300ms,切换另一个进程所花费的总时间是 10ms,隐刺系统化在进程切换上的时间开销占系统整个时间的比例是:10/(300+10)=

12、3.2%.6. 答:线程是进程内的一个相对独立的运行单元,是操作系统调度和分派的单位。线程只拥有一点必不可少的资源(一组寄存器和栈) ,但可以和铜属于一个进程的其他线程共享进程拥有的资源。线程是进程的一部分,是进程内的一个实体;一个进程可以有多个线程,但至少必须有一个线程。7.(1 ) 答:1 表示新进程创建后,进入高优先级就绪队列;3 表示进程因请求 I/O 活等待某件事儿阻塞;4 表示进程运行的时间片到; 6 表示进程 I/O 完成或等待的时间到达;7 表示进程运行完成而退出。(2 ) 答:32 是因果变迁,当一个进程从运行态变为阻塞态时,此时 CPU 空闲,系统首先到高优先级队列中选择一

13、个进程投入运行。4 5 是因果变迁,当一个进程运行完毕时,此时 CPU 空闲,系统首先到高优先级队列中选择进程,但如果高优先级队列为空,则从低优先队列中选择一个进程投入运行。7 2 是因果变迁,当一个进程运行完毕时, CPU 空闲,系统首先到高优先级队列中选择一个进程投入运行。3 6 不是因果变迁。一个进程阻塞时由于自身的原因而发生的,和另一个进程等待的时间到达没有因果关系。(3 ) 答:当进程调度时,首先从高优先级就绪队列选择一个进程,赋予它的时间片为100ms。如果高优先级就绪队列为控,则从低优先级就绪队列选择进程,但赋予该进程的时间片为 500ms。这种策略一方面照顾了短进程,一个进程如

14、果在 100ms 运行完毕它将退出系统,更主要的是照顾了 I/O 量大的进程,进程因 I/O 进入阻塞队列,当 I/O 完成后它就进入了高优先级就绪队列,在高优先级就绪队列等待的进程总是优于低优先级就绪队列的进程。而对于计算量较大的进程,它的计算如果在 100ms 的时间内不能完成,它将进入低优先级就绪队列,在这个队列的进程被选中的机会要少,只有当高优先级就绪队列为空,才从低优先级就绪队列选择进程,但对于计算量大的进程,系统给予的适当照顾时间片增大为 500ms。 8.(1 ) 答:是。若系统中没有运行进程,系统会马上选择一个就绪进程队列中的进程投入运行。只有在就绪队列为空时,CPU 才会空闲

15、。(2 ) 答:不一定。当系统中所有进程分别等待各自希望发生的事件时,它们都处于阻塞状态,此时系统中既没有运行进程,也没有就绪进程。这种情况出现时,如果各个进程没有相互等待关系,只要等待的时间发生了,进程就会从等待状态转化为就绪状态。但如果处于阻塞状态的进程相互等待彼此占有的资源,系统就有可能发生死锁。(3 ) 答:不一定。因为高优先级的进程有可能处于等待状态,进程调度程序只能从就绪队列中挑选一个进程投入运行。被选中进程的优先级在就绪队列中是最高的,但在整个系统中它不一定是最高的,等待队列中进程的优先级有可能高于就绪队列中所有进程的优先级。9.(1 ) 答: P1 和 P2 并发执行的条件是,

16、当且仅当R(P1)W(P2) R(P2) W(P1) W(P1)W(P2)=(2 )S1S2S3(3 ) 答:R(S1)=x,W(S2)=a,R(S2)=a,W(S2)=b ,R(S3)=a,W(S3)=c所以 W(S1) R(S2)=a, 因此 S1 和 S2 不能并发执行。W(S1)R(S2)=a, 因此 S1 和 S3 也不能并发执行。而 R(S2) W(S3) R(S3) W(S2) W(S2) W(S3)=, 因此 S2 和 S3 可以并发执行。第三章 进程同步与通信思考与练习题1 一下进程之间存在相互制约关系吗?若存在,是什么制约关系?为什么?(1 ) 几个同学去图书馆借同一本书。

17、(2 ) 篮球比赛中两队同学争抢篮板球。(3 ) 果汁流水线生产中捣碎、消毒、灌装、装箱等各道工序。(4 ) 商品的入库出库。(5 ) 工人做工与农民种粮。2 在操作系统中引入管程的目的是什么?条件变量的作用是什么?3 说明 P、V 操作为什么要设计成原语。4 设有一个售票大厅,可容纳 200 人购票。如果厅内不足 200 人则允许进入,超过则在厅外等候;售票员某时只能给一个购票者服务,购票者买完票后就离开。试问:(1 ) 购票者之间是同步关系还是互斥关系?(2 ) 用 P、V 操作描述购票者的工作过程。5 进程之间的关系如图 3-16 所示,试用 P、V 操作描述它们之间的同步。6 有 4

18、个进程 P1、P2、P3、P4 共享一个缓冲区,进程 P1 向缓冲区存入消息,进程P2、P3、P4 从缓冲区中去消息,要求发送者必须等三个进程都去过本消息后才能发送下调消息。缓冲区内每次只能容纳一个消息,用 P、V 操作描述四个进程存取消息的情况。7 分析生产者 消费者问题中多个 P 操作颠倒引起的后果。8 读者 写者问题中写者优先的实现。9 写一个用信号量解决哲学家进餐问题不产生锁死的算法。10 一个文件可有若干个不同的进程所共享,每个进程具有唯一的编号。假定文件可有满足下列限制的若干个不同的进程同时访问,并发访问该文件的哪些进程的编号的总和不得大于 n,设计一个协调对该文件访问的管程。11

19、 用管程解决读者写者问题,并采用公平原则。答案1.(1 ) 答:存在互斥关系,因为同一本书只能借给一个同学。(2 ) 答:存在互斥关系,因为篮球只有一个,两队只能有一个队抢到球(3 ) 答:存在同步关系,因为最后一道工序的开始依赖于前一道工序的完成。(4 ) 答:存在同步关系,因为商品若没有入库就无法出库,若商品没有出库,装满了库房,也就无法再入库。(5 ) 答:工人与农民之间没有相互制约关系。2. 答:引入管程的目的是为了实现进程之间的同步和互斥。优于使用信号量在解决同步和互斥问题时要设置多个信号量,并使用大量的 P、V 操作,其中 P 操作的排列次序不当,还会引起系统死锁,因此引入另外一种

20、同步机制。3. 答:用信号量 S 表示共享资源,其初值为 1 表示有一个资源。设有两个进程申请该资源,若其中一个进程先执行 P 操作。P 操作中的减 1 操作有 3 跳及其指令组成:去 S 送寄存器 R;R-1 送 S。若 P 操作不用原语实现,在执行了前述三条指令中的 2 条,即还未执行 R 送 S 时(此时 S 值仍为 1) ,进程被剥夺 CPU,另一个进程执行也要执行 P 操作,执行后 S 的值为 0,导致信号量的值错误。正确的结果是两个进程执行完 P 操作后,信号量 S 的值为 -1,进程阻塞。4.(1 ) 答:购票者之间是互斥关系。(2 )答: semaphore empty=200

21、;semaphore mutex=1;void buyer() P(empty);P(mutex);购票;V(mutex);V(empty);5.答:semaphore a,b,c,d,e,f,g=0,0,0,0,0,0,0;void P1() void P2() void P3() void P4() void P5() void P6() S1; P(a); P(b); P(c); P(d); P(e)V(a); S2; S3; S4; S5; P(f)V(b); V(e); V(c); V(f); V(g); P(g) V(d); S6; 6 答:semaphore S1=1;semap

22、hore S2,S3,S4=0,0,0;int count =0;semaphore mutex=1;void P1()/*发送进程 */ void P2()/*接收进程*/ void P3()/*接受进程*/ void P4()/*接受进程*/ while(true) while(true) while(true) while(true) P(S1); P(S2); P(S3); P(S4);发送消息; 接收消息; 接收消息; 接收消息;P(mutex); P(mutex); P(mutex); P(mutex);count=0; count=count+1; count=count+1;

23、count=count+1;V(mutex); if (count=3) V(S1); if (count=3) V(S1); if (count=3) V(S1);V(S2); V(mutex) V(mutex) V(mutex)V(S3); V(s4); 7答: semaphore mutex=1;semaphore empty=n;semaphore full=0;int i,j;ITEM buffern;ITEM data_p,data_c;void producer()/*生产者进程*/ void consumer() /*消费者进程*/while(true) while(true)

24、produce an item in data_p; P(full);P(mutex); P(mutex);P(empty); data_c=bufferj;bufferi=data_p; j=(j+1)%n;i=(i+1)%n; V(mutex);V(mutex); V(empty);V(full); consume the item in data_c 6.答:semaphore Wmutex,Rmutex=1 ;int Rcount=0;semaphore mutex=1void reader() /*读者进程*/ void writer() /*写者进程*/while(true) wh

25、ile(true)P(mutex); P(mutex);P(Rmutex); P(wmutex);If(Rcount=0) P(wmutex); ;Rcount=Rcount+1 ; write;/* 执行写操作*/V(Rmutex); ;V(mutex); V(Wmutex); V(mutex);read;/*执行读操作*/ ;P(Rmutex);Rcount=Rcount-1;if (Rcount=0) V(wmutex) ;V(Rmutex) ;7.答:semaphore chopstick5=1,1,1,1,1;semaphore mutex=1;void philosopher ()

26、/*哲学家进餐 */while(true)P(mutex);P(chopsticki);P(chopstick(i+1)%5);V(mutex);;eat;/*进餐*/;V(chopsticki);V(chopstick(i+1)%5);think;/*思考*/;第四章 调度与死锁思考与练习题1 某进程被唤醒后立刻投入运行,能说明该系统采用的是可剥夺调度算法吗?2 在哲学家进餐问题中,如果将先拿起左边筷子的哲学家称为左撇子,先拿起右边筷子的哲学家称为右撇子。请说明在同时存在左、右撇子的情况下,任何的就坐安排都不能产生锁死。3 系统中有 5 个资源被 4 个进程所共享,如果每个进程最多需要 2

27、个这种资源,试问系统是否会产生锁死?4 计算机系统有 8 台磁带机,由 N 个进程竞争使用,每个进程最多需要 3 台。问:N 为多少时,系统没有死锁的危险?5 系统有 5 个进程,它们的到达时间和服务时间如表 4-8 所示。新进程(没有运行过)与老进程(运行过的进程)的条件相同时,假定系统选新进程运行。表 4-8 进程情况进程名 到达时间 服务时间A 0 3B 2 6C 4 4D 6 5E 8 2若按先来先服务(FCFS) 、时间片轮法(时间片 q=1) 、短进程优先(SPN) 、最短剩余时间优先(SRT,时间片 q=1) 、响应比高者优先(HRRN )及多级反馈队列(MFQ ,第一个队列的时

28、间片为 1,第 i(i1)个队列的时间片 q=2( i-1) )算法进行 CPU 调度,请给出各个进程的完成时间、周转时间、带权周转时间,及所有的进程的平均周转时间和平均带权周转时间。6 设系统中有 5 个进程 P1、P2、P3、P4、P5 ,有 3 种类型的资源 A、B、C,其中 A 资源的数量是 17,B 资源的数量是 5,C 资源的数量是 20,T0 时刻系统状态如表 4-9 所示。表 4-9 T0 时刻系统状态已分配资源数量 最大资源需求量 仍然需求资源数进程 A B C A B C A B CP1 2 1 2 5 5 9 3 4 7P2 4 0 2 5 3 6 1 3 4P3 4 0

29、 5 4 0 11 0 0 6P4 2 0 4 4 2 5 2 2 1P5 3 1 4 4 2 4 1 1 0(1) 计算每个进程还可能需要的资源,并填入表的“仍然需要资源数”的栏目。(2) T0 时刻系统是否处于安全状态?为什么?(3) 如果 T0 时刻进程 P2 又有新的资源请求(0,3,4) ,是否实施资源分配?为什么?(4) 如果 T0 时刻,若进程 P4 又有新的资源请求(2,0,1) ,是否实施资源分配?为什么?(5) 在(4)的基础上,若进程 P1 又有新的资源请求(0,2,0) ,是否实施资源分配?为什么?答案1. 答:不能。如果当前就绪列队为空,这样被唤醒的进程就是就绪队列中

30、的唯一的一个进程,于是调度程序自然选中它投入运行。2. 答:该题的关键是证明该情况不满足产生死锁的四个必要条件之一。在死锁的四个必要条件中,本体对于互斥条件、请求与保持条件、不可剥夺条件肯定是成立的,因此必须证明环路条件不成立。对于本体,如果存在环路条件必须是左、右的哲学家都拿起了左(或右)边的筷子,而等待右(或左)边的筷子,而这种情况只能出现在所有哲学家都是左(或右)撇子的情况下,但由于本题有右(或左)撇子存在,因此不可能出现循环等待链,所以不可能产生死锁。3. 答:由于资源数大于进程数,所以系统中总会有一个进程获得资源数大于等于 2,该进程已经满足了它的最大需求,当它运行完毕后会把它占有的

31、资源归还给系统,此时其余3 个进程也能满足最大需求而顺利运行完毕。因此系统不会产生死锁。4. 答:当 N4 时,也有产生死锁的危险。5. (1)先来先服务(FCFS)平均周转时间 T=(3+7+9+12+12 )/5=43/5=8.6平均带全周转时间 W=(1+1.17+2.25+2.4+6)/5=12.82/5=2.56(2)采用时间片轮转(时间片 q=1)平均周转时间 T=(4+16+13+14+7)/5=54/5=10.8平均带权周转时间 W=(1.33+2.67+3.25+2.8+3.5 )/=13.55/5=2.71(3)短进程优先(SPN)平局周转时间 T=(3+7+11+14+3

32、 )/5=38/5=7.6平均带权周转时间 W=(1+1.17+2.75+2.8+1.5)/5=38/5=7.6(4)采用最短剩余时间(SRT,时间片 q=1)平局周转时间 T=(3+18+4+9+2)/5=36/5=7.2平均带权周转时间 W(1+3+1+1.8+1)/5=7.8/5=1.56(5)采用响应比高者优先(HRRN)平均周转时间 T=(3+7+9+14+7)/5=40/5=8平均带全周转时间 W=(1+1.17+2.25+2.8+3.5)/5=10.72/5=2.14(6)采用多级反馈队列(MFQ,第 1 个队列的时间片为 1 ,第 i(i1)个队列的时间片 q=2(i-1) )

33、平均周转时间 T=(3+15+14+14+6)/5=52/5=10.4平均带权周转时间 W=(1+2.5+3.5+2.8+3)/5=12.8/5=2.56第五章 存储管理思考与练习题1 存储管理的基本任务是为多道程序的并发执行提供良好的存储环境,这包括哪些方面?.2 页式存储管理系统是否产生碎片?如何应对此现象?3 在页式存储管理系统中页表的功能是什么?当系统的地址空间很大时会给页表的设计带来哪些新的问题?4 什么是动态链接?用哪种存储管理方案可以实现动态链接?5 某进程的大小为 25F3H 字节,被分配到内存的 3A6BH 字节开始的地址。但进程运行时,若使用上、下界寄存器,寄存器的值是多少

34、?如何进行存储保护?若使用地址、限长寄存器,寄存器的值是多少?如何进行存储保护?6 在系统中采用可变分区存储管理,操作系统占用低地址部分的 126KB,用户区的大小是386KB,采用空闲分区表管理空闲分区。若分配时从高地址开始,对于下述的作业申请序列:作业 1 申请 80KB;作业 2 申请 56KB;作业 3 申请 120KB;作业 1 完成;作业 3完成;作业 4 申请 156KB;作业 5 申请 80KB。使用首次适应法处理上述作业,并回答以下问题。(1 ) 画出作业 1、2、3 进入内存后,内存的分布情况。(2 ) 画出作业 1、3 完成后,内存的分布情况。(3 ) 画出作业 4、5

35、进入内存后,内存的分布情况。7 某系统采用页式存储管理策略,某进程的逻辑地址空间为 32 页,页的大小为 2KB,物理地址空间的大小是 4MB。8 某页式存储管理系统,内存的大小为 64KB,被分为 16 块,块号为0、1、2 、15。设某进程有 4 页,其页号为 0、1、2 、3,被分别装入内存的2、4、7 、5 ,问:(1 ) 该进程的大小是多少字节?(2 ) 写出该进程每一页在内存的起始地址。(3 ) 逻辑地址 4146 对应的物理地址是多少?9 某段式存储管理系统的段表如图所示。段号 段长 段始址0 15KB 40KB1 8KB 80KB2 10KB 100KB请将逻辑地址0,137、

36、1,9000、2,3600、3,230转换成物理地址。答案1.答:存储管理的基本任务是为多道程序的并发执行提供良好的存储器环境,它包括以下几个方面。(1)能让没到程序“各得其所 ”,并在不受干扰的环境中运行时,还可以使用户从存储空间的分配、保护等事物中解脱出来。(2)向用户提供更大的存储空间,使更多的程序同时投入运行或是更大的程序能在小的内存中运行。(3)为用户对信息的访问、保护、共享以及程序的动态链接、动态增长提供方便。(4)能使存储器有较高的利用率。2. 答:页式存储管理系统产生的碎片,称为内碎片,它是指一个进程的最后一页没有沾满一个存储块而被浪费的存储空间。减少内碎片的办法是减少页的大小

37、。3. 答:页式存储管理系统中,允许将进程的每一页离散地存储在内出的任何一个物理页面上,为保证进程的正常运行,系统建立了页表,记录了进城每一页被分配在内存的物理号。也表的功能是实现从页号到物理块的地址映射。当系统地址很大时,页表也会变得非常大,它将占有相当大的内存空间。4. 答:动态链接是指进程在运行时,只将进程对应的主程序段装入内存,并与主程序段链接上。通常一个大的程序是由一个主程序和若干个子陈旭以及一些数据段组成。而段式存储管理方案中的段就是按用户的逻辑段自然形成的,因此可实现动态链接。5. 答:(1 )若使用上下界寄存器,上界寄存器的值是 3A6BH,下界寄存器的值是3A6BH+25F3

38、H=605EH,当访问内存的地址大于 605EH、小于 3A6BH 时产生越界中断。(2) 若使用地址、限长寄存器,地址寄存器的值是 3A6BH,限长寄存器的值是25F3H,当访问内存的地址小于 3A6BH,超过 3A6BH+25F3H=605EH 时产生越界中断。7. (1)写出逻辑地址的格式。答:进程的逻辑地址空间为 32 页,故逻辑地址中的页号需要 5 位(二进制) ,由于每页的大小为 2KB,因此页内位移需用 11 位(二进制)表示,这样,逻辑地址格式如图所示。 15 11 10 0页号 页内位移(2)该进程的页表有多少项?每项至少占多少位?答:因为进程的逻辑地址空间为 32 页,因此

39、该进程的页表项有 32 项。页表中应存储每页的块号。因为物理地址空间大小是 4MB,4MB 的物理地址空间内分成4MB/2KB=2K 个块,因此块号部分需要 11 位(二进制) ,所以页表中每项占 11位。8. (1)该进程的大小是多少字节?答:内存的大小为 64 位,被分为 16 块,所以块的大小是 64KB/16=4KB。因为块的大小与页面的大小相等,所以页的大小是 4KB。该进程的大小是 4X4KB=16KB.(2)写出该进程每一页在内存的起始地址。答:因为进程页号为 0、1 、2、3 ,被分别装入内存的 2、4 、7、5。第 0 页在内存的起始地址是: 2X4KB=8KB第 1 页在内

40、存的起始地址是: 4X4KB=16KB第 2 页在内存的起始地址是: 7X4KB=28KB第 3 页在内存的起始地址是: 5X4KB=20KB(3)逻辑地址 4146 对应的物理地址是多少?答:逻辑地址 4146 对应的物理地址:4146/4096=1,50。逻辑地址 4146 对应的页号为 1,页内位移为 50。查找页表,得知页号为 1 的存储块号为 4,所以逻辑地址4146 对应的物理跨地址是:4X4096+50=16434。9. 答:(1)对于逻辑地址0,137,段号为 0,段内位移为 137。查段表的 0 项得到该段的段始址为 40KB 段长为 15KB。由于段号 0 小于进程的总段数

41、,故段号合法;段内位移 137 小于段长 15KB,故段内地址合法。因此可得到物理地址为:40KB+137B=40960B+137B=41097B。(2)对于逻辑地址1,9000 ,段号为 1,段内位移为 9000。查段表的 1 项得到该段的段始址为 80KB,段长为 8KB。由于段号 1 小于进程的总数(3)对于逻辑地址2,3600 ,段号为 2,段内位移为 3600。差段表的 2 项得到该段的段始址为 100KB,段长为 10KB,故段内地址合法。因此可得到物理地址为:100KB+3600B=102400B+3600B=106000B。第六章 虚拟存储管理思考与练习题1 试说明缺页与一般中

42、段的主要区别。2 局布置换和全局置换有何区别?在多道程序系统中建议使用哪一种?3 虚拟存储的特征是什么?虚拟存储器的容量受到哪两个方面的限制?4 已知页面走向是 1、2、1、3 、1、2、4 、2、1 、3、4,且进程开始执行时,内存中没有页面,若给该进程分配 2 个物理块,当采用以下算法时的缺页率是多少?(1 ) 先进先出置换算法。(2 ) 假如有一种页面置换算法,它总是淘汰刚使用过的页面。5 在请求页式存储管理系统中,使用先进先出(FIFO)页面置换算法,会产生一种奇怪的现象:分配给进程的页数越多,进程执行时的却也次数反而越高。试举例说明这一现象。6 某请求页式系统中,页的大小为 100

43、字,一个程序的大小为 1200 字,可能的访问序列如下:10、205 、110 、40、314、432、320 、225、80 、130 、272、420、128,若系统采用 LRU 置换算法,当分配给该进程的物理块数为 3 时,给出进程驻留的各个页面的变化情况、页面淘汰情况及缺页次数。7 在一个采用局部置换策略的请求页式系统中,分配中给进程的物理块数为 4,其中存放的 4 个页面的情况如表。当发生缺页时,分别采用下列页面置换算法时,讲置换哪一页?并解释原因。进程 4 个页面的情况页号 存储块号 加载时间 访问时间 访问位 修改位0 2 30 160 0 11 1 160 157 0 02 0

44、 10 162 1 03 3 220 165 1 1OPT(最佳)置换算法;FIFO(先进先出)置换算法;LRU(最近最少使用)置换算法;Clock 置换算法。某虚拟存储器的用户空间有 32 个页面,每页 1KB,内存大小为 16KB,假设某时刻系统为用户的第 0、1、2 、3 页分配得物理块号是 5、10、4 、7 ,而该用户进程的长度是 6 页。试将以下 16 进制的虚拟地址转换成物理地址。(1 ) 0X0A5C(2 ) 0X103C(3 ) 0X257B(4 ) 0X8A4C8 在请求页式存储管理系统中,页面大小是 100 字节,有一个 50X50 的数组按行连续存放,每个整数占 2 字

45、节。将数组初始化的程序如下程序 A:int i,j;int a5050;for (i=0;i50;i+)for (j=0;j50;j+)aij=0;程序 B:int i,j;int a5050;for (j=0;j50;j+)for (i=0;i50;i+)aij=0;若在程序执行过程中,内存中只有一个页面用来存放数组的信息,试问程序 A 和程序B 执行时产生的中断次数分别是多少?答案1. 答:缺页中断与一般中断一样,需要经历保护 CPU 香肠、分析中断原因、转中断处理程序进行及恢复中断现场等步骤。但缺页中断是一种特殊的中断,他与一般中断的区别:(1)在指令执行期间产生和处理中断, 。通常 c

46、pu 是在一条至六年个执行之后去检查是否有中断发生,若有边去处理中断;否则继续执行下一跳指令。而缺页中断是在指令执行期间发现所要访问的指令或数据不再内存时产生和处理中断。(2)一条指令执行期间可能产生多次中断。对于一跳要求读取多个字节数据的指令,指令中的数据可能跨越两个页面。该指令执行时可能要发生 3 次中断,一次是访问指令,另外两次访问数据。2. 答:局部置换是指当前进程在执行过程中发生缺页时,旨在分配给该进程的物理块中选择一页换出。全局置换是指在所有用户使用的整个存储空间中选择一个页面换出。在多道程序系统中建议使用局部置换策略。这样即使某个进程出现了抖动现象,也不致引起其他程序产生抖动,从而将抖动局限在较小的范围内。3. 答:虚拟存储器的特征有以下几个方面:(1)离散性:指进程不必装入连续的内存空间,二十“见缝插针” 。(2)多次性:只一个进程的程序和数据要分多次调入内存。(3)对换性:指进程在运行过程中,允许将部分程序和数据换进、换出。(4)虚拟性:指能从逻辑上扩充内存容量。虚拟存储器的容量主要是受计算机的地址长度和外存容量的限制。4. (1)先进先出置

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报