操作系统 页式存储 页与块之间的关系详解
2017-03-26 11:26
477 查看
操作系统 页式存储 页与块之间的关系详解[/b]
操作系统页式存储页块逻辑地址物理地址块号页号以下这些概念在刚开始学的时候简直要逼疯我了,因为不同书籍不同作者就会有不同的叫法,比如说页内地址有叫页偏移的,块有叫页框的。。。反正各种不爽。如果你也有这种状况,那不好意思,我先得说明一下,你还是适应一下我的叫法。因为这篇文章我说了算~~~~(有没有很霸气)
页式存储
注意页和块的对象的不同对程序进行分页存储
对内存进行分块存储
文章最后会给出我总结的页和块的关系
逻辑地址和物理地址
a) 逻辑地址:由两部分组成,即页号 + 页内地址
设逻辑地址由总长度为m的二进制数表示,页内地址为n位,则页号为m-n位。注意:
块内地址=页内地址=2n,同理最大的程序可允许有 > > 2m-n 个页面。
计算公式:页号 = 逻辑地址/页长(商)
页内地址 = 逻辑地址%页长(余数)
b) 物理地址
物理地址 = 块号 * 块长 + 块内地址 +(用户基址)
物理地址 = 块号 * 页长 + 页内地址 +(用户基址)为了弄清楚上面一大堆名词之间的关系,看看下面的例题。
根据所给条件求出物理地址(答案虽然已经给出,但是你可以装作没看见啊)
ps:用户基址是1000
例题
分析:注意每个页的页内地址是一样的,所以由公式页号 = 逻辑地址/页长(商)
页内地址 = 逻辑地址%页长(余数)
我们可以知道逻辑地址 = 页号 * 页长 + 页内地址,所以页长 = (逻辑地址 - 页内地址)/页号.
解:块长=页长=(4865-769)/2=2048,又 块内地址=页内地址,故
物理地址=块号*块长+块内地址+用户基址
=6*2048+769+1000=14057
页块术语对应
页 | 块 |
---|---|
程序 | 内存 |
逻辑地址 | 物理地址 |
页号 | 块号 |
页内地址 | 块内地址 |
页长(页面大小) | 块长(块大小) |
相关文章推荐
- 操作系统 页式存储 页与块之间的关系详解
- 操作系统 页式存储 页与块之间的关系详解
- 本文是笔者根据数据库编程经验,利用C++语言的模板、继承、授权、多态等面向对象特性,借鉴命令模式,实现了对象在关系数据中的存储,降低应用系统与数据库之间的耦合,提高开发效率。
- 女人、操作系统和编程语言之间的关系
- 利用存储过程得到某一指定的表与其它的表之间的外键关系SQL Server2000
- 《Orange’s 一个操作系统的实现》3.保护模式8-页式存储
- XenServer 存储(sr-pdb-vdb-vdi)之间的关系图
- 指针类型和存储区的关系详解
- 详解JVM,JRE,JDK之间之间的关系
- SCP 命令详解、两主机之间建立安全的信任关系
- 每天学习一算法系列(33)(n 支队伍比赛,分别编号为0,1,2......n-1,已知它们之间的实力对比关系,存储在一个二维数组w[n][n]中,w[i][j] 的值代表编号为i,j 的队伍中更强)
- Oracle数据库用户、表、表空间之间关系详解
- 单片机指针类型和存储区的关系详解
- Powerdesigner的反向工程无法导出mysql表之间的关系(mysql的2中存储方式)
- 存储控制器与外设之间的关系 (SDRAM与BANK6连接概述)
- 利用存储过程得到某一指定的表与其它的表之间的外键关系SQL Server2000
- 利用存储过程得到某一指定的表与其它的表之间的外键关系2000
- 快速理解:编程语言 il clr 机器码 操作系统之间的关系,用饮料作比喻
- 《Orange’s 一个操作系统的实现》3.保护模式8-页式存储
- glibc库详解及与POSIX,systemV这些库之间的关系说明