2025年操作系统基础题(操作系统例题)

操作系统基础题(操作系统例题)1 1 操作系统引论 1 什么是操作系统 它的主要功能是什么 关于操作系统 至今沿无严格的统一的定义 对操作系统的定义有各种说法 不同的说法反映了人们从不同 的角度所揭示的操作系统的本质特征 1 从资源管理的角度 操作系统是控制和管理计算的软 硬件资源 合理地纟 f1 织计算机的工作流程以及 方便用户的程序集合 2 从硬件扩充的角度 操作系统是控制和管理计算机裸机 z 上的第一层软件 是对计算机硬件功能的一 次扩充 操作系统的主要功能有处理机管理 内存管理 设备管理文件管理等功能 以及用户接口 2



1、1操作系统引论1、什么是操作系统,它的主要功能是什么?关于操作系统,至今沿无严格的统一的定义,对操作系统的定义有各种说法,不同的说法反映了人们从不同 的角度所揭示的操作系统的本质特征。(1)从资源管理的角度,操作系统是控制和管理计算的软、硬件资源,合理地纟f1织计算机的工作流程以及 方便用户的程序集合。(2)从硬件扩充的角度,操作系统是控制和管理计算机裸机z上的第一层软件,是对计算机硬件功能的一 次扩充。操作系统的主要功能有处理机管理、内存管理、设备管理文件管理等功能,以及用户接口。2、什么是多道程序设计技术?多道程序设计技术的主要特点是什么?多道程序设计技术就是把多个程序同时放入内存,它们共

2、享系统中的各种资源,并发地在处理机上运行。特点如下:(1)多道,即计算机内存中同时存入多道相互独立的程序。(2)宏观上并行,是指同时进入系统的多道程序都处于运行过程中。(3)微观上串行,是指在单处理机环境下,内存中的多道程序轮流地占有cpu,交替执行。3、批处理系统是怎样的一种操作系统?它的特点是什么?批处理系统是一种基木的操作系统类型。在该系统屮,用户的作业(包括程序、数据及程序的处理步骤)被 成批地输入到计算机中,然后在操作系统的控制卞,用户的作业自动地执行。批处理系统的特点是“成批”和“白动”。成批是指多个作业同时进入系统,其中一部分放在内存屮,其余 的入在外存的示备队列屮,这样便于系统

3、搭配合理的作业使之执行,从而充分发挥系统屮各种资源的作用。自动 是指作业一旦提交,用户就不能干预自己的作业。4、什么是分时系统?什么是实吋系统?试从交互性、及时性、独立性、多路性和可靠性几个方面比较分时 系统和实时系统。分时系统允许多个终端用户同时使用计算机,在这样的系统中,用户感觉不到其他用户的存在,好像独占计 算机一样。实时系统是指系统对特定输入做出的反应速度足以控制发出实时信号的对象。“实时”二字的含义是指在计 算机对于外来信息能够及吋处理,并在被控对彖允许的范围内做出快速反应。分时系统具冇的多路性、独立性、及时性和交互性这四大特征,实时系统也同样具备,另外,实时系统对口j 靠性的要求比

4、较高。下面从以下儿方面对他们进行比较。(1)多路性。实吋信息重系统与分时系统一样具有多路性。操作系统按分吋原则为多个终端用户提供服务。 而对于实时控制系统,其多路性主要表现在经常对多咱的现声信息进行采集以及对多个对象或多个执行机构进行 控制。(2)独立性。不管是实时信息处理系统还是实时控制系统,与分吋系统一样都具独立性。每个终端用户在 向实时系统捉岀服务请求时,彼此独立地工作、互不干扰。(3)及时性。实时倍息处理系统对及吋性要求与分吋系统类似,都以人们能接受的等待吋间来确定。而实 时控制系统对及时性要求更高,是以控制对象所要求的开始截止时间或完成截止时间来确定,一般为秒级、儿百 亳秒级、毫秒级

5、,有时英至要求低于几百微秒。(4)交互性。实时信息处理系统具有交互性,但人与系统的交互,仅限于访问系统中某些特定的专用服务 程序。它不像分时系统那样向终端用户提供数据处理、资源共享等服务。实时控制系统的交互性要求系统具有连 续的人机对话的能力,也就是说,在交互的过程屮要对用户的输入有一定的记忆和进一步推断的能力。(5)可靠性。分时系统虽然也要求具有可靠性,但相比z下,实时系统则要求系统高度可靠。因为任何的 差错都可能造成巨大的经济损失,甚至产生无法预料的后果。因此,在实吋系统中,都耍采取多级容错措施,来 保证系统的安全性及数据的安全性。5、实时系统分为哪两种类型?实时系统按使用方式的不同可分为

