操作系统答案 下载本文

内容发布更新时间 : 2024/5/2 7:19:57星期一 下面是文章的全部内容请认真阅读。

系统中的页是存放信息的物理单位,无完整意义,不便于共享;段是信息的逻辑单位。为了实现段的共享,希望存储管理能与用户程序分段的组织方式相适应。 3) 信息保护。对信息的逻辑单位进行保护,分段能更有效方便地实现信息保护功能。

4) 动态增长。在实际应用中,有些段特别是数据段,在使用过程中会不断增长, 事先又无法确切知道增长多少。分段存储管理方式能较好解决这个问题。

5) 动态链接。运行时先将主程序对应的目标程序装入内存并启动运行,运行过程中又需要调用某段时,才将该段调入内存链接。所以动态链接也要求以段作为 管理单位。

15.在具有快表的段页式存储管理方式中,如何实现地址变换?

答:在 CPU 给出有效地址后,由地址变换机构自动将页号 P 送入高速缓冲寄存器, 并将此页号与高速缓存中的所有页号比较,若找到匹配页号,表示要访问的页表项在快表中。可直接从快表读出该页对应物理块号,送到物理地址寄存器中。如快表中没有对应页表项,则再访问内存页表,找到后,把从页表项中读出物理块号送地址寄存器;同时修改快表,将此页表项存入快表。但若寄存器已满,则 OS 必须找到合适的页表项换出。

16.为什么说为什么说分段系统比分页系统更易于实现信息的共享和保护? 答:分页系统的每个页面是分散存储的,为了实现信息共享和保护,页面之间需要一一对应,为此需要建立大量的页表项;而分段系统的每个段都从 0 编址, 并采用一段连续的地址空间,在实现共享和保护时,只需为要共享和保护的程序设置一个段表项,将其中的基址与内存地址一一对应就能够实现。 17.分段和分页存储管理有何区别?

答:1)页是信息的物理单位,分页是为了实现离散分配方式,以消减内存的外部零头,提高内存利用率。段则是信息的逻辑单位,它含有一组相对完整的信息。 (2)页的大小固定且由系统决定,由系统把逻辑地址划分为页号和页内地址两部分,是由机械硬件实现的,因而在系统中只能有一种大小的的页面;而段的长度却不固定,决定于用户所编写的程序,通常由编译程序在对原程序进行编译时,根据信息的性质来划分。

(3)分页的作业地址空间是一维的,而分段作业地址空间则是二维的。 18.试全面比较连续分配和离散分配方式.

答:1)连续分配是指为一个用户程序分配一个连续的地址空间,包括单一和分区两种分配方式。单一方式将内存分为系统区和用户区,最简单,只用于单用户单任务操作系统;分区方式分固定和动态分区。

(2)离散分配方式分为分页、分段和段页式存储管理。分页式存储管理旨在提高内存利用率,分段式存储管理旨在满足用户(程序员)的需要,段页式存储管理则将两者结合起来,具有分段系统便于实现、可共享、易于保护和动态链接等优点,又能像分页系统很好解决外部碎片及为各段可离散分配内存等问题,是比较有效的存储管理方式;

19.虚拟存储器有哪些特征?其中最本质的特征是什么?

答:虚拟存储器有多次性、对换性、虚拟性三大特征。最本质的特征是虚拟性。 20.实现虚拟存储器需要哪些硬件支持? 答:(1)请求分页(段)的页(段)表机制(2)缺页(段)中断机构(3)地址变换机构

21.实现虚拟存储器需要哪几个关键技术?

21

答:1)在分页请求系统中是在分页的基础上,增加了请求调页功能和页面置换功能所形成的页式虚拟存储系统。允许只装入少数页面的程序(及数据),便启动运行。

(2)在请求分段系统中是在分段系统的基础上,增加了请求调段及分段置换功能后形成的段式虚拟存储系统。允许只装入少数段(而非所有段)的用户程序和数据,即可启动运行。

22.在请求分页系统中,页表应包括哪些数据项?每项的作用是什么?

答:页表应包括:页号、物理块号、状态位 P、访问字段 A、修改位 M 和外存地址。其中状态位 P 指示该页是否调入内存,供程序访问时参考;访问字段 A 用于记录本页在一段时间内被访问的次数,或最近已有多长时间未被访问,提供给置换算法选择换出页面时参考;修改位 M 表示该页在调入内存后是否被修改过; 外存地址用于指出该页在外存上的地址,通常是物理块号,供调入该页时使用。

