0
点赞
收藏
分享

微信扫一扫

操作系统-段页式管理方式

老牛走世界 2022-03-12 阅读 60

文章目录

分页、分段管理方式的优缺点

分页管理的优缺点

优点

内存利用率高,不容易产生外部碎片,只会有少量的内部碎片

缺点

不方便按照逻辑地址实现信息的共享和保护

分段管理的优缺点

优点

由于是按照逻辑模块来分段,相较于分页管理更加容易实现信息的共享和保护

缺点

如果段长过长,为其分配内存空间很不方便,以及由于段分配的随机性,很容易产生外部碎片

分段+分页的结合——段页式管理

如下图所示,首先高位拿出16位进行分段
中间拿3位作为页
其余作为业内偏移量

在这里插入图片描述

段表、页表

可以看到段页式管理的是通过段表和页表一起记录的。就以下图所示的进程的0号段为例,我们通过段表可以看到它对应的页所在的内存块号为1。
然后再访问内存块1看到这个页表对应的指令又在内存块k、n,虽然不是连续的地址,但是由于页表是连续记录,所以我们执行进行指令运算的时候也与连续分配的无异。

在这里插入图片描述

如何实现地址变换

以下图为例,地址变化做了以下几件事:

  1. 拿着逻辑地址A的段号和段表长度比较,若段号超出范围则报错,反之继续执行
  2. 通过段表起始地址+段号*段表项长度找到对应段表项
  3. 看到对应的页表对应的内存块号
  4. 拿着逻辑地址A的页号与当前访存找到的页表长度进行比较,看看是否越界,若越界也报错
  5. 如果没越界就通过页表对应的内存块号找到对应的内存块,配合页内偏移量找到对应内存单元执行指令

注意:上述进行了三次访问,很明显性能相较于之前的分段、分页可能有所降低,所以我们同样可以引入快表机制解决这个问题

在这里插入图片描述

举报

相关推荐

0 条评论