6、两类:实时控制系统和实时信息处理系统。实时控制系统利用计算机对实 时过程进行控制和提供监督环境。实时信息处理系统利用计算机对实时数据进行处理。6、操作系统的主要特征是什么?操作系统的主耍特征是并发性、共享性、虚拟性和不确定性。并发性是指两个或两个以上的事物在同一时间 间隔发生。共享性是指多道程序或任务对计算机资源的共同享用。虚拟性是指操作系统采用软件的手段将一个物 理上的实体对应为多个逻辑上的对应物。不确定性是指操作系统是在一个不确定的环境小运行,人们不能对所运 行程序的行为以及硬件设备的悄况做出任何的假定,也无法确切地知道操作系统正处丁什么样的状态。7、操作系统与用户的接口有儿种?它们各自用

7、在什么场合?操作系统与用户的接口分为命令接口和程序接口,命令接口提供一组命令供用户使用。命令接口用于用户操 作级别。程序接口提供一组系统调用,供用户在程序屮取得操作系统服务而设置。程序接口用于用户程序级别。8> “操作系统是控制驶件的软件。”这一说法确切吗?为什么?这说法不确切。因为操作系统不仅控制和管理计算机的硬件资源,还要控制和管理计算机的软件资源,把操 作系统定义为控制硬件的软件是片面的。9、将下列左右两列词连接起來形成意义最恰当的对。dosos/2unixlinuxwindows nt网络操作系统自由软件多任务单任务为开发操作系统而设计c语言dosx.网络操作系统os/2自由软件

8、unixt令-多任务linux单任务windows nt z为开发操作系统而设计c语言2进程与线程1、操作系统中为什么要引入进程的概念?为了实现并发进程之间的合作和协调,以及保证系统的安全, 操作系统在进程管理方面要做哪些工作?在多道程序的环境中,程序的并发执行代替了程序的顺序执行,并发执行的程序破坏了程序的封闭性和 可再现性,使得程序和它的执行不再一一对应。此外,程序的并发执行导致了资源的竞争和共享,这就造成 并发执行的程序之间可能存在相互制约关系。因此并发执行的程序不再处于封闭的系统屮,而出现了许多新 的特征,如动态性、并发性、独立性及并发程序之间相互制约性待。程序这个静态的概念已经无法真

9、实地反 映并发执行的程序的特征,所以需要一个能够描述并发程序执行的过程的实体一一进程。进程是一个数据集 合上的执行过程。操作系统在进程管理方面要做的主要工作有以下儿方面:(1)进程控制:设置一套机制来完成进程的创建、撤销以及进程状态的转化。(2)进程同步:实现对系统屮运行的所有进程之间的协调,包括进程互斥和进程同步。(3)进程通信:在多道程序环境小,进程z间需要合作以共同完成一项任务,这些进程zi'可需要交换 信息来协调各自的工作进度。所以系统必须具有进程z间通信的能力。(4)进程调度:当处理机空闲时,按一定算法挑选一个进程,使其山有处理,投入运行。2、试描述当前正在运行的进程状态改变

10、时,操作系统进行进程切换的步骤?当正在执行的进程状态改变时,进程切换的步骤如下:(1)保存处理的状态到该进程的pcb屮,包括各种寄存器的内容,如通用寄存器、指令计数器、程序 状态字(psw)寄存器及栈指针。(2)对当明运行进程的pcb进行更新,包括改变进程的状态和其他相关信息。(3)根据情况将该进程的pcb移入相应的队列(可能是就绪队列、阻塞队列及就绪挂起等)。(4)进行进程调度,挑选一个进程。(5)更新被选屮进程的pcb,包括将其状态改为运行状态。(6)根据被选择进程的pcb内容,得到被选进程对应程序的地址。(7)恢复被选屮进程的处理机状态。3、现代操作系统一般都提供多任务的环境,度冋答以下

11、问题:(1)为运行多进程的并发执行,系统必 须建立哪些关于进程的数据结构? (2)为支持进程的状态变迁,系统至少应提供哪些进程控制原语?(3) 当进程的状态变迁吋,和应的数据结构发生变化吗?多任务环境即多道程序环境或多进程环境。(1)为支持多进程的并发执行,系统必须建立的数据结构是pcb,不同状态进程的pcb用链表组织起 來,开成就绪队列、阻塞队列等。(2)为运行进程的状态变迁,系统至少提供的进程控制原语包括创建原语、撤销原语、阻塞原语和唤 醒原语,当内存紧张时还应提供挂起原语和激话原语。(3)当进程的状态变迁时,相应的数据结构发牛变化,具体如下:创建原语:建立进程的pcb,并将进程投入就绪队

12、列。撤销原语:删除进程的pcb,并将进程在其队列屮摘除。阻塞原语:将进程pcb中进程的状态从运行状态改为阻塞状态,并将进程投入到阻塞队列。唤醒原语:将进程pcb中进程的状态从阻塞状态改为就绪状态,并将进程从阻塞队列摘下,投入到就 绪队列中。4、什么是进程控制块,从进程管理、中断处理、进程通信、文件管理、设备管理及存储管理的角度设 计进程控制块应包含的内容。进程控制块(pcb)是为了描述进程的动态变化而设置的一个与进程相联系的数据结构,用于记录系统 管理进程所需信息。pcb是进程存在的唯一标识,操作系统通过pcb得知进程的存在。为了进程管理,进程控制块的内容应包括以下几方面:(1)进程的描述信息

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

