操作系统拾遗--内存管理之段页式存储
2019-03-01 本文已影响1人
FrankerSung
基本概念
段页式存储方式是分段式和分页式结合的存储方法。
(1) 用分段方法来分配和管理虚拟存储器。程序的地址空间按逻辑单位分成基本独立的段,而每一段有自己的段名,再把每段分成固定大小的若干页。
(2) 用分页方法来分配和管理实存。即把整个主存分成与上述页大小相等的存储块,可装入作业的任何一页。程序对内存的调入或调出是按页进行的。但它又可按段实现共享和保护。
(3) 逻辑地址结构。一个逻辑地址用三个参数表示:段号S;页号P;页内地址d。
Segment Number → It points to the appropriate Segment Number.
Page Number → It Points to the exact page within the segment
Page Offset → Used as an offset within the page frame
(4) 段表、页表、段表地址寄存器。为了进行地址转换,系统为每个作业建立一个段表,并且要为该作业段表中的每一个段建立一个页表。系统中有一个段表地址寄存器来指出作业的段表起始地址和段表长度。
逻辑地址到物理地址的转换
![](https://img.haomeiwen.com/i2744494/56684983c499d7c1.png)
优缺点
段页式存储的优点:
- 减少内存使用
- 页表大小受限于段大小
- 段表只有一个对应于一个实际段的记录。Segment table has only one entry corresponding to one actual segment.
- 段表
- 无外部碎片
- 简化了内存分配
段页式存储的缺点:
- 产生内部碎片
- 相对分页式存储而言,复杂程度高很多
- 页表需要连续存储在内存里