存储器管理之分页存储管理
引入
在动态分区的存储空间中,常常引入了“零头”问题。尽管采用“紧凑”技术可以解决这个问题,但要为移动大量信息花去不少的处理机时间,代价较高。分页存储管理系统的思想被提出了。
分页,是把主存存储空间按大小一定的块划分,称为物理块,或页框。同时按同样的尺寸去划分作业的地址空间,形成一个个相等的页面,称为逻辑页或虚页。因此,作业可以按页为单位,零散地放在主存的不连续的页框中。
如上图所示,作业的各个页面与页框的对应,就是通过页表来实现。
页面(page):在分页式系统中,把作业的地址空间划分成若干个大小相等的区域,例如一个区为1KB,称这样的每个区为页面或者简称页。页的大小通常在 512B~4KB范围。相应地,也需将主存空间划分为若干个大小相等的物理块,并使块与页的大小相同,这样,在将用户程序装入内存时,刚好一块中放页。
页面映射表(page map table):简称页表。其中列出了作业的逻辑地址与其在主存中 的物理地址间的对应关系。一个页表中包含若干个表目,表目的内容是对应于用户程序中的页号,表目中 的最基本内容是该页所对应的物理块号。
页表
页表列出了作业的逻辑地址与其在主存中的物理地址间的对应关系。一个页表中包含若干个表目,表目的自然序号对应于用户程序中的页号,表目中的最基本内容是该页对应的物理块号。
页表的每一个表目除了包含指向页 框的指针外,还包括一个存取控制字段。 这个表目也称为页描述字。
控制寄存器
系统中每个装入内存的作业都有一张页表。各页表的起始地址都不同。为了方便查找页表表项,系统还设立了一个“控制寄存器”。(格式如下)控制寄存器存放CPU正在处理的作业所对应页表的起始地址以及该作业的页数。
如上例,CPU正在处理的作业共有3页,该作业的页表起址为1000。
作业登记表
例:简述作业J1的页表定位过程。
作业被调度放进内存时,分页系统把该作业分成3页,建立页表,并把页表起址1000以及页数3写进系统的作业登记表中。
系统调度J1执行时,从系统的作业登记表中读取页表起址(1000)和页数(3)写到控制寄存器。这样,J1的页表位置就确定了。
纯分页存储管理
又称静态页式管理,它的特点是系统若能满足一个作业所要求的全部块数,此作业才能被装入内存;否则,不为它分配任何内存。简单地说:要么全部调入,要么全部不调入
⑴地址变换
例如:简述指令 LOAD 10,2500 的地址变换过程。 说明:把10写进第 2500内存单元。
⑵变换过程
第1步:把虚拟地址2500转换成页号P=2,位移量W=452;(这一步完全由硬件完成)
第2步:如果页号2大于页表大小,则中断;否则继续;
第3步:页号2与页表起址1000运算(1000+2*20,设页描述子大小为20)得到页描述子地址为1040;
第4步:从页描述子中读取块号8;
第5步:根据页描述子的“存取控制”判断该指令是否被允许访问内存,如果不允许,则中 断;否则继续;
第6步:块号8与位移量452运算(8×1024+452=9644,1024为页面大小)得到物理地址9644 (这一步与①相反,完全由软件完成)
第7步:把数字1写进内存地址9644单元中。
快表
如果把页表放在主存中,无疑会影响系统的性能。这是因为每次访问主存,首先必须访问页表,读出页描述字,之后根据页表形成的实际地址再访问主存,这样使访问主存的次数加倍,因而使总的处理速度明显下降。
为了解决这个问题人们采用一组硬件寄存器,存放当前访问页的页描述子,此硬件寄存器即超高速缓存,称为“快表”。
基地址转换过程如下图所示。
每次访问主存时,首先查找快表,若找到所需的页描述子,则快速形成物理地址。否则从页表中查找后形成物理地 址,同时把页描述子写入快表 。如果设计得当,快表的命中率可以很高。
欢迎大家加我微信交流讨论(请备注csdn上添加)
存储器管理之分页存储管理相关推荐
- 存储器管理之分区存储管理
分区式管理是满足多道程序的最简单的存储管理方案.它的基本思想是将内存划分成若干个连续区域,称为分区.每个分区只能存储一个程序,且程序也只能在它所驻留的分区中运行. ⑴固定分区 操作系统预先把可分配的主 ...
- 存储器管理之分段存储管理
引入 在分页存储系统中,作业的地址空间是一维线性的,这破坏了程序内部天然的逻辑结构.这样常常会把逻辑相关部分划到不同的页面,造成共享.保护的困难.加之,程序员常常用二维地址描述自己的程序,于是产生了分 ...
- 12 操作系统第三章 内存管理 非连续分配管理方式 基本分页存储管理 基本分段存储管理 段页式存储管理
文章目录 1 基本分页存储管理 1.1 什么是分页存储 1.2 重要的数据结构--页表 1.3 基本地址变换机构 1.4 具有快表的地址变换机构 1.4.1 什么是快表(TLB) 1.4.2 引入快表 ...
- 操作系统之内存管理:3、基本分页存储管理
3.基本分页存储管理 思维导图 页框(页帧.内存块.物理块.物理页面)与页面(页) 如何确定进程的每个页面在内存中存放的位置?--------->页表 每个页表项多大?占几个字节?i号页表项的起 ...
- (王道408考研操作系统)第三章内存管理-第一节6-1:非连续分配管理方式之基本分页存储管理
文章目录 一:分页存储管理基本思想 二:分页存储管理基本概念 (1)页框和页 (2)页框和页关系 (3)分页的优点 三:分页存储管理实现地址转换 (1)借鉴连续分配管理方式中的动态重定位 (2)分页管 ...
- 操作系统——存储器管理(连续分配存储管理方式)
文章目录 一.单一连续分配 二.固定分区分配 1. 划分分区的方法 2. 内存分配 三.动态分区分配 1. 动态分区分配中的数据结构 2. 动态分区分配算法 3. 分区分配操作 四.基于顺序搜索的动态 ...
- 操作系统学习笔记 第四章:存储器管理(王道考研)
本文章基于网课: 2019 王道考研 操作系统 考试复习推荐资料:操作系统复习总结 - 百度文库 (baidu.com) 需要相关电子书的可以关注我的公众号BaretH后台回复操作系统 第一章:操作系 ...
- 【408预推免复习】操作系统之存储器管理
[408&预推免复习]操作系统之存储器管理 文章目录 1 基础部分 2 分页存储管理 3 分段存储管理 1 基础部分 物理地址空间(或物理空间.绝对空间):由内存一系列存储单元所限定的地址范围 ...
- Linux内存管理:分页机制
<Linux内存管理:内存描述之内存节点node> <Linux内存管理:内存描述之内存区域zone> <Linux内存管理:内存描述之内存页面page> < ...
最新文章
- 2016年5月份学习总结,读书《你的孤独,虽败犹荣》
- [圣诞记]HULK七周年庆
- php对mysql解决乱码_PHP彻底解决mysql中文乱码-阿里云开发者社区
- 为什么只看重结果_买家下单最看重的三项服务,做好这三点,让你的销量涨涨涨...
- CABasicAnimation animationWithKeyPath Types
- linux选择内核命令,Lenky个人站点
- windows下将python自带的pip卸载了,怎么重新装pip
- 【IT生活】成长,没有想象的那么迫切 ——叶绍琛
- python图像处理之一 - Pillow的基本用法
- matlab中列主元三角分解法的函数,[数值算法]列主元三角分解法
- itools3.0服务器维护,APP Store失联?iTools3.0告诉你如何解决
- 技术开放、平等普惠,蚂蚁金服ATEC科技大会闪耀狮城新加坡
- axure生成的html不能用360浏览器打开
- js单行代码------对象
- C++项目实战 —— 演讲比赛流程管理系统
- win10系统 VirtualBox 无法打开虚拟机,报错VERR_VD_IMAGE_READ_ONLY
- AndroidDevTools sdk ndk下载
- [安全科普]SSRF攻击实例解析
- 饿了么手机版-VUE2
- 东南亚共享充电宝方案/案列/APP/小程序/项目/网站
热门文章
- 【日常学习】【区间DP+高精】codevs1166 矩阵取数游戏题解
- 尚硅谷Java第三季--1.javaj基础
- Apache Sedona 常见问题解答 (FAQ)
- 机器学习-第三方库(工具包):scikit-learn【用于特征工程(主要分为三部分:数据预处理、特征选择、降维)】【Sklearn模块中包含常用的算法】
- 人工智能导论实验——线性回归
- cas37083-37-7/5,10,15,20-四(2,6-二氯苯基)卟吩;5-对( 4-溴丁氧基)苯基-10、15. 20三萃基卟啉的合成(筒称BrBPTPP,CgHsN,OBr )
- 2022-07-20 工作记录--React-js将时间戳转换成“天时分秒” + “天时分秒”的倒计时
- 华为mate9测试软件,【华为Mate9评测】3个月使用不卡顿!EMUI 5.0系统再测_华为 Mate 9(MHA-AL00/4GB RAM/全网通) _手机评测-中关村在线...
- PYTHON爬虫——必应图片关键词爬取
- java读取串口-mfz-rxtx-2.2-20081207-win-x86