14、比 例是多少?就绪队列中有10个进程,这10个进程轮换执行,每个进程的运行时间是300ms,切换另 一个进程所花费的总时间是10ms,因此系统化在进程切换上的时间开销占系统整个时间的比 例是:10/ (300+10) =3.2%6、试述线程的特点及其与进程之间的关系。线程是进程内的一个相对独立的运行单元,是操作系统调度和分派的单位。线程只拥有一 点必不可少的资源(一组寄存器和栈),但可以和同属于一个进程的其他线程共享进程拥有的 资源。线程是进程的一部分,是进程内的一个实体;一个进程可以有多个线程,但至少必须有一 个线程。在多线程的操作系统中,线程是独立调度的分派的单位,进程是拥有资源的单位。7

15、、根据下图,回答以下问题。(1)进程发牛状态变迁1、3、4、6、7的原因。(2)系统中常帘由于某 -进程的状态变迁引起另一进程也产牛状态变迁,这种变迁称为因果变迁。下述变迁是否为因果变迁;3>2、 4>5、7>2、3->6,试说明原因。(3)根据图说明该系统cpu调度的策略和效果。(1)从图中可以看出,1表示新进程创建后,进入高优先级就绪队列;3表示进程因请求i/o或等待栽 事件而阻塞:4表示进程运行的吋间片到;6表示进程i/o完成或等待的事件到达;7表示进程运行完毕而退 出。(2)从图中可看出,3->2是因果变迁,当一个进程从运行态变为阻塞态时,此时cpu空闲,

16、系统首 先到高优先级队列屮选择一个进程投入运行。4->5是因果变迁,当一个进程时间片到,从运行态变为就绪状态时,此时cpu空闲,系统首先到高优 先级队列中选择进程,但如果高优先级队列为空,则从低优先级队列中选择一个进程投入运行。7->2是因果变迁,当一个进程运行完毕时,cpu空闲,系统首先到高优先级队列中选择一个进程投入 运行。3->6不是因果变迁。一个进程阻塞是由于自身的原因而发生的,和另一个进程等待的事件到达没有因 果关系。(3)从图可以看出,当进程调度吋,首先从高优先级就绪队列选择一个进程,赋予它的吋间片为100ms。 如果高优先级就绪队列为空,则从低优先级就绪队列选择

17、进程,但赋予该进程的时间片为500mso这种策略一方面照顾了短进程,一个进程如果在100ms运行完毕它将退出系统,更主要的是照顾了 i/o 量人的进程,进程因i/o进入阻塞队列,当i/o完成示它就进入了高优先级就绪队列,在高优先级就绪队列 等待的进程总是优先级就绪队列的进程。而对于计算机量较大的进程,它的计算机如果在一个100ms的时间 片内不能完成,它将进入低优先级就绪队列,在这个队列的进程被选屮的机会要少,只有当高优先级就绪队 列为空,才从低优先级就绪队列选择进程,但对于计算量大的进程,系统给予的适当照顾是时间片增大为 500ms o8、回答以下问题。(1)若系统中没有运行进程,是否一定没

18、有就绪进程?为什么?(2)若系统中既没 冇运行进程,也没冇就绪进程,系统中是否就没冇阻塞进程?请解释。(3)如果系统采用优先级调度策略, 运行的进程是否一定是系统中优先级最高的进程。(1)是。若系统中没有运行进程,系统会马上选择一个就绪进程队列中的进程投入运行。只有在就绪 队列为空时,cpu才会空闲。(2) 不一定,当系统中所有进程分别等待各自希望发生的事件吋,它们都处丁阻塞状态,此吋系统屮 既没有运行进程,也没有就绪进程。这种情况出现时,如果各个进程没有相互等待关系,只要等待的事件发 生了,进程就会从等待状态转化为就绪状态。但如果处于阻塞状态的进程相互等待彼此占有的资源,系统就 可能发生死锁

19、。(3)不一定。因为高优先级的进程有可能处于等待状态,进程调度程序只能从就绪队列中挑选一个进 程投入运行。被选中进程的优先级在就绪队列中是最高的,但在整个系统中它不一定是最高的,等待队列中 进程的优先级有可能高于就绪队列中所有进程的优先级。9、假如有以下程序段,回答下面问题。si: a=3-x; s2:b=2*a; s3:c=5+a; (1)并发程序执行的bernstein条件是什么?(2)试画图表示它们执彳亍时的先后次序。(3)利用bernstain条件证明,si、s2和s3哪两个可以并发执行,哪两个不能。(1) bernstain提出的程序并发执行的条件如下:r (pi) =aba2,a表