23.在请求分页系统中,应从何处将所需页面调入内存? 答:请求分页系统中的缺页从何处调入内存分三种情况:

(1)系统拥有足够对换区空间时,可以全部从对换区调入所需页面,提高调页速度。在进程运行前将与该进程有关的文件从文件区拷贝到对换区。

(2)系统缺少足够对换区空间时,不被修改的文件直接从文件区调入;当换出这些页面时,未被修改的不必换出,再调入时,仍从文件区直接调入。对于可能修改的,在换出时便调到对换区,以后需要时再从对换区调入。

(3)UNIX方式。未运行页面从文件区调入。曾经运行过但被换出页面,下次从对换区调入。UNIX系统允许页面共享,某进程请求的页面有可能已调入内存,直接使用不再调入。24.在请求分页系统中,常采用哪几种页面置换算法? 答:采用的页面置换算法有:最佳置换算法和先进先出置换算法,最近最久未使用(LRU)置换算法,Clock置换算法,最少使用置换算法,页面缓冲算法等。 25.在请求分页系统中,通常采用哪种页面分配方式?为什么?

答:固定分配方式是基于进程的类型(交互型)或根据程序员、系统管理员的建议, 为每个进程分配固定页数的内存空间,整个运行期间不再改变;采用可变分配方式有全局置换和局部置换两种,前者易于实现,后者效率高。

26.在一个请求分页系统中,采用 LRU 页面置换算法时,假如一个作业的页面走向为 4 , 3 , 2 ,1 , 4, 3, 5, 4,3 , 2, 1,5,当分配给该作业的物理块数 M 分别为 3 和 4 时,试计算访问过程中所发生的缺页次数和缺页率 ? 比较所得结果 ?(参考答案有错)

答:当分配给该作业的物理块数 M 为 3 时,缺页 7 次,缺页率: 7/12=0.583; 当分配给该作业的物理块数 M 为 4 时,缺页 4 次,缺页率: 4/12=0.333.

-------以上解答出错。正确解法见下面:

答:当分配给该作业的物理块数 M 为 3 时,缺页 9 次,缺页率: 9/12=3/4; 当分配给该作业的物理块数 M 为 4 时,缺页 10 次,缺页率: 10/12=5/6.

27.实现 LRU 算法所需的硬件支持是什么?

答:需要寄存器和栈等硬件支持。寄存器用于记录某进程在内存中各页的使用情况,栈用于保存当前使用的各个页面的页面号。 28.试说明改进型Clock置换算法的基本原理.

22

答:因为修改过的页面在换出时付出的开销比未被修改过的页面大,在改进型 Clock算法中,既考虑页面的使用情况,还要增加置换代价的因素;在选择页面作为淘汰页面时,把同时满足未使用过和未被修改作为首选淘汰页面。

23

29.说明请求分段系统中的缺页中断处理过程。 答:请求分段系统中的缺页中断处理过程描述如下:

(1)根据当前执行指令中的逻辑地址查页表,判断该页是否在主存储器中 (2)该页标志为“0”形成缺页中断,中断装置通过交换PSW让操作系统的中断处理程序占用处理器。

(3)操作系统处理缺页中断处理的办法是查主存分配表找一个空闲的主存块, 查页表找出该页在磁盘上位置,启动磁盘读出该页信息。 (4)把从磁盘上读出的信息装入找到的主存块中。

(5)当页面住处被装入主存后,应修改页表中对应的表目,填上该页所占用的主存块把标志置为“1”,表示该页已在主存储器中

(6)由于产生缺页中断时的那条指令并没执行完,所以在把页面装入之后应重新执行被中断指令。

请求分段系统中的缺页中断处理过程如下图所示:

30.如何实现分段共享 ?

答:在每个进程的段表中,用相应的表项指向共享段在内存中起始地址;配置相应的数据结构作为共享段表,在段表项中设置共享进程计数 Count ,每调用一次该共享段,Count 值增 1,每当进程释放一个共享段时,Count 减 1,若减为

0,则系统回收该共享段的物理内存,取消在共享段表中该段对应的表项;共享段应给不同的进程以不同的存取权限;不同的进程可以使用不同的段号去共享该段。 第五章

1.试说明设备控制器的组成。

答:由设备控制器与处理机的接口,设备控制器与设备的接口与I/O逻辑组成。

24

2.为了实现 CPU 与设备控制器间的通信,设备控制器应具备哪些功能?

25