操作系统课后答案详解.doc
第一章操 作系统引论思考与练习题1. 什么就是操作系统?它得主要功能就是什么?2. 什么就是多道程序设计技术?多道程序设计技术得主要特点就是什么?3. 批处理系统就是怎样得一种操作系统?它得特点就是什么?4. 什么就是分时系统?什么就是实时系统?试从交互性,及时性,独立性,多路性,可靠性等几个方面比较分时系统与实施系统。5. 实时系统分为哪俩种类型?6. 操作系统主要特征就是什么?7. 操作系统也用户得接口有几种?它们各自用在什么场合?8. “操作系统就是控制硬件得软件”这一说法确切吗?为什么?9. 设内存中有三道程序,A,B,C,它们按ABC得先后顺序执行,它们进行“计算”与“I/o操作”得时间如表1-2所示,假设三道程序使用相同得I/O设备。表1-2 三道程序得操作时间操作程序计算I/o操作计算A203010B305020C102010(1) 试画出单道运行时三道程序得时间关系图,并计算完成三道程序要花多少时间。(2) 试画出多道运行时三道程序得时间关系图,并计算完成三道程序要花多少时间。10.将下列左右两列词连接起来形成意义最恰当得5对。DOS 网络操作系统OS/2 自由软件UNIX 多任务Linux 单任务Windows NT 为开发操作系统而设计 C语言11.选择一个现代操作系统,查找与阅读相关得技术资料,写一篇关于操作系统如何进行内存管理、存储管理、设备管理与文件管理得文章。答案1 答:操作系统就是控制与管理计算机得软、硬件资源,合理地组织计算机得工作流程,以方便用户使用得程序集合。2.答:把多个独立得程序同时放入内存,使她们共享系统中得资源。 1)多道,即计算机内存中同时放多道相互独立得程序。2) 宏观上并行,就是指共识进入系统得多道程序都处于运行过程。 3)微观上串行,就是指在单道处理机环境下,内存中得多道程序轮流地占有CPU,交替执行。3.答:批处理操作系统就是一种基本得操作系统类型。在该系统中用户得作业被成批地输入到计算机中,然后在操作系统得控制下,用户得作业自动得执行。 特点就是:资源利用率高。系统吞吐量大。平均周转时间长。无交互能力。4.答:分时系统:允许多个终端用户同时使用计算机,在这样得系统中,用户感觉不到其她用户得存在,好像独占计算机一样。实时系统:对外输入出信息,实时系统能够在规定得 时间内处理完毕并作出反应。 1)多路性:分时系统就是为多个终端用户提供服务,实时系统得多路性主要表现在经常对多路得现场信息进行采集以及多多个对象或多个执行机构进行控制。 2)独立性:每个终端向实时系统提出服务请求时,就是彼此独立得工作、互不干扰。 3)及时性:实时信息处理系统与分时系统对及时性得要求类似,都以人们能够接受得等待时间来确定。实时控制系统对一时性得要求更高,就是以控制对象所要求得开始截止时间或完成截止时间来确定得。5.答:(1)实时控制系统 (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=130ms10.DOS 网络操作系统 OS/2 自由软件 UNIX 多任务 Linux 单任务 WindowsNT 为开发操作系统而设计得C语言第二章 进程与线程思考与练习题1 操作系统中为什么要引入进程得概念?为了实现并发进程之间得合作与协调,以及保证系统得安全,操作系统在进程管理方面要做哪些工作?2 试描述当前正在运行得进程状态改变时,操作系统进行进程切换得步骤。3 现代操作系统一般都提供多任务得环境,就是回答以下问题。(1) 为支持多进程得并发执行,系统必须建立哪些关于进程得数据结构?(2) 为支持进程得状态变迁,系统至少应该供哪些进程控制原语?(3) 当进程得状态变迁时,相应得数据结构发生变化吗?4 什么就是进程控制块?从进程管理、中断处理、进程通信、文件管理、设备管理及存储管理得角度设计进程控制块应该包含得内容。5 假设系统就绪队列中有10个进程,这10个进程轮换执行,每隔300ms轮换一次,CPU在进程切换时所花费得时间就是10ms,试问系统化在进程切换上得开销占系统整个时间得比例就是多少?6 试述线程得特点及其与进程之间得关系。7 根据图2-18,回答以下问题。(1) 进程发生状态变迁1、3、4、6、7得原因。(2) 系统中常常由于某一进程得状态变迁引起另一进程也产生状态变迁,这种变迁称为因果变迁。下述变迁就是否为因果变迁:32,45,72,36,就是说明原因。(3) 根据此进程状态转换图,说明该系统CPU调度得策略与效果。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. 答:为了从变化角度动态地分析研究可以并发执行得程序,真实得反应系统得独立性、并发性、动态性与相互制约,操作系统中不得不引入进程得概念。 为了防止操作系统及其关键得数据结构受到用户程序破坏,将处理机分为核心态与用户态。对进程进行创建、撤销以及在某些进程状态之间得转换控制。2. 答:运行状态就绪状态:此进程根据自身得情况插入到就绪队列得适当位置,系统收回处理及转入进程调度程序重新进行调度。 运行状态阻塞状态:一个进程从运行状态道阻塞状态后。系统会调用进程调度程序重新选择一个进程投入运行。(1) 答:为支持多进程得并发执行,系统必须建立得数据结构式PCB,不同状态进程得PCB用链表组织起来,形成就绪队列、阻塞队列。(2) 答:阻塞原句、唤醒原句、挂起原句、激活原句(3) 答:创建原句:建立进程得PCB,并将进程投入就绪队列。 撤销原句:删除进程得PCB,并将进程在其队列中摘除。 阻塞原句:将京城PCB中进程得状态从运行状态改为阻塞状态,并将进程投入阻塞队列。 唤醒原句:将进程PCB中进程得状态从阻塞状态改为就绪状态,并将进程从则色队列摘下,投入到就绪队列中。3. 答:进程控制块(PCB)就是为了描述进程得动态变化而设置得一个与进程相联系得数据结构,用于记录系统管理进程所需信息。PCB就是进程存在得唯一标识,操作系统通过PCB得知进程得寻在。为了进程管理,进程控制块包括以下几方面。(1) 进程得描述信息,包括进程标识符、进程名等。(2) 进程得当前状况。(3) 当前队列链接指针。(4) 进程得家族关系。为了中断处理,进程控制块得内容应该包括处理机状态信息与各种寄存器得内容,如通用寄存器、指令计数器、程序状态字(PSW)寄存器及栈指针等。为了内存管理得需要,进程控制块得内容应该包括进程使用得信号量、消息队列指针等。为了设备管理,进程控制块得内容应该包括进程占有资源得情况。4. 答:就绪队列中有10个进程,这10个进程轮换执行,每隔进程得运行时间就是300ms,切换另一个进程所花费得总时间就是10ms,隐刺系统化在进程切换上得时间开销占系统整个时间得比例就是:10/(300+10)=3、2%、5. 答:线程就是进程内得一个相对独立得运行单元,就是操作系统调度与分派得单位。线程只拥有一点必不可少得资源(一组寄存器与栈),但可以与铜属于一个进程得其她线程共享进程拥有得资源。 线程就是进程得一部分,就是进程内得一个实体;一个进程可以有多个线程,但至少必须有一个线程。(1) 答:1表示新进程创建后,进入高优先级就绪队列;3表示进程因请求I/O活等待某件事儿阻塞;4表示进程运行得时间片到;6表示进程I/O完成或等待得时间到达;7表示进程运行顽皮而退出。(2) 答:32就是因果变迁,当一个进程从运行态变为阻塞态时,此时CPU空闲,系统首先到高优先级队列中选择一个进程投入运行。45就是因果变迁,当一个进程运行完毕时,此时CPU空闲,系统首先到高优先级队列中选择进程,但如果高优先级队列为空,则从低优先队列中选择一个进程投入运行。72 就是因果变迁,当一个进程运行完毕时,CPU空闲,系统首先到高优先级队列中选择一个进程投入运行。36不就是因果变迁。一个进程阻塞时由于自身得原因而发生得,与另一个进程等待得时间到达没有因果关系。(3) 答:当进程调度时,首先从高优先级就绪队列选择一个进程,赋予它得时间片为100ms。如果高优先级就绪队列为控,则从低优先级就绪队列选择进程,但赋予该进程得时间片为500ms。这种策略一方面照顾了短进程,一个进程如果在100ms运行完毕它将退出系统,更主要得就是照顾了I/O量大得进程,进程因I/O进入阻塞队列,当I/O完成后它就进入了高优先级就绪队列,在高优先级就绪队列等待得进程总就是优于低优先级就绪队列得进程。而对于计算量较大得进程,它得计算如果在100ms得时间内不能完成,它将进入低优先级就绪队列,在这个队列得进程被选中得机会要少,只有当高优先级就绪队列为空,才从低优先级就绪队列选择进程,但对于计算量大得进程,系统给予得适当照顾时间片增大为500ms。 (1) 答:就是。若系统中没有运行进程,系统会马上选择一个就绪进程队列中得进程投入运行。只有在就绪队列为空时,CPU才会空闲。(2) 答:不一定。当系统中所有进程分别等待各自希望发生得事件时,它们都处于阻塞状态,此时系统中既没有运行进程,也没有就绪进程。这种情况出现时,如果各个进程没有相互等待关系,只要等待得时间发生了,进程就会从等待状态转化为就绪状态。但如果处于阻塞状态得进程相互等待彼此占有得资源,系统就有可能发生死锁。(3) 答:不一定。因为高优先级得进程有可能处于等待状态,进程调度程序只能从就绪队列中挑选一个进程投入运行。被选中进程得优先级在就绪队列中就是最高得,但在整个系统中它不一定就是最发哦得,等待队列中进程得优先级有可能高于就绪队列中所有进程得优先级。(1) 答: P1与P2并发执行得条件就是,当且仅当 R(P1)W(P2) R(P2) W(P1) W(P1)W(P2)=S1S2S3 (2) 答: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) 几个同学去图书馆借同一本书。(2) 篮球比赛中两队同学争抢篮板球。(3) 果汁流水线生产中捣碎、消毒、灌装、装箱等各道工序。(4) 商品得入库出库。(5) 工人做工与农民种粮。2 在操作系统中引入管程得目得就是什么?条件变量得作用就是什么?3 说明P、V操作为什么要设计成原语。4 设有一个售票大厅,可容纳200人购票。如果厅内不足200人则允许进入,超过则在厅外等候;售票员某时只能给一个购票者服务,购票者买完票后就离开。试问:(1) 购票者之间就是同步关系还就是互斥关系?(2) 用P、V操作描述购票者得工作过程。5 进程之间得关系如图3-16所示,试用P、V操作描述它们之间得同步。6 有4个进程P1、P2、P3、P4共享一个缓冲区,进程P1向缓冲区存入消息,进程P2、P3、P4从缓冲区中去消息,要求发送者必须等三个进程都去过本消息后才能发送下调消息。缓冲区内每次只能容纳一个消息,用P、V操作描述四个进程存取消息得情况。7 分析生产者消费者问题中多个P操作颠倒引起得后果。8 读者写者问题中写者优先得实现。9 写一个用信号量解决哲学家进餐问题不产生锁死得算法。10 一个文件可有若干个不同得进程所共享,每个进程具有唯一得编号。假定文件可有满足下列限制得若干个不同得进程同时访问,并发访问该文件得哪些进程得编号得总与不得大于n,设计一个协调对该文件访问得管程。11 用管程解决读者写者问题,并采用公平原则。答案(1) 答:存在互斥关系,因为同一本书只能借给一个同学。(2) 答:存在互斥关系,因为篮球只有一个,两队只能有一个队抢到球(3) 答:存在同步关系,因为最后一道工序得开始依赖于前一道工序得完成。(4) 答:存在同步关系,因为商品若没有入库就无法出库,若商品没有出库,装满了库房,也就无法再入库。(5) 答:工人与农民之间没有相互制约关系。1. 答:引入管程得目得就是为了实现进程之间得同步与互斥。优于使用信号量在解决同步与互斥问题时要设置多个信号量,并使用大量得P、V操作,其中P操作得排列次序不当,还会引起系统死锁,因此引入另外一种同步机制。2. 答:用信号量S表示共享资源,其初值为1表示有一个资源。设有两个进程申请该资源,若其中一个进程先执行P操作。P操作中得减1操作有3跳及其指令组成:去S送寄存器R;R-1送S。若P操作不用原语实现,在执行了前述三条指令中得2条,即还未执行R送S时(此时S值仍为1),进程被剥夺CPU,另一个进程执行也要执行P操作,执行后S得值为0,导致信号量得值错误。正确得结果就是两个进程执行完P操作后,信号量S得值为-1,进程阻塞。(1) 答:购票者之间就是互斥关系。 答: semaphore empty=200; semaphore mutex=1; void buyer() P(empty); P(mutex); 购票; V(mutex); V(empty); 答: 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;semaphore 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; 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)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 答:semaphore Wmutex,Rmutex=1;int Rcount=0;semaphore mutex=1void reader() /*读者进程*/ void writer() /*写者进程*/while(true) while(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);答:semaphore chopstick5=1,1,1,1,1;semaphore mutex=1;void philosopher ()/*哲学家进餐*/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个这种资源,试问系统就是否会产生锁死?4 计算机系统有8台磁带机,由N个进程竞争使用,每个进程最多需要3台。问:N为多少时,系统没有死锁得危险?5 系统有5个进程,它们得到达时间与服务时间如表4-8所示。新进程(没有运行过)与老进程(运行过得进程)得条件相同时,假定系统选新进程运行。 表4-8 进程情况进程名到达时间服务时间A03B26C44D65E82若按先来先服务(FCFS)、时间片轮法(时间片q=1)、短进程优先(SPN)、最短剩余时间优先(SRT,时间片q=1)、响应比高者优先(HRRN)及多级反馈队列(MFQ,第一个队列得时间片为1,第i(i>1)个队列得时间片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时刻系统状态进程已分配资源数量最大资源需求量仍然需求资源数ABCABCABCP1212559347P2402536134P34054011006P4204425221P5314424110(1) 计算每个进程还可能需要得资源,并填入表得“仍然需要资源数”得栏目。(2) T0时刻系统就是否处于安全状态?为什么?(3) 如果T0时刻进程P2又有新得资源请求(0,3,4),就是否实施资源分配?为什么?(4) 如果T0时刻,若进程P4又有新得资源请求(2,0,1),就是否实施资源分配?为什么?(5) 在(4)得基础上,若进程P1又有新得资源请求(0,2,0),就是否实施资源分配?为什么?答案1、 答:不能。如果当前就绪列队为空,这样被唤醒得进程就就是就绪队列中得唯一得一个进程,于就是调度程序自然选中它投入运行。2、 答:该题得关键就是证明该情况不满足产生死锁得四个必要条件之一。在死锁得四个必要条件中,本体对于互斥条件、请求与保持条件、不可剥夺条件肯定就是成立得,因此必须证明环路条件不成立。 对于本体,如果存在环路条件必须就是左、右得哲学家都拿起了左(或右)边得筷子,而等待右(或左)边得筷子,而这种情况只能出现在所有哲学家都就是左(或右)撇子得情况下,但由于本题有右(或左)撇子存在,因此不可能出现循环等待链,所以不可能产生死锁。3、 答:由于资源数大于进程数,所以系统中总会有一个进程获得资源数大于等于2,该进程已经满足了它得最大需求,当它运行完毕后会把它占有得资源归还给系统,此时其余3个进程也能满足最大需求而顺利运行完毕。因此系统不会产生死锁。4、 答:当N<4时,系统没有死锁得危险。因为当N为1时,它最多需要3台磁带机,系统中共有8台,其资源数已足够一个进程使用,因此绝对不会产生死锁,当N为2时,两个进程最多需要6台磁带机,系统中共有8台,其资源数也足够两个进程使用,因此也不会产生死锁;当N为3时,无论如何分配,3个进程中必有进程得到3台磁带机,该进程已经达到它得最大需求,当它运行完毕后可就是放这3台磁带机,这就保证了其她两个进程也可顺利执行完毕。因此当N<4时,系统没有死锁得危险。 当N=4时,假设4个进程都得到两个资源,此时系统中已没有剩余资源,而4个进程都没有到达它们得最大需求,所以系统有可能产生死锁。同理,当N>4时,也有产生死锁得危险。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)/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(i>1)个队列得时间片 q=2(i-1) 平均周转时间 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字节开始得地址。但进程运行时,若使用上、下界寄存器,寄存器得值就是多少?如何进行存储保护?若使用地址、限长寄存器,寄存器得值就是多少?如何进行存储保护?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进入内存后,内存得分布情况。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 某段式存储管理系统得段表如图所示。 段号 段长 段始址015KB40KB18KB80KB210KB100KB请将逻辑地址0,137、1,9000、2,3600、3,230转换成物理地址。答案1、答:存储管理得基本任务就是为多道程序得并发执行提供良好得存储器环境,它包括以下几个方面。 (1)能让没到程序“各得其所”,并在不受干扰得环境中运行时,还可以使用户从存储空间得分配、保护等事物中解脱出来。 (2)向用户提供更大得存储空间,使更多得程序同时投入运行或就是更大得程序能在小得内存中运行。 (3)为用户对信息得访问、保护、共享以及程序得动态链接、动态增长提供方便。 (4)能使存储器有较高得利用率。2、 答:页式存储管理系统产生得碎片,称为内碎片,它就是指一个进程得最后一页没有沾满一个存储块而被浪费得存储空间。减少内碎片得办法就是减少页得大小。3、 答:页式存储管理系统中,允许将进程得每一页离散地存储在内出得任何一个物理页面上,为保证进程得正常运行,系统建立了页表,记录了进城每一页被分配在内存得物理号。也表得功能就是实现从页号到物理块得地址映射。 当系统地址很大时,页表也会变得非常大,它将占有相当大得内存空间。4、 答:动态链接就是指进程在运行时,只将进程对应得主程序段装入内存,并与主程序段链接上。通常一个大得程序就是由一个主程序与若干个子陈旭以及一些数据段组成。而段式存储管理方案中得段就就是按用户得逻辑段自然形成得,因此可实现动态链接。5、 答:(1)若使用上下界寄存器,上界寄存器得值就是3A6BH,下界寄存器得值就是3A6BH+25F3H=605EH,当访问内存得地址大于605EH、小于3A6BH时产生越界中断。 (2) 若使用地址、限长寄存器,地址寄存器得值就是3A6BH,限长寄存器得值就是25F3H,当访问内存得地址小于3A6BH,超过3A6BH+25F3H=605EH时产生越界中断。7、 (1)写出逻辑地址得格式。 答:进程得逻辑地址空间为32页,故逻辑地址中得页号需要5位(二进制),由于每页得大小为2KB,因此页内位移需用11位(二进制)表示,这样,逻辑地址格式如图所示。 15 11 10 0页号 页内位移 (2)该进程得页表有多少项?每项至少占多少位? 答:因为进程得逻辑地址空间为32页,因此该进程得页表项有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页在内存得起始地址就是: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小于进程得总段数,故段号合法;段内位移137小于段长15KB,故段内地址合法。因此可得到物理地址为:40KB+137B=40960B+137B=41097B。 (2)对于逻辑地址1,9000,段号为1,段内位移为9000。查段表得1