前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >操作系统 页式存储 页与块之间的关系详解

操作系统 页式存储 页与块之间的关系详解

作者头像
marsggbo
发布2018-01-23 16:26:48
2K0
发布2018-01-23 16:26:48
举报

操作系统 页式存储 页与块之间的关系详解

操作系统

页式存储

逻辑地址

物理地址

块号

页号

以下这些概念在刚开始学的时候简直要逼疯我了,因为不同书籍不同作者就会有不同的叫法,比如说页内地址有叫页偏移的,块有叫页框的。。。 反正各种不爽。如果你也有这种状况,那不好意思,我先得说明一下,你还是适应一下我的叫法。因为这篇文章我说了算~~~~(有没有很霸气)

页式存储

  1. 注意页和块的对象的不同程序进行分页存储 对内存进行分块存储

文章最后会给出我总结的页和块的关系

  1. 逻辑地址和物理地址

a) 逻辑地址:由两部分组成,即页号 + 页内地址

设逻辑地址由总长度为m的二进制数表示,页内地址为n位,则页号为m-n位。

注意:

  • 块内地址=页内地址=2n,同理最大的程序可允许有 > > 2m-n 个页面。
  • 计算公式:
    • 页号 = 逻辑地址/页长(商)
    • 页内地址 = 逻辑地址%页长(余数)

b) 物理地址

物理地址 = 块号 * 块长 + 块内地址 +(用户基址) 物理地址 = 块号 * 页长 + 页内地址 +(用户基址)

为了弄清楚上面一大堆名词之间的关系,看看下面的例题。 根据所给条件求出物理地址(答案虽然已经给出,但是你可以装作没看见啊) ps:用户基址是1000

例题

分析:注意每个页的页内地址是一样的,所以由公式

  • 页号 = 逻辑地址/页长(商)
  • 页内地址 = 逻辑地址%页长(余数)

我们可以知道逻辑地址 = 页号 * 页长 + 页内地址,所以页长 = (逻辑地址 - 页内地址)/页号.

解:

代码语言:javascript
复制
块长=页长=(4865-769)/2=2048,又 块内地址=页内地址,故
物理地址=块号*块长+块内地址+用户基址
      =6*2048+769+1000=14057

页块术语对应

程序

内存

逻辑地址

物理地址

页号

块号

页内地址

块内地址

页长(页面大小)

块长(块大小)

ps:页内地址又可以成为页偏移,但是页内地址不是页长!!!!页长又可以成为页面大小。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-03-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 操作系统 页式存储 页与块之间的关系详解
    • 页式存储
    相关产品与服务
    对象存储
    对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档