我是靠谱客的博主 纯情过客,最近开发中收集的这篇文章主要介绍段页式内存管理,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、段页式内存管理的概念

  页式存储管理能有效地提高内存利用率,而分段存储管理能反映程序的逻辑结构并有利于段的共享。如果将这两种存储管理方法结合起来,就形成了段页式存储管理方式。

  段页式管理就是将程序分为多个逻辑段,在每个段里面又进行分页,即将分段和分页组合起来使用。这样做的目的就是想同时获得分段和分页的好处,但又避免了单独分段或单独分页的缺陷。

  如果我们将每个段看做一个单独的程序,则逻辑分段就相当于同时加载多个程序。
在这里插入图片描述

二、段页式内存管理的实现

  在段页式系统中,作业的逻辑地址分为三部分:段号、页号和页内偏移量,如图所示。
在这里插入图片描述
  为了实现地址变换,系统为每个进程建立一张段表,而每个分段有一张页表(在一个进程中,段表只有一个,而页表可能有多个)。段表表项中至少包括段号、页表长度和页表起始地址,页表表项中至少包括页号和块号。此外,系统中还应有一个段表寄存器,指出作业的段表起始地址和段表长度。

  在进行地址变换时,首先通过段表查到页表起始地址,然后通过页表找到页帧号,最后形成物理地址。如图所示,进行一次访问实际需要三次访问主存,这里同样可以使用快表以加快查找速度,其关键字由段号、页号组成,值是对应的页帧号和保护码。
在这里插入图片描述
在这里插入图片描述

参考:https://www.cnblogs.com/peterYong/p/6556619.html
https://www.cnblogs.com/edisonchou/p/5115242.html

最后

以上就是纯情过客为你收集整理的段页式内存管理的全部内容,希望文章能够帮你解决段页式内存管理所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部