DJ4-4 基本分页存储管理方式(第二节课)

文章介绍了两级页表的概念,作为解决大页表内存需求的策略,以及对换机制,包括进程的换出与换入,对换区管理和在外存的划分。两级页表通过分页解决大页表的存储问题,而对换则是提高内存利用率的关键,涉及进程的换出和换入策略。
摘要由CSDN通过智能技术生成

目录

4.4.4  两级和多级页表

1、两级页表的引入

2、两级页表

4.4.6  对换

1、外存的划分

2、对换区管理

3、进程的换出与换入


4.4.4  两级和多级页表

1、两级页表的引入

可以采用以下方法来解决这一问题:

  1. 采用离散分配方式来解决难以找到一块连续的大内存空间的问题,即引入两级页表;
  2. 只将当前需要的部分页表项调入内存, 其余页表项仍驻留在磁盘上,需要时再调入。

采用离散分配方式

  1. 对页表进行分页
  2. 离散地将各个页面分别存放在不同的物理块中
  3. 为离散分配的页表再建立一张页表 —— 外层页表
  4. 在每个页表项中记录了页表分页的物理块号

若采用二级页表,则对应的二级页表结构如下:

外部页表中存放的是页表盘块号,即存放页表的盘块的编号。比如,1011 号盘块存放了第一组 0~1023 个页表项,1078 号盘块存放了第二组 0~1023 个页表项。而页表中存放的是数据盘块号,即存放数据的盘块的编号。

2、两级页表

假设把页表按固定大小分成为一个个页面,页面大小为 2^12=4KB。

  1. 若每个页表项大小为 4B,那么每页最多允许有 2^10=1K 个页表项。
  2. 对于 2^32B 的进程,页面大小为 2^12B,则需要 2^32/2^12=2^20 个页表项。
  3. 由于每页最多存放 2^10=1K 个页表项,因此需要 2^20/2^10=2^10 个页表分页。

设置一个外层页表,其中有 1K 个页表项,分别指示每个页表分页所在的物理块号和其它相关的状态信息 => 每个进程都有一个外层页表。

逻辑地址结构如下:

具有两级页表的地址变换机构:

说明:两级页表只是解决了大页表需要大片连续存储空间问题,但是并未实现用较少内存去存放大页表,有关此类问题的成功解决方案将在 “虚拟存储器管理” 中讨论。

4.4.6  对换

对换:是指

  • 把内存中暂不能运行的进程,或者暂不使用的程序和数据,换出到外存上
  • 把外存上已具备运行条件的进程,或者进程所需要的程序和数据,换入到内存中

对换是系统行为,是提高内存利用率的有效措施。常用于多道程序系统或小型分时系统中,与分区存储管理配合使用。

实现:可在系统中设置一个对换进程,以执行换进内存、换出至外存操作。

分类:

(1) 整体对换/进程对换:对换以整个进程为单位,用于分时系统,以解决内存紧张的问题;

(2) 页面对换/分段对换:对换以页或段为单位进行部分对换,该方法是实现请求分页及请求分段存储器的基础,支持虚拟存储系统。

为实现对换,系统需要三方面的功能:

  • 对换空间的管理
  • 进程的换入
  • 进程的换出

1、外存的划分

外存被分为两部分:文件区和对换区。

(1) 文件区

用于存放文件,对它的管理应重在如何提高存储空间的利用率。因此采用离散分配方式。

(2) 对换区

用于存放从内存换出的进程,它们在外存的存放时间较短,换入、换出频繁。对对换区的管理应重在提高进程的换入换出速度。因此采用连续分配方式。

2、对换区管理

为了能够管理对换区中的空闲盘块,需要在系统中配置相应的数据结构,以记录空闲盘块的使用情况:采用空闲分区表或空闲分区链,基本单位都是盘块。

由于对换区采用连续分配方式,因此分配与回收和动态分区方式时内存的分配与回收方法雷同:

  • 首次适应算法、循环首次适应算法、最佳适应算法
  • 回收操作也可分为四种情况

3、进程的换出与换入

进程的换出与换入由对换进程完成。

(1) 换出(swap out)

首先选择阻塞或睡眠状态的进程,若有多个,按优先级由低到高进行选择。

若没有此状态进程,则选择就绪状态的,仍然按优先级由低到高进行选择。

为避免某进程被频繁的换入换出,还应考虑进程在内存中的驻留时间,优先选择驻留时间长的进程。

(2) 换入(swap in)

  1. 从 PCB 集合中查找 “就绪且换出” 的进程,若有多个,则选择换出时间最长的;
  2. 根据进程大小申请内存,成功则读入,否则要先执行换出,再换入;
  3. 若还有可换入进程,则转向 1,直至无 “就绪且换出” 进程或无法获得足够内存空间为止。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值