ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-05-01 20:02:05  阅读:432  来源: 互联网

标签:存储 操作系统 基址 逻辑 物理地址 地址 详解 块长


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

操作系统 页式存储 页 块 逻辑地址 物理地址 块号 页号

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

页式存储

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

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

  1. 逻辑地址和物理地址

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

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

注意:

  • 块内地址=页内地址=2n,同理最大的程序可允许有 > > 2m-n 个页面。

  • 计算公式:

    • 页号 = 逻辑地址/页长(商)

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


b) 物理地址

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

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


例题

分析:注意每个页的页内地址是一样的,所以由公式
  • 页号 = 逻辑地址/页长(商)

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

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

解:

块长=页长=(4865-769)/2=2048,又 块内地址=页内地址,故
物理地址=块号*块长+块内地址+用户基址
      =6*2048+769+1000=14057



页块术语对应

程序 内存
逻辑地址 物理地址
页号 块号
页内地址 块内地址
页长(页面大小) 块长(块大小)

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

标签:存储,操作系统,基址,逻辑,物理地址,地址,详解,块长
来源: https://blog.51cto.com/u_15187743/2748958

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有