2.3.1操作系统-存储管理:页式存储、逻辑地址、物理地址、物理地址逻辑地址之间的地址关系、页面大小与页内地址长度的关系、缺页中断、内存淘汰规则

这篇具有很好参考价值的文章主要介绍了2.3.1操作系统-存储管理:页式存储、逻辑地址、物理地址、物理地址逻辑地址之间的地址关系、页面大小与页内地址长度的关系、缺页中断、内存淘汰规则。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在存储管理当中,操作系统会负责将外存的一些文件调入到内存当中,以便给CPU调用,如果调用的内容不在内存当中,那么会产生一种中断,叫做缺页中断。然后从外存调数据,调完数据再返回,接着访问之前的断点部分。

在调用的过程当中,如果是一个几十G的文件,调入到内存是一下放不进去的,如果是大型游戏,几百G,都放入内存显然是不可能的。

如果只调用一部分内容,是不是内存就恰好有足够大小的连续空间去放置呢?
太理想化了,这个可能性并不大。所以在存储管理当中,从外存调入数据到内存当中的时候,一般会把完整的内容切割之后,分散的进行放置,那么分割的方式不一样,会有不同的调用方式。

页式存储

分页存储管理,分页存储也就是页式存储的过程。它会将文件与内存都划分成相同大小的区域,这个区域我们叫做,或者叫做

逻辑地址、物理地址

知道相应的页或块之后,我们只需要将页和内存当中对应的位置关系以一个表记录下来,就可以记录它们之间的映射关系。
这个表我们把它叫做页表,页表最基础的内容会包含在用户程序当中的页号,我们一般把它叫做逻辑页号,程序里面的地址叫做逻辑地址

调入到内存之后,放到内存的什么位置呢?
我们把对应关系记录下来,我们叫做页帧号,或者物理块号,它在内存当中的地址我们称为物理地址

对于物理地址和逻辑地址,我们一般会对应用程序根据逻辑地址查表,从而得到它的内存当中的物理地址,然后在实际的访问这个内容,整个过程当中,需要掌握逻辑地址和物理地址的转换关系。

如何判断物理地址和逻辑地址它们之间的地址关系?

我们所有的地址都会划分成两个部分,一个部分是在页内的具体地址,一个是在页外的出现的页号编号,这种编号与页号之间的关系类似于在寄快递的时候,先省市区,再是街道门牌号,较大的地址范围会放在高位上,细节的地址范围会放在低位上,一般低位我们把它叫做页内地址,它是在固定区域大小当,它所定义的一个偏移量,高位就是它对应的编号。

一个完整的地址,一般会用二进制,或者十六进制,有时候也会用十进制来表示,那么怎么确定哪里是页内地址,哪些是页号?
这个时候,会涉及到对页面大小的定义,如果页面存储系统当中,每个页的大小都是4KB,我们在回到主存编制的过程中,现在有一个页面大小的区域,总容量大小是4KB,在未知的情况下,默认按字节编组,也就是4KB/1B=4KB=4096个存储单元,可以表示的编号是0 ~ 4095,如果用比特位二进制来表示的话,则是000000000000 ~ 111111111111。

页面大小与页内地址长度的关系

可以总结下4KB的对应关系:4KB大小的页需要十二位二进制来表示212的不同的编码,对应4K个存储单元编号,对应4KB大小。依此类推,页面大小8KB,则页内地址长度为213

有了这种对应关系之后,将相应的地址转换成二进制,数一数页内地址的长度(从右往左数),第一位是页内地址,剩余的高位就是页号。

例题

例如页式存储系统中,每个页的大小4KB。
逻辑地址:10 1100 1101 1110,求物理地址

操作系统物理地址和逻辑地址的关系和计算,架构师考试,网络,数据结构,前端,存储,页式存储
4K个存储单元编号,对应4KB大小
逻辑地址:10 1100 1101 1110,因此从右往左数12位,还剩下左面的10,10所对应的十进制数是2,也就是页号为2,排除的12位是页内地址,是不变的,于是根据图中页表可知,块号为6,6转换为二进制是110

所以对应的物理地址:110 1100 1101 1110

总结

页的大小一般是以KB为单位的,相对来说,页面大小比较小。

在页式存储中,对于内存进行页面分配的时候,要么页面空闲,我们把它塞满,要么它已经占用了,一般可以利用到的碎片空间都可以利用,如果碎片空间小于页面大小,才不能够使用,所以在分配内存的时候,空闲的碎片一般会小于页面大小,空间利用率高,分配管理起来就比较简单。

但也正因为如此,页面太过于零碎,所以每次都需要查表去找相应的页面,这样增加了系统的开销;以页面位单位来进行调度的时候可能会产生抖动现象。所谓抖动现象就是给某一个进程分配3个页面,那它需要淘汰调用新页面的次数n,会小于给进程分配4个页面的情况,这种情况就是说明虽然系统增加了硬件设备,但是系统整体性能反而降低了,这个想想就叫做抖动。

高级程序语言使用逻辑地址,
运行状态,内存中使用物理地址。

逻辑地址=页号+页内地址
物理地址=页帧号+页内地址

优点:利用率高,碎片小,分配及管理简单
缺点:增加了系统开销;可能产生抖动现象

缺页中断

在调用的过程中,会给用户进程分配个别的一些内存页面来给它用,但是有限的页面肯定是不够用的,当想要访问某个用户程序页的时候,发现它并不在内存中,就会产生缺页中断。

内存淘汰规则

有缺页中断后,就需要把这个页面调用到内存当中,那么已经满了,要怎么调用?需要把内存已有的数据给剔除出去,这个剔除遵循下述规则:

页表相对来说比较复杂,还会记录相应的界面是否在内存的状态位,还有是否访问的访问位,是否修改的修改位。访问位会定时清零,也就是说,最近访问的最近是有时间限制的,如果超过了这个时间,没有再次被访问,则会认为近期不再会被访问,因此将访问位置为0。

修改位只要被修改过,就会置为1,不论过了多久。
操作系统物理地址和逻辑地址的关系和计算,架构师考试,网络,数据结构,前端,存储,页式存储
上图只分配了2,3,5,6四个物理页,剩下的并没有使用,也就是说0,1,2,5号逻辑页已经在内存了,那么躲过现在想用3号逻辑页,怎么做?

需要经内存当中,已有的逻辑页淘汰一个,才能使用3

淘汰规则:
前提条件:状态位为1(0表示都不在内存,自然无法内存参与淘汰)
①访问位为0,(根据局部性原理来看,最近访问过的页面接下来很有可能用到,这种页面尽可能保留)
②访问位都为0,再优先淘汰修改位为0,(修改位为1,则开销成本会更大,如果刚把修改的页面费半天劲淘汰了,而且为了一致性原则,还同步了外存,但是立马又要修改,这种情况就很麻烦,所以一般是最后用完之后再去淘汰,可以避免不必要的开销和重复修改)文章来源地址https://www.toymoban.com/news/detail-779612.html

到了这里,关于2.3.1操作系统-存储管理:页式存储、逻辑地址、物理地址、物理地址逻辑地址之间的地址关系、页面大小与页内地址长度的关系、缺页中断、内存淘汰规则的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 操作系统的存储管理

      文件系统是操作系统用于明确存储设备或分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。 注意:拷的文件比较大时,需要格式化为NTFS 注意:一个硬盘只有一个扩展分区

    2024年01月24日
    浏览(36)
  • 操作系统实验五 存储管理

    ★观前提示 : 本篇内容为操作系统实验内容 ,代码等内容经测试没有问题,但是 可能会不符合每个人实验的要求 ,因此以下内容建议 仅做思路参考 。 一、实验目的 掌握 虚拟内存 的管理机制。 了解虚拟存储技术的 特点 。 掌握请求分页存储管理的 页面置换算法 。 二、

    2024年02月06日
    浏览(45)
  • 操作系统实验之存储管理

    一、实验目的 1、了解虚拟存储技术的特点,掌握请求页式存储管理的主要页面置换算法原理。 2、掌握请求页式存储管理中页面置换算法的模拟设计方法。 3、通过随机产生页面访问序列开展有关算法的测试及性能比较。 二、实验内容 设计一个虚拟存储区和内存工作区,并

    2024年02月08日
    浏览(45)
  • 【操作系统】存储器管理练习

    12.(考研真题) 假设一个分页存储系统具有 快表 ,多数活动页表项都可以存在于其中。 若页表放在内存中,内存访问时间是1ns,快表的命中率是85%,快表的访问时间为0.1ns, 则 有效存取时间 为多少? 15.  已知某分页系统,内存容量为64KB,页面大小为1KB,对一个4页大的作业

    2024年02月05日
    浏览(98)
  • 【操作系统】——基本分页存储管理

    将内存分为一个个大小相等的分区, 这些分区称作为(页框、页帧、内存块、物理块、物理页面)若对分区进从编号,则又有了对应的(页框号、页帧号、内存块号、物理块号、物理页号),从0开始 进程的信息都是要存在内存中的,既然内存有了分区,那么进程逻辑地址空间

    2024年02月06日
    浏览(44)
  • 操作系统实验(一)——可变分区存储管理

    湖南师范大学信息科学与工程学院计算机科学与技术非师范班操作系统实验报告 一、实验目的: 加深对可变分区存储管理的理解; 提高用C语言编制大型系统程序的能力,特别是掌握C语言编程的难点:指针和指针作为函数参数; 掌握用指针实现链表和在链表上的基本操作。

    2024年02月06日
    浏览(43)
  • 【操作系统复习之路】存储器管理(第四章 &超详细讲解)

    目录 一、存储器的层次结构 二、程序的装入和链接 2.1 逻辑地址和物理地址 2.2 绝对装入方式 2.3 可重定位装入方式 2.4 动态运行时装入方式 2.5 静态链接  2.6 装入时动态链接 2.7 运行时动态链接 三、连续分配存储器管理方式 3.1 单一连续分配 3.2 固定分区分配 3.3 动态分区

    2024年04月27日
    浏览(41)
  • 操作系统考试复习——第四章 存储器管理 4.1 4.2

    存储器的层次结构: 存储器的多层结构: 存储器至少分为三级:CPU寄存器,主存和辅存。 但是 一般分为6层 为寄存器,高速缓存,主存储器,磁盘缓存,固定磁盘,可移动存储介质。 这几个部分是 速度依次减小 但是 存储容量是依次增大 的。  只有固定磁盘和可移动存储

    2024年02月03日
    浏览(44)
  • 操作系统实验三虚拟存储器管理之模拟页面置换算法(FIFO&LRU)

    一、概述  (1)置换算法  (2)缺页率与命中率 二、先进先出置换算法(FIFO)    (1)定义    (2)示例  (3)Belady异常  三、最近最久未使用置换算法(LRU) (1)定义 (2)示例 四、FIFOLRU置换算法的模拟    (1)流程图  (2)完整代码  (3)实验结果         进程运行

    2024年02月04日
    浏览(39)
  • 操作系统原理 —— 文件的逻辑结构(二十三)

    这里说的 逻辑结构 ,就是指在用户看来,文件内部的数据应该是如何组织起来的,而 物理结构 指的是在操作系统看来,文件的数据是如何被存放的。 从 逻辑结构 结构来看,我们可以打开一个记事本,里面的文字内容从用户的角度来看就是无结构的,但是又从 Excel 来看,

    2024年02月08日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包