分页技术实例
精华
小牛编辑
178浏览
2023-03-14
在操作系统中,分页是一种存储机制,用于以页面形式从辅助存储器检索进程到主内存中。
分页背后的主要思想是以页面的形式划分每个进程。 主存也将以帧的形式分割。
进程的一页将被存储在存储器的一个帧中。 分页可以存储在内存的不同位置,但优先级始终是查找连续的帧或空洞。
进程页面只有在需要时才会被带入主内存,否则它们将驻留在辅助存储中。
不同的操作系统定义不同的帧大小。 每个帧的大小必须相等。 考虑到页面被映射到页面中的帧,页面大小需要与帧大小相同。
示例
让我们考虑主存储器大小为16Kb,帧大小为1KB,因此主存储器将被分成每个1KB的16个帧的集合。
系统中有4个进程,分别是4KB的P1,P2,P3和P4。 每个进程分为每个1 KB的页面,以便一个页面可以存储在一个帧中。
最初,所有的帧都是空的,因此进程的页面将以连续的方式存储。
下图显示了框架,页面两者之间的映射。
让我们考虑一下,P2和P4在一段时间后会转移到等待状态。 现在,8个帧变空了,因此可以将其他页面加载到空闲的地方。 大小为8 KB(8页)的进程P5正在就绪队列内等待。
鉴于这一事实,在内存中有8个不连续的帧,分页提供了将流程存储在不同位置的灵活性。 因此,可以在P2和P4的地方加载进程P5的页面。
内存管理单元
内存管理单元(MMU)的目的是将逻辑地址转换为物理地址。 逻辑地址是CPU为每个页面生成的地址,而物理地址是存储每个页面的帧的实际地址。
当CPU使用逻辑地址访问页面时,操作系统需要获取物理地址以物理访问该页面。
逻辑地址有两部分。
- 页码
- 偏移量
OS的内存管理单元需要将页码转换为帧号。
示例
考虑到上面的图像,假设CPU要求进程P3的第4页的第10个字。 由于处理P1的第4号页面被存储在第9号帧,因此第9帧的第10个字将作为物理地址返回。