导航

存储器管理——段页式管理方式


分页管理的优缺点:优点。内存空间利用率高,不会产生外部碎片,只会有少量的页内碎片。缺点。不方便按照逻辑模块实现信息的共享和保护

分段管理的优缺点:优点。很方便按照逻辑模块实现信息的
享和保护。缺点:段长过大时需要分配很大的连续空间,会产生外部碎片

如何解决分段管理中产生的外部碎片:用“紧凑”技术解决,但是时间代价大

段页式管理:将地址空间按照程序自身的逻辑关系划分为若干个段,再将各段分为大小相等的页面。将内存空间分为与页面大小相等的若干内存块,系统以块为单位为进程分配内存

段页式管理的逻辑地址结构:段号、页号、页内偏移量(页内地址)

段号的位数决定了:每个进程最多可以分几个段

页号位数决定了:每个段最大有多少页

页内偏移量决定了:页面大小、内存块大小是多少

段页式管理的地址变换:
1.由逻辑地址得到段号、页号、页内偏移量
2.段号与段表寄存器中的段长度比较,检查是否越界
3.由段表始址、段号找到对应段表项
4.根据段表中记录的页表长度,检查页号是否越界
5.由段表中的页表地址、页号得到查询页表,找到相应页表项
6.由页面存放的内存块号、页内偏移量得到最终的物理地址
7.访问目标单元

段页式管理访问一个逻辑地址所需访存次数:三次(第一次查段表、第二次查页表、第三次访问目标单元)

如何实现段页式管理访问一个逻辑地址只需访存1次:可引入快表机构,以段号和页号为关键词查询快表,即可直接找到最终的目标页面存放位置

“分段”对用户是可见的,程序员编程时需要显式地给出段号、段内地址。

各段“分页”对用户是不可见的。系统会根据段内地址自动划分页号和页内偏移量。因此段页式管理的地址结构是二维的。

每个段对应一个段表项,每个段表项由段号、页表长度、页表存放块号(页表起始地址)组成。每个段表项长度相等,段号是隐含的。
每个页面对应一个页表项,每个页表项由页号、页面存放的内存块号组成。每个页表项长度相等,页号是隐含的。





posted on 2022-05-26 00:15  理想主义者的长征路  阅读(712)  评论(0编辑  收藏  举报