计算机基础-操作系统-操作系统-段页式管理方式
1. 分页&分段
优点 | 缺点 | |
---|---|---|
分页管理 | 内存空间利用率高,不会产生外部碎片,只会有少量的页内碎片 | 不方便按照逻辑模块实现信息的共享和保护 |
分段管理 | 很方便按照逻辑模块实现信息的共享和保护 | 如果段长过大,为其分配很大的连续空间会很不方便。另外,段式管理会产生外部碎片 |
分段管理中产生的外部碎片也可以用“紧凑”来解决,只是需要付出较大的时间代价
2. 段页式管理
基于分段管理和分页管理的优缺点,提出了分页和分段管理的结合,产生了段页式管理
将进程按逻辑模块分段,再将各段分页(如每个页面4KB)再将内存空间分为大小相同的内存块/页框/页帧/物理块进程前将各页面分别装入各内存块中
3. 逻辑地址结构
段页式系统的逻辑地址结构由段号、页号、页内地址(页内偏移量)组成。如:
31 $\cdots\cdots$ 16 | 15 $\cdots\cdots$ 12 | 11 $\cdots\cdots$ 0 |
---|---|---|
段号 | 页号 | 页内偏移量 |
- 段号的位数决定了每个进程最多可以分几个段
- 页号位数决定了每个段最大有多少页
- 页内偏移量决定了页面大小、内存块大小是多少
“分段”对用户是可见的,程序员编程时需要显式地给出段号、段内地址。而将各段 “分页” 对用户是不可见的。系统
会根据段内地址自动划分页号和页内偏移量。因此段页式管理的地址结构是二维的。
4. 段表&页表
每个段对应一个段表项,每个段表项由段号、页表长度、页表存放块号(页表起始地址)组成、每个段表项长度相等,段号是隐含的。
每个页面对应一个页表项,每个页表项由页号、页面存放的内存块号组成。每个页表项长度相等,页号是隐含的。
5.地址转换
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Joker!
评论
ValineTwikoo