操作系统的分页机制

本文翻译自: Paging in OS (Operating System)

在操作系统中,分页是一种存储机制,用于以页面的形式将辅助存储器中的进程检索到主存中。

分页背后的主要思想是把每个进程以页面的形式分开,主存也将以页框(frame)的形式被分开。

进程中的一页被存储在主存的一个页框中,这些页会被存储在内存中不同的位置,但是优先级将总是能找到连续的页框。

只有当被需要时,进程中的页面被送入主存。否则它们就会驻留在辅助存储器中。

不同的操作系统定义了不同的页框尺寸,每个页框的大小必须是相同的。考虑到在分页中,页面被映射到页框的事实,页的大小需要与页框的大小相同:
在这里插入图片描述
案例:

让我们假设下主存大小16KB,页框的大小是1KB,因此主存将被分成16个页框的集合,每个页框1KB。

系统中分别有4个进程P1、P2、P3、P4,每个进程4KB。每个进程被分成了多个1KB的页面。以至于一个页可以被存进一个页框中。

起初,所有的页框都是空的,因此进程的页将以连续的方式被存入。

页框、页和它们之间的映射如下图所示:
在这里插入图片描述
我们现在假设P2和P4在某个时刻被移到了等待状态,现在,8个页框空了出来,因此其他的页能够被加载到空位。大小为8KB的进程P5在等待队列等待。

基于这样的事实,我们在内存中有8个不连续的页框可用,并且分页机制提供了在不同地方存储进程的灵活性。因此,我们可以将P5进程加载到P2、P4进程原来所在的地方。

在这里插入图片描述
内存管理单元
内存管理单元(MMU)的目的是把逻辑地址转换成物理地址。逻辑地址是CPU为每个页生成的地址,而物理地址是页框的实际地址,是页将被存储的地方。

当一个页被CPU使用逻辑地址访问时,操作系统需要获得物理地址去物理性的访问这个页。

逻辑地址两部分:
页号
偏移量
OS的内存管理单元需要把页号转换成页框号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值