20、示程序r在执行期间所要参考的所有变量的集合,称为“读集”; w (pi) =bbb2,叽表示程序pi在执行期间要改变的所有变量的集合,称为“写集”。两个 程序p1和p2并发执行的条件是,当且仅当r (pi) nw (p2) ur (p2)nw (pj uw (pj cw (p2) =(2) 三个程序段对应的三个进程的先后执行次序是,s】先于s2和s3运行,如下图所示。f s2(3) r (si) =x, w (si) =ar (s2) =a, w (s2) =br (s3) =a, w (s3) =c所以 w (si) cr (s2) =a,因此 si和 s2不能并发执行。w (si) cr

21、(s3)二a, 因此si和s3也不能并发执行。而r (s2) cw (s3) ur (s3) nw (s2) uw (s2) cw (s3) =,因此 s2和 s3可以并 发执行。3进程同步与通信1、以下进程z间存在相互制约关系吗?若存在,是什么制约关系?为什么?(1)几个同学去图书馆借 同一本书;(2)篮球比赛中两队同学争抢篮板球;(3)果汁流水线生产中捣碎、消毒、灌装、装箱等各道工 序;(4)商品的入库和出库;(5)工人做工与农民种粮。进程之间的相互制约分为互斥关系和同步关系。互斥关系是多个进程之间竞争临界资源,而禁止两个以 上的进程同时进入临界区所发生的制约关系。同步关系是合作进程z间协

22、调彼此的工作,而控制自己的执行 速度,由此产生的相互合作、相互等待的制约关系。(1) 几个同学去图书馆借同一本巧。存在互斥关系。因为一本巧只能借给一个同学。(2) 篮球比赛中两队同学争抢篮板球。存在互斥关系。因为篮球只有一个,两队只能有一个队抢到篮球。(3) 果汁流水线生产中捣碎、消毒、灌装、装箱等各道工序。存在同步关系,因为后一道工序的开始 依赖于前一道工序的完成。(4) 商品的入库和出库。存在同步关系,因为商吊若没有入库就无法出库,若商品没有出库,装满了 库房,也就无法再入库。(5) 工人做工为农民种粮。工人和农民z间没有相互制约关系。2、说明p、v操作为什么要设计成原语?用信号量s表示共

23、亨资源,其初值为1表示有一个资源。设有两个进程申请该资源,若其中一个进程先 执行p操作。p操作中的减1操作由3条机器指令组成:取s送寄存器r; r-1送r; r送s。若p操作不用 原语实现,在执行了前述三条指令中的2条,即还未执行r送s时(此时s的值仍为1),进程被剥夺cpu, 另一个进程执行也婆执行p操作,执行后s的值为0,导致信号虽:的值错误。正确的结果是两个进程执行完 p操作后,信号量的值为1,进程阻塞。v操作也同样。所以要把信号量的p、v操作设计成原语,要求该操作屮的所有指令要么都做,要么都 不做。3、设冇一个售票大厅,可容纳200人购票。如果厅内不足200人,则允许进入,超过则在厅外

24、等候; 伟票员某时只能给一个购票者服务,购票者买完票后就离开。试问:(1)购票者之间是同步关系还是互斥关 系? (2)用p、v操作描述购票者的工作过程。购票者之间是互斥关系。p、v操作描述购票者的工作过程如下:semaphore empty=2000;semaphore mutcx= 1;void buyer() p(empty);p(mutex);购票;v(mutex);v(empty); 售票大厅可容纳200人购票,说明最多允许200人共享售票大厅。弓i入一个信号量empty,初值为200; 由于购票者必须互斥地购票,故再设置一个信号量mutex,初值为1。4、分析生产者和消费者问题屮多个

25、p操作颠倒引起的后果。答:如果将牛产进程的两个p操作,即p (empty)和p (mutex)的位置互换,生产者和消费者问题描 述如下:semaphore mutex=l;semaphore empty=n;semaphore full=0;int i,j;item buffcrn, data_p, data_c;void producer() /*牛产者进程*/ while(true) produce an item in data_p;p (empty)p (empty)bufferij = data_p;i=(i+l)%n;v (nutex);v (full);void consumer

26、()/*消费者进程*/ while(true) p (full)p (mutex )data_c = buffcrj;j=(j+l)%n;v (nutex);v (empty);consume the item in data_c;按上面的描述,当生产者进程生产了n个产品而使缓冲区满时,生产者如若继续执行,对能顺利通过p (mutex)o但当执行p (empty)时,由于缓冲区已满,生产者将在信号量empty ±等待。若之后消费者欲取 产品,执行p (full)顺利通过,但当执行p (mutex)时,由于生产者获得了进入临界区的权力,消费者只 能在mutex ±等待。此时生

27、产者在empty ±等待,消费者在mutex ±等待,从而导致生产者等待消费者取走 产甜,消费者等待生产者释放缓冲区,这种相互等待就造成系统死锁。4调度与死锁1、某进程被唤醍后立即投入运行,能说明系统采用的是可剥夺调度算法吗?不能。如果当前就绪队列为空,被样被唤醒的进程就是就绪队列屮唯一的一个进程,于是调试程序自然 选中它投入运行。2、在哲学家进餐问题屮,如果将先拿起左边筷子的哲学家称为左撇子,将先拿起右边筷子的哲学家称 为右撇子。请说明在同时存在左、右撇子的情况下,任何的就座安排都不能产牛死锁。该题的关键是证明该情况不满足产牛的四个必耍条件之一。在死锁的四个必要条件屮,本

28、题对于互斥条 件、请求与保持条件、不可剥夺条件肯定是成立的,因此必须证明环路条件不成立。对于本题,如果存在环路条件必须是左、右的哲学家都拿起了左(或右)边的筷了,而等待右(或左) 边的筷子,而这种悄况只能出现在所有哲学家都是左(或右)撇子的情况下,但由于本题有右(或左)撇子 存在,因此不可能出现循环等待链,所以不可能产生死锁。3、系统中有5个资源被4个进程所共享,如果每个进程最多需要两个资源,试问系统是否会产生死锁? 由于资源数大于进程数,所以系统中总会有一个进程获得的资源数大于等于2,该进程已经满足了它的最大需求,当它运行完毕后会把它占有的资源归还给系统,此时其余3个进程也能满足最大需求而顺

29、利运行完 毕。因此系统不会产生死锁。4、计算机系统中有8台磁带机,由n个进程竞争使用,每个进程最多需要3台。问当n为多少时,系 统没有死锁的危险?当nv4时,系统没有死锁的危险。因为当n为1时,它最多需要3台磁带机,系统中共有8台,其资 源数已足够1个进程使用,因此绝对不会产生死锁;当n为2时,两个进程最多需要6台磁带机,系统中 共有8台,其资源数也足够两个进程使用,因此也不会产生死锁;当n为3时,无论如何分配,3个进程中 必有进程得到3台磁带机,该进程己经达到它的最大需求,当它运行完毕后可释放这3台磁带机,这就保证 了其他两个进程也可顺利执行完毕。因此当nv4时,系统没有死锁的危险。当n=4

30、时,假设4个进程都得到两个资源,此时系统中已没有剩余资源,而4个进程都没有到达它们 的最大需求,所以系统有可能产生死锁。同理,当n>4时,也有产生死锁的危险。5、设系统屮有5个进程pl、p2、p3、p4和p5,有三种类型的资源a、b和c,其中a资源的数量是 17, b资源的数量是5, c资源的数量是20, t0时刻系统状态如下表。回答以下问题:(1)计算每个进程还 可能盂要的资源,并填入表的“仍盂要资源数”栏h中。(2) to时刻系统是否处于安全状态?为什么?(3) 如果to吋刻进程p2又有新的资源请求(0,3,4),是否实施资源分配?为什么? (4)如果t0吋刻进程p4 乂有新的资源请

31、求(2,0,1),是否实施资源分配?为什么? (5)在笫(4)题的基础上,若进程p1 乂有新的 资源请求(0,2,0),是否实施资源分配?为什么?进程已分配资源数量最人资源需求罐仍然需求资源数abcabcabcp1212559p2402536p34054011p4204425p5314424(1) 5个进程pl、p2、p3、p4和p5仍然需要a、b和c,三类资源数量如下表:进程已分配资源数量最大资源需求量仍然需求资源数abcabcabcp1212559347p2402536134p34054011006p4204425221p5314424110(2)由已知条件,系统中a、b和c,三类资源的总

32、数是(17,5,20),从表中可以计算出已分配情况是 (15,2,17),剩余可用资源的数量是(2,3,3),如果先让进程p5执行,可以满足它的最大需求。当进程p5运行完毕,乂可释放它占有的资源,使系统中可用资源的数量增加为(5,4,7);此时可让p4执行,满足它的最 大需求后乂可释放它占有的资源,使系统屮可用资源的数量增加为(7,4,11);然后讣p3执行,满足它的最 人需求示又可释放它占有的资源,使系统屮可用资源的数最增加为(11,4,16);之后可让p2和p1执行。这 样所冇进程都可运行完毕,系统是在t0时刻存在安全序列p5,p4,p3,p2,p1,所以系统是安全的。(3)如果t0吋刻进

33、程p2又有新的资源请求(0,3,4),进程p2请求资源数(c资源只剩下3个,而进 程p2请求4个)大于剩余可用资源的数据(2,3,3),所以不能分配。(4)如果t0时刻进程p4 乂有新的资源请求(2,0,1),按银行家算法进行检查,进程p4请求资源数(2,0,1) +已分配资源数量(2,0,4)小于进程p4的最人需求数量(4,2,5);另外进程p4请求资源数(2,0,1)小于剩余 可用资源的数虽(2,3,3);如果满足进程p4新的资源请求,进程p4新仍然盂求资源数变为(0,2,0),如下表 所示。进程已分配资源数量最大资源需求量仍然需求资源数abcabcabcp1212559347p24025

34、36134p34054011006p4405425020p5314424110系统中剩余可用资源的数量为(0,3,2);用安全算法进行检查可以得到安全序列p4,p5,p3,p2,p1,所以 系统是安全的,可以满足进程p4的资源请求。(5)在第(4)题的基础上,若进程p1 乂有新的资源请求(0,2,0),按银行家算法进行检查,进程p1 请求资源数(0,2,0) +已分配资源数最(2丄2)小于进程p4的最人需求数量(5,5,9);另外进程p1请求资源 数(0,2,0)小于剩余可用资源的数量(0,3,2);如果满足进程p1新的资源请求,进程p1新仍然需求资源数 变为(3,2,7),如表所示。进程已分

35、配资源数蜃最人资源需求量仍然需求资源数abcabcabcp1212559327p2402536134p34054011006p4204425020p5314424110系统中剩余可用资源的数量为(0,1,2),已不能满足任何进程的资源需要,故系统进入不安全状态,此 时不能将资源分配给进程p1。5存储管理1、存储管理的基木任务是为多道程序的并发执行提供良好的存储器环境,这包括哪些方面?存储管理的基本任务是为多道程序的并发执行提供良好的存储器环境,它包括以下儿个方面:(1)能比 每道程序“各得其所”,并在不受干扰的环境中运行时,还可以使用户从存储空间的分配、保护等事物中解 脱出來;(2)向用户提供

36、更大的存储空间,使更多的程序同时投入运行或使更大的程序能在小的内存中运行。(3)为用户对信息的访问、保护、共享以及程序的动态链接、动态增长提供方便;(4)能使存储器有较高 的利用率。2、页式存储管理系统是否产生碎片?如何应对此现象?页式存储管理系统产生的碎片称为内碎片,它是指一个进程的最后一页没冇占满一个存储块而被浪费的 存储空间。减少内碎丿丫的办法是减小贝的大小。3、在页式存储管理系统屮页表的功能是什么?当系统的地址空间很人时会给页表的设计带来哪些新问 题?页式存储管理系统中,允许将进程的每一贝离散地存储在内存的任何一个物理页面上,为保证进程的正 常运行,系统建立了页表,记录了进程每一页被分

37、配在内存的物理块号。页表的功能是实现从页号到物理块 号的地址映射。当系统的地址空间很大时,页表也会变得非常大,它将占有相当大的內存空间。例如,对于一个32位 地址空间的页式系统,假设页的大小为4kb,则一个进程的页表项最大可达到1mb。如果每个页表项占4b, 则页衣要占用4mb的连续内存空间。为了解决这个问题可以从以下两个方面入手。(1)将页表离散存放。(2) 只将页表的-部分调入内存,其余部分放在外存。具体的实现方案是采用两级页表。对页表分页,使每个页面的大小与内存的物理块的大小一致。并为它 们进行编号,将各个页血放在不同的物理块屮。然后为这些离散分配的页表再建立一张页表,称为外层页表 (或

38、页冃录),此时的逻辑地址可描述为:外层页号+页号+页内位移对于耍运行的进程,将其外层贝表调入内存,对所有的页表而言只需调入少量的贝表,使用时如果找不 到和应的页表,则产生中断,请求操作系统将需要的页表调入内存。两级页表适应了大地址空间的需要,需耍虚拟存储技术的支持,增加了地址变换的开销和管理的复杂度。 此外根据需要还可以设计三级页表、四级页表等。4、什么是动态链接?用哪种存储管理方案可以实现动态链接?动态链接是指进程在运行吋,只将进程对应的主程序段装入内存,在主程序运行过程中,当需要用到哪 个了程序段和数据段时,再将这些段装入内存,并与主程序段链接上。通常一个大的程序是由一个主程序和若干个以及

39、一些数据段纽成的。而段式存储管理方案中的段就是按 用八的逻辑段自然形成的,因此可实现动态链接。5、某进程的大小为25f3h字节,被分配到内在的3a6bh字节开始的地址。(1)若使用上、下界寄存 器,寄存器的值是多少?如何进程存储保护? (2)若使用地址、限长寄存器,寄存器的值是多少?如何进 程存储保护?(1)若使川下、下界寄存器,上界寄存器的值是3a6bh,卜-界寄存器的值是3a6bh+25f3h=605eh, 当访问内在的地址大于605eh、小于3a6bh吋产牛越界中断。(2)若使用地址、限长寄存器,地址寄存器值是3a6bh,限长寄存器的值是25f3h,当访问内存的地 址小于3a6bh,超过

40、3a6bh+25f3h=605eh时主生越界中断。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进入内存后。内存分布的情况。(i)作业1、2、3进入内存后,内存分布如下图(2)作业

41、1、3完成后,内存的分布情况如下图okb操作系统126kb126kb256kb376kbi 作业 2:56kb432kbi512-1kb (3)作业4、5进入内存后,内存的分布情况如下图0kb126kb操作系统126kb256kb作业 4:156kb376kb作业2:56kb432kb作业5:80kb512-1kb7、某系统釆用页式存储管理策略,某进程的逻辑地址空间为32页,页的大小为2kb,物理地址空间的 大小是4mb。(1)写出逻辑地址的格式。(2)该进程的页表有多少项?毎项至少占多少位? (3)如果物理 地址空间减少一半,页表的结构有何变化?(1)进程的逻辑地址空间为32页,故逻辑地址屮

42、的页号需要5位(二进制),由于每页的人小为2kb, 因此页内位移须用11位(二进制)表示,这样逻辑地址格式如下图。1511 100页号页内位移(2)因为进程的逻辑地址空间为32页,因此该进程的页表项冇32项。页表中应存储每页的块号。因 为物理地址空间的人小是4mb, 4mb的物理地址空间内分成4mb/2kb=2k个块,因此块号部分需要11位(二进制),所以页表中每项占11位。(3)如果物理地址空间减少一半,页表的页表项数不变,但每一项的长度从11位(二进制)减少到10位(二进制)。8、某页式存储管理系统,内存的大小为64kb,被分成16块,块号为0、1、2 15。设某进程有4页,其页号为()、

43、1、2、3,被分别装入内存的2、4、7、5块,问:(1)该进程的大小是多少字节?(2)写 出该进程每一页在内存的起始地址。(3)逻辑地址4146对应的物理地址是多少?(1)内存的人小为64kb,被分成16块,所以块的人小是64kb/l6=4kbo因为块的大小与页而的大小 相等,所以页的大小是4kb。该进程的大小是4*¥kbo(2)因为进程页号为0、1、2、3,被分别装入内存的2、4、7、5o第0页在内存的起始地址是:2*4kb=8kb;第1页在内存的起始地址是:4*4kb=16kb;第2页在内存的起始地址是:7*4kb=28kb;第3页在内存的起始地址是:5mkb=20kbo(3)逻

44、辑地址4146对应的物理地址:4146/4096=1,50。逻辑地址4146对应的页号为1,页内位移为50。查找页表,得知页号为1的存储块号为4,所以逻辑地址4146对应的物理地址是:4*4096+50=16434。9、某段式存储管理系统的段表如下图,请将逻辑地址0, 137、1, 9000 2, 3600、3, 230转换成 物理地址。段号段大小段起址015 kb40kb18kb80 kb210 kb100 kb(1)对于逻辑地址0, 137,段号为0,段内位移为137。查段表的项得到该段的段地址为40kb,段长 为15kbo由于段号0小于进程的总段数,故段号合法;段内位移137小于段长15

45、kb,故段内地址合法。因 此可得到物理地址为:40kb+137b=40960b+137b=41097bo(2)对于逻辑地址1, 9(x)0,段号为1,段内位移为900()。查段表的项得到该段的段地址为80kb,段 长为8kbo由于段号1小于进程的总段数,故段号合法;段內位移900()大于段长8kb=8192b,因此产生越 界中断。(3)对于逻辑地址2, 3600,段号为2,段内位移为3600。查段表的项得到该段的段地址为100kb, 段长为lokbo由于段号2小于进程的总段数,故段号合法;段内位移3600小于段长10kb,故段内地址合 法。因此口j得到物理地址为:100kb+3600b=102

46、40b+3600b=10600b°(4)对于逻辑地址3, 230,段号为3,段内位移为230。由于段号3人于进程的总段数,故段号不合 法,因此产纶越界中断。6虚拟存储管理1、试说明缺页中断与一般中断的主耍区别?答:缺页中断与一般中断一样,需要经历保护cpu现场、分析中断原因、转中断处理程序进行处理及 恢复中断现场等步骤。但缺页屮断是一种特殊的屮断,它与-般中断的区别如下:(1)在指令执行期间产生和处理屮断。通常cpu是在一条指令执行之后去检查是否有屮断产生,若冇 便去处理中断;否则继续执行下一条指令。页缺页中断是在指令执行期间发现所要访问的指令或数据不在内 存时产生和处理中断。(2)

47、一条指令执行期间可以产生多次中断。对于一条要求读取多个字节数据的指令,指令屮的数据可 能跨越两个页面。该指令执行时可以要发牛3次中断,一次是访问指令,另外两次访问数据。2、局部置换和全局置换有何区别,在多道程序系统中建议使用哪一种?答:局部置换是指当进程在执行过程中发生缺页时,只在分配给该进程的物理块中选择一页换出。全局 迸换是指在所有用户使用的整个存储空间中选择一个页面换出。在多道程序系统中建议使用局部置换策略。这样,即使某个进程出现了抖动现象,也不致引起其他进程 产生抖动,从而将抖动局限在较小范围内。3、存储存储器的特征是什么?虚拟存储器的容量受到哪两个方而的限制?答:虚拟存储器的特征有以

48、下几方面。(1)离散性,指进程不必装入连续的内存空间,而是“见缝插针”。(2)多次性,指一个进程的程序和数据要分多次调入内存。(3)对换性,指进程在运行过程小,允许将部 分程序和数据换进、换出。(4)虚拟性,指能从逻辑上扩充内存容量。虚拟存储器的容量主要受计算机的地址长度和外存容量的限制。4、已知页面走向是1、2、1、3、1、2、4、2、1、3、4,且进程开始执行时,内存屮没有页面,若该进 程分配两个物理块,当采用以下算法时的缺页率是多少?(2)先进先出置换算法。(2)假如有一种页而置换算法,它总是淘汰刚使用过的页面。答:(1)根据题中页面走向,釆用先进先出置换算法时的贝面调度情况如下表页面走

49、向12131242134物理块1113322114物理块222114433缺页缺缺缺缺缺缺缺缺缺从表中可看出,页面引用11次,缺页9次,所以缺页率为9/11=81.8%。(2)根据题中给定页走向,假如冇一种页面置换算法,它部是淘汰刚使用过的页1侨时的页面调度情况 如下表页而走向12131242134物理块111311134物理块22224222缺页缺缺缺缺缺缺缺缺从表中可看出,页面引用11次,缺页8次,所以缺页率为8/11=72.7%5、在请页式存储管理系统中,使用先进先出页面置换算法,会产生一种奇怪的现彖,分配给进程的页 而数越多,进程执行吋的缺页次数反而升高。试举例说明这一现象。答:如果一

50、个进程的页面走向为4、3、2、1、4、3、5、4、3、2、1、5,若给该进程分配3个物理块,其页面调度情况如下表页面走向432143543215物理块1444111555物理块233344422物理块32223331缺页缺缺缺缺缺缺缺缺缺从表中可看出,页面引用12次,缺页9次。若给该进程分配4个物理块,其页而调度情况如下表页而走向432143543215物理理块2333344445物理块322223333物理块41111222缺页缺缺缺缺缺缺缺缺缺缺从表中可看出,页面引用12次,缺页10次。由上例可看出,对于以上页面走向,当分配给进程的物理块数从3变成4时,缺页次数不

51、但没有下降, 反而从9次增加到1()次。6、某请页式系统中,页的大小为100字,一个程序的大小为1200字,可能的访问序列如下:10、205、 110、40、314、432、320、225、80、130、272、420、128 (字),若系统采用 lru 置换算法,当分配给该 进程的物理块数为3时,给出进程驻帘的各个页而的变化情况、页而淘汰情况及缺页次数。答:由于页的大小为 100 字,因此访问序列 10、205、11()、40、314、432、320、225、80、13()、272、 420、128对应的页号是0、2、1、0、3、4、3、2、0、1、2、4、1。给该进程分配3个物理块,采用l

52、ru 置换算法,其页面调度情况如下表页面走向0210343201241物理块1000002222物理块222333311物理块31144004缺页缺缺缺缺缺缺缺缺缺从表中可看出,被淘汰的页号分别是2、1、0、4、3、0,共缺页9次。7、在一个采川局部置换策略的请求页式系统屮,分配中给进程的物理块数为4,其屮存入的4个页面的 情况如下表页号存储块号加载时间访问时间访问位修改位02301600211160157002010162103322016511当发生缺页时,分别采用下列页面置换算法时,将置换哪一页,并解释原因。(1) opt (最佳)置换算 法;(2) fifo (先进先出)置换算法;(3

53、) lru (最近最少使用)算法;(4) clock置换算法答:(l)opt转换算法是选择永久不用的页或长时间不用的页,将其换岀,题目中没有给出页面的将來 走向,所以无法判断将转换哪一页。(2)fifo转换算法是选择最先装入内存的页面,将其换出。从表屮可知,应考察的是页面的加载时间, 加载时间最小的是1(),此最先装入内存的是第2页。(3)lru算法是选择最近最久没冇被访问的页面,将其换出。从表中可知,应考察的是页面的访问时 间,访问时间最小的是157,应此最近最久没有被访问的贝面是第1贝。(4)clock转换算法是lru算法的变种,它首先选择访问位和修改位均为0的一页,将其换岀,从 表屮可知

54、,满足该条件的是第1页。8、某虚拟存储器的用户空间有32个页而,每页1kb,内存的大小为16kb,假设某时刻系统为用户的 第0、1、2、3页分配的物理块号是5、10、4、7o而该用户进程的长度是6页,试将以下十六进制的虚拟地 址转换成物理地址。(1) 0a5c; (2) 103c: (3) 257b; (4) 8a4c答:(1)虚拟地址0a5c的二进制是0000101001011100,由页大小为1kb,可知页号为000010 (二进 制),即2(十进制),从贝表中得到其物理块号为4 (十进制),即000100 (z1进制)。与页内位移1001011100 (二进制)拼接得到物理地址为0001001001011100 (二

编程小号
上一篇 2025-02-06 15:33
下一篇 2025-03-16 08:06

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/28642.html