页面置换算法

本文探讨了分页和分段内存管理,包括页表转换逻辑和段表的工作原理。对比了分页与分段的主要区别,并深入讲解了内存置换算法,如OPT、FIFO和LRU,阐述了它们的选择策略和实际应用效果。
摘要由CSDN通过智能技术生成

页表如何将虚拟地址转换为物理地址
分页内存管理和分段式内存管理

分段内存管理

内存地址的构成:段起始地址+段内偏移
段表—有很多的段表项(物理段的起始地址)
通过地址中的段号去段表中找到段表项,通过段表项中的物理段起始地址加上地址中的段内偏移获取到物理地址
在这里插入图片描述
在这里插入图片描述

分页内存管理

分页式内存管理:
内存地址的构成:页号+页内偏移
页表—有很多页表项
通过地址中的页号去页表中找到页表项,通过页表项中的物理页号加上页内偏移获取到物理地
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
快表存放在高速缓冲区中
在这里插入图片描述
当页表过大时二级页表出现
在这里插入图片描述

段页式内存管理:

内存地址:段号+段内页号+页内偏移
段表项中又段内页表起始地址
段内页表项中又包含物理页号
通过段号在段表中找到段表项,通过段表项中的段内页表地址找到段内页表,通过地址中的段内页号在段内页表中找到页表项,通过页表项中的物理页号与页内偏移组成物理地址。

页式和段式系统有许多相似之处。比如,两者都采用离散分配方式,且都通过地址映射机构来实现地址变换。但概念上两者也有很多区别,主要表现在:

1)、需求:是信息的物理单位,分页是为了实现离散分配方式,以减少内存的碎片,提高内存的利用率。或者说,分页仅仅是由于系统管理的需要,而不是用户的需要。段是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了更好地满足用户的需要。一条指令或一个操作数可能会跨越两个页的分界处,而不会跨越两个段的分界处。
2)、大小:页大小固定且由系统决定,把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的。段的长度不固定,且决定于用户所编写的程序,通常由编译系统在对源程序进行编译时根据信息的性质来划分。

3)、逻辑地址表示:页式系统地址空间是一维的,即单一的线性地址空间,程序员只需利用一个标识符,即可表示一个地址。分段的作业地址空间是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。

4)、比页大,因而段表比页表短,可以缩短查找时间,提高访问速度。

在这里插入图片描述

分段分页的区别

在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值