页式虚拟存储管理_页式虚拟存储管理的主要特点

页式虚拟存储管理_页式虚拟存储管理的主要特点页式存储的基本原理    将程序的逻辑地址空间划分为固定大小的页(page),而物理内存划分为同样大小的页框(pageframe)。程序加载时,可将任意一页放人内存中任意一个页框,这些页框不必连续,从而实现了离散分配。也就是把内存等分成N份,存放运行的程序时,按分成的快放置即可。但放置时要考虑主存里哪些块已经被占用,这个用主存分配表(位示图)来表示。     分页式存储器的逻辑

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

页式存储的基本原理

      将程序的逻辑地址空间划分为固定大小的页(page),而物理内存划分为同样大小的页框(pageframe)。程序加载时,可将任意一页放人内存中任意一个页框,这些页框不必连续,从而实现了离散分配。也就是把内存等分成N份,存放运行的程序时,按分成的快放置即可。但放置时要考虑主存里哪些块已经被占用,这个用主存分配表(位示图)来表示。

页表

      分页式存储器的逻辑地址由两部分组成:页号和业内地址页表和地址转换

      系统为每个程序都建立一张页表,用于记录程序的逻辑页面与内存物理页面之间的对应关系。

页式虚拟存储管理_页式虚拟存储管理的主要特点

多级页表

      二级页表如下图所示,一级页表指出二级页表的存放地址,二级页表指出页的存放地址。

 页式虚拟存储管理_页式虚拟存储管理的主要特点

地址映射

 页式虚拟存储管理_页式虚拟存储管理的主要特点

      绝对地址=块号*块长 + 业内地址

 

虚拟存储器

      根据程序执行的互斥性和局部性两个特点,我们允许作业装入的时候只装入一部分,另一部分放在磁盘上,当需要的时候再装入到主存,这样以来,在一个小的主存空间就可以运行一个比它大的作业。同时,用户编程的时候也摆脱了一定要编写小于主存容量的作业的限制。也就是说,用户的逻辑地址空间可以比主存的绝对地址空间要大。对用户来说,好象计算机系统具有一个容量很大的主存储器,称为“虚拟存储器”。

页式虚拟存储器的实现

      把未执行的程序放在辅助存储器中。

 页式虚拟存储管理_页式虚拟存储管理的主要特点

调度算法

<1> 先进先出调度算法

      先进先出调度算法根据页面进入内存的时间先后选择淘汰页面,先进入内存的页面先淘汰,后进入内存的后淘汰。本算法实现时需要将页面按进入内存的时间先后组成一个队列,每次调度队首页面予以淘汰。

 页式虚拟存储管理_页式虚拟存储管理的主要特点

<2>最近最少调度算法

      先进先出调度算法没有考虑页面的使用情况,大多数情况下性能不佳。根据程序执行的局部性特点,程序一旦访问了某些代码和数据,则在一段时间内会经常访问他们,因此最近最少用调度在选择淘汰页面时会考虑页面最近的使用,总是选择在最近一段时间以来最少使用的页面予以淘汰。算法实现时需要为每个页面设置数据结构记录页面自上次访问以来所经历的时间。

 页式虚拟存储管理_页式虚拟存储管理的主要特点

<3>最近最不常用调度算法

      由于程序设计中经常使用循环结构,根据程序执行的局部性特点,可以设想在一段时间内经常被访问的代码和数据在将来也会经常被访问,显然这样的页面不应该被淘汰。最近最不常用调度算法总是根据一段时间内页面的访问次数来选择淘汰页面,每次淘汰访问次数最少的页面。算法实现时需要为每个页面设置计数器,记录访问次数。计数器由硬件或操作系统自动定时清零。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/189212.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • PHP 安全问题入门:10 个常见安全问题 + 实例讲解

    PHP 安全问题入门:10 个常见安全问题 + 实例讲解

    2022年2月12日
    43
  • leetcode 三数之和_leetcode数组

    leetcode 三数之和_leetcode数组原题链接给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。示例 1:输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]示例 2:输入:nums = []输出:[]示例 3:输入:nums = [0]输出:[] 提示:0 <= nums.length <= 300

    2022年8月9日
    1
  • allure生成的报告怎么查看_allure测试报告

    allure生成的报告怎么查看_allure测试报告原因可能由于:因为pytest-allure-adaptor库基本被python3放弃了,运行很不友好,所以报错解决方法:terminal中先卸载:pipuninstallpytest-allure-adaptor再安装:pipallure-pytest若安装找不到该模块可以去设置那下载…

    2022年9月20日
    3
  • Python 基础语法(一)「建议收藏」

    Python 基础语法(一)「建议收藏」Python的特点1.简单Python是一种代表简单思想的语言。2.易学Python有极其简单的语法。3.免费、开源Python是FLOSS(自由/开放源码软件)之一。4.高层语

    2022年7月5日
    24
  • IIS无法启动:发生意外错误0x8ffe2740的原因

    IIS无法启动:发生意外错误0x8ffe2740的原因原因如果系统中存在端口冲突就有可能发生本情况. IIS默认使用80端口进行HTTP通信. 如果除IIS外的应用程序正在运行并且正在相同的IP地址上使用80端口,在您试图使用IIS管理器启动网站时您也可能收到该错误讯息. 解决方法要解决这个问题,您可以进行以下任一项操作:• 在IIS管理器中更改网站绑定端口为除80端口外的其它端口. • 停止正在使用80端口的应

    2022年7月26日
    7
  • IDEA2018.2.1最新版本破解[通俗易懂]

    转载自:https://www.52pojie.cn/thread-781394-1-1.html再次换电脑,再次安装IDEA,之前的破解用不了,再次查找破解方法。1、把下载的破解补丁放在你的idea的安装目录下的bin的目录下面(如下图所示),本文示例为F:\ProgramFiles\JetBrains\IntelliJIDEA2018.2\bin\JetbrainsCrack-3….

    2022年4月17日
    55

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号