计算机操作系统(第五版)第四章中重要的课后问题

1.采用首次适应算法回收内存时,可能出现什么情况?

该算法优先利用内存中低址部分的空闲分区,从而保留了高址部分的空闲区域,从而保证了之后的大作业分配打的内存空间创造了条件。缺点是将地址部分不断的拆分,从而形成很多很小的空闲分区,称为碎片,每次查找都是从地址开始的,所以增加了查找的时间开销。

2.为什么要引入动态重定位,怎么实现?

内存空间被分割成很多不同的小分区,通过拼接技术成一个大空间,但是用户程序的位置发生了改变,程序无法执行,必须要对程序和数据的位置进行修改,大大影响了系统的效率。
实现方法:在系统中设置一个重定位寄存器,用来存放程序在内存中的起始地址。在地址变换是在程序执行期间,随着对每条指令或数据的方位自动进行的,故称为动态重定位。

3.分区存储管理中,常用那些分配策略,比较他们的优缺点

主要有基于顺序搜索的动态分区分配算法和基于索引搜素的动态分区分配算法,前者是将空闲分区链接成一个链,然后按着顺序依次查找符合要求的分区,主要有以下四种算法:首次适应算法,循环首次适应算法,最佳适应算法和最坏适应算法。后者主要适用于比较大的系统,可以提高搜索分区的速度, 主要有:快速适应算法,伙伴系统和哈希算法。

4.为什么要引入对换技术?主要分为那几个类型?

主要考虑多道程序环境下的对换技术
对换是将内存中不能运行或者暂时不能使用的程序调换到外存中,再将已具备运行条件的程序调换到内存中来,提高系统的利用率。其中有:整体对换(以整个进程为单位)和页面对换(以页面或分段为单位进行的)

5.什么是页面和物理块,页面的大小如何确定?

分页存储管理将进程中的逻辑地址空间分成若干个页,并为各页加以编号,从 0 开始   				在为进程分配内存时,以块为单位,将进程中的若干个页装入多个可以不相邻的物理块中
页面过小,虽然一方面可以减小内存碎片,起到减少内存碎片总空间的作用,有利于内存利用率的提高,但会造成每个进程占用较多的页面,从而导致进程的页表过长,占用大量内存,如果页面内较大,可以提高页面换进换出的速度,但却会使页内碎片增大,所以页面的选择应是2的幂,通常是1kb-8kb。

6.什么是页表?页表的作用是什么?

页表的建立是为了能在内存中快速的寻找到页面对应的物理快,为每个进程建立了一张页面映像表。作用为实现从页号到物理块号的物理映。

7.在分页系统中是如何实现地址转换的?

当进程要访问某个逻辑地址中的数据时,分页地址变换几个会自动地将有效地址分为页号和页内地址两部分,若页号长度大于或等于页表长度,则发生越界中断;若未发生越界中断,则将页表始址与页号和页表长度乘积相加,则得到该表项在页表中地位置,可从中得到该页地物理块号,将之装入物理地址寄存器中,再将有效地址寄存器中的页内地址送入物理地址寄存器的块内地址字段中。就完成了逻辑地址到物理地址的转换。

8.具有快表时如何进行地址转换的?

主要是为了提升地址变换速度,在地址变换的机构中增加一个具有并行查询能力的特殊高速缓冲寄存器,用于存放当前访问的那些页表项。过程为:在cpu给出有效的地址之后,由地址转换机构自动将页号送入高速缓冲寄存器,将此页号和高速缓冲器中的页号相比较,若有匹配的,便是找到了页表项,直接读出对应的物理块号,送哦感到物理地址的寄存器中,若找不到,需要访问内存中的页表,把物理块号送到寄存器同时要将此表存入快表的一个寄存器中。

9.为什么分段系统比分页系统更容易实现信息的共享和保护?

共享:在实现对数据和程序的共享时,是以信息的逻辑单位为基础的;分页系统中的页只是存放信息的物理单位,并没有完整的逻辑意义。而分段系统可以是信息的逻辑单位。为了实现段的共享,存储管理应能与用户程序分段的组织方式相适应。
保护:信息保护同样以信息的逻辑单位为基础的,而且经常是以一个过程,文件,函数为单位来保护的,分页系统中,一个程序可能占用若干个页面,很难对这些页面实施通过一的保护,但是分段管理只需要在这个段上执行标志即可。

10.分页管理和分段管理有什么区别?

两者有相似之处,两者都采用离散分配方式,且都是通过地址映射机构构成地址变换。不同点为:
  • 分页系统仅仅是系统的行为,对用户不可见;分段管理中的段时信息的逻辑单位,主要是包含一组意义相对完整的信息,分段的目的时为了更好的满足用户的需求。
  • 页的大小由系统决定,每个系统中只能有一种大小的页面,而段的长度却不固定,决定于用户所编写的程序,通常由编译程序编译源码的过程中,根据信息的性质来划分。
  • 分页中,用户的程序地址时单一的线性地址空间,分段是用户的行为,用户程序是二维的,既有段名又有段内地址。

11.比较离散式分配和连续性分配

  • 离散型分配:是采用段式或页式或段页式将一个进程装入一些离散的空间之中,有利于内存的使用,并且方便程序员在更大的空间进行编译。
  • 连续性分配:用户程序分配一个连续的内存空间,可分为单一连续分配,固定分区分配,动态分区分配和动态重定位分区分配四种方式,使得一个程序分配一个连续的空间,利于程序的运行,但是产生很多碎片,浪费系统的资源。
  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

两壶若水

感谢您的鼓励!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值