操作系统~分页存储管理的基本概念与页面置换算法

1.要算出逻辑地址对应的页号

2.要知道该页号对应页面在内存中的起始地址

3.要算出逻辑地址在页面内的“偏移量”,

4.物理地址=页面始址+页内偏移量

如何计算:

页号=逻辑地址/页面长度(取除法的整数部分)

页内偏移量=逻辑地址%页面长度(取除法的余数部分)页面在内存中的起始位置:操作系统需要用某种数据结构记录进程各个页面的起始置。

页号=80/ 50= 1

页内偏移量=80 % 50 = 30

1号页在内存中存放的起始位置450

所以为480

页表


为了能知道进程的每个页面在内存中存放的位置,操作系统要为每个进程建立一张页表。

在这里插入图片描述

页表对应到块号, 由块号*块的大小就可以直接找到每个页在内存的物理地址

俩级页表

单级页表存在的问题

某计算机系统按字节寻址,支持32位的逻辑地址,采用分页存储管理,页面大小为4KB,页表项长度为4B。如果是16GB的内存那得分多少块, 一旦进程多了, 操作系统维护的页表也就很大, 这也是一个不必要的消耗

问题一:页表必须连续存放,因此当页表很大时,需要占用很多个连续的页框。

问题二:没有必要让整个页表常驻内存,因为进程在一段时间内可能只需要访问某几个特定的页面。

如何解决单级页表的问题?

将进程地址空间分页,并为其建立一张页表,记录各页面的存放位置

同样的思路也可用于解决“页表必须连续存放”的问题,把必须连续存放的页表再分页

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值