操作系统教材第6版——个人笔记6

3.3.4 页面调度

页面调度

  • 当主存空间已满而又需要装入新页时,页式虚拟存储管理必须按照一定的算法把已在主存的一些页调出去 #主存满加新,把已在主存一些页调出
  • 选择淘汰页的工作称为页面调度 选择淘汰页的算法称为页面调度算法
    • 页面调度算法设计不当,会出现(刚被淘汰的页面立即又要调入,并如此反复)#淘汰调入循环=抖动/颠簸
    • 这种现象称为抖动或颠簸

缺页中断率

  • 假定进程P共n页,系统分配页架数m个
  • P运行中成功访问次数为S,不成功访问次数为F,总访问次数A=S+F
  • 缺页中断率定义为:f=F/A
  • 缺页中断率是衡量存储管理性能和用户编程水平的重要依据

影响缺页中断率的因素

  • 配给进程的页架数:可用页架数越多,则缺页中断率就越低
  • 页面的大小:页面尺寸越大,则缺页中断率就越低
  • 用户的程序编制方法:在大数据量情况下,对缺页中断率也有很大影响

用户编程的例子

OPT页面调度算法

  • 理想的调度算法是:当要调入新页面时,首先淘汰以后不再访问的页,然后选择距现在最长时间后再访问的页 #调入新页面-淘汰不再访问页-选最长时间页
  • 该算法由Belady提出,称Belady算法,又称最佳算法(OPT)
  • OPT只可模拟,不可实现

先进先出FIFO页面调度算法

  • 总是淘汰最先调入主存的那一页,或者说主存驻留时间最长的那一页(常驻的除外) 模拟的是程序执行的顺序性,有一定合理性
  • 最近最少用LRU页面调度算法
  • 淘汰最近一段时间较久未被访问的那一页,即那些刚被使用过的页面,可能马上还要被使用到
  • 模拟了程序执行的局部属性,既考虑了循环性又兼顾了顺序性 严格实现的代价大(需要维持特殊队列)

LRU算法的模拟实现

  • 每页建一个引用标志,供硬件使用
  • 设置一个时间间隔中断:中断时页引用标志置0
  • 地址转换时,页引用标志置1
  • 淘汰页面时,从页引用标志为0的页中间随机选择
  • 时间间隔多长是个难点

最不常用LFU页面调度算法

  • 淘汰最近一段时间内访问次数较少的页面,对OPT的模拟性比LRU更好
  • 基于时间间隔中断,并给每一页设置一个计数器
  • 时间间隔中断发生后,所有计数器清0
  • 每访问页1次就给计数器加1
  • 选择计数值最小的页面淘汰

时钟CLOCK页面调度算法

  • 采用循环队列机制构造页面队列,形成了一个类似于钟表面的环形表
  • 队列指针则相当于钟表面上的表针,指向可能要淘汰的页面
  • 使用页引用标志位

CLOCK算法的工作流程

  • 页面调入主存时,其引用标志位置1
  • 访问主存页面时,其引用标志位置1
  • 淘汰页面时,从指针当前指向的页面开始扫描循环队列
  • 把所遇到的引用标志位是1的页面的引用标志位清0,并跳过
  • 把所遇到的引用标志位是0的页面淘汰,指针推进一步

3.3.5 反置页表

反置页表的提出

  • 页表及相关硬件机制在地址转换、存储保护、虚拟地址访问中发挥了关键作用
  • 为页式存储管理设置专门硬件机构
  • 内存管理单元MMU:CPU管理虚拟/物理存储器的控制线路,把虚拟地址映射为物理地址,并提供存储保护,必要时确定淘汰页面
  • 反置页表IPT:MMU用的数据结构

反置页表的基本设计思想

  • 针对内存中的每个页架建立一个页表,按照块号排序
  • 表项包含:正在访问该页框的进程标识、页号及特征位,和哈希链指针等
  • 用来完成内存页架到访问进程页号的对应,即物理地址到逻辑地址的转换

反置页表的页表项

  • 页号:虚拟地址页号
  • 进程标志符:使用该页的进程号(页号和进程标志符结合起来标志一个特定进程的虚拟地址空间的一页)
  • 标志位:有效、引用、修改、保护和锁定等标志信息
  • 链指针:哈希链

基于反置页表的地址转换过程

  • MMU通过哈希表把进程标识和虚页号转换成一个哈希值,指向IPT的一个表目
  • MMU遍历哈希链找到所需进程的虚页号,该项的索引就是页架号,通过拼接位移便可生成物理地址
  • 若遍历整个反置页表中未能找到匹配页表项,说明该页不在内存,产生缺页中断,请求操作系统调入

反置页表下的地址转换示意

  • 未显示选择淘汰页面,同样由MMU完成

3.4 段式存储管理

3.4.1 段式存储管理

段式程序设计

  • 每个程序可由若干段组成,每一段都可以从“0”开始编址,段内的地址是连续的
  • 分段存储器的逻辑地址由两部分组成 段号:单元号

程序的分段结构

段的共享

  • 通过不同进程段表中的项指向同一个段基址来实现
  • 对共享段的信息必须进行保护,如规定只能读出不能写入,不满足保护条件则产生保护中断

3.4.2 段式虚拟存储管理

段式虚拟存储管理的基本思想

  • 把进程的所有分段都存放在辅存中,进程运行时先把当前需要的一段或几段装入主存,在执行过程中访问到不在主存的段时再把它们动态装入
  • 段式虚拟存储管理中段的调进调出是由OS自动实现的,对用户透明
  • 与段覆盖技术不同,它是用户控制的主存扩充技术,OS不感知
  • 段表的扩充
  • 特征位: 00(不在内存)01(在内存)11(共享段)
  • 存取权限: 00(可执行)01(可读)11(可写)
  • 扩充位: 0(固定长)1(可扩充)
  • 标志位: 00(未修改)01(已修改)11(不可移动)

 段式虚拟存储管理的地址转换

3.4.3  段页式存储管理

段页式存储管理的基本思想

段式存储管理可以基于页式存储管理实现每一段不必占据连续的存储空间,可存放在不连续的主存页架中能够扩充为段页式虚拟存储管理 装入部分段,或者装入段中部分页面

段页式存储管理的段表和页表

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/849251.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

现代密码学-认证协议

A.B两个用户想通过网络先建立安全的共享密钥再进行保密通信?A(B)如何确信自己正在和B(A)通信而不是C?这种通信方式为双向通信,此时的认证为相互认证。 相互认证 A/B两个用户在建立共享密钥时需要考虑的核心问题:保密性和实时性&…

家政服务小程序,提高企业在市场中的竞争力

近几年,人们对家政的需求持续增加,面对小程序的快速发展,互联网家政的模式成为了市场新的发展方向,越来越多的居民也开始在线上预约家政服务。随着当下人们对家政的需求日益提升,线上家政小程序利用各种信息技术&#…

verilog阻塞和非阻塞语法

阻塞和非阻塞是FPGA硬件编程中需要了解的一个概念,绝大部分时候,因为非阻塞的方式更加符合时序逻辑设计的思想,有利于时钟和信号的同步,更加有利于时序收敛,所以除非特殊情况,尽量采用非阻塞方式。 1,非阻塞代码 非阻塞赋值,A和B是同时被赋值的,具体是说在时钟的上升…

5. MySQL 运算符和函数

文章目录 【 1. 算术运算符 】【 2. 逻辑运算符 】2.1 逻辑非 (NOT 或者 !)2.2 逻辑与运算符 (AND 或者 &&)2.3 逻辑或 (OR 或者 ||)2.4 异或运算 (XOR) 【 3. 比较运算符 】3.1 等于 3.2 安全等于运算符 <>3.3 不等于运算符 (<> 或者 !)3.4 小于等于运算符…

十足正式在山东开疆拓土!首批店7月初开业,地区便利店现全新面貌!

十足便利店将正式进军山东市场&#xff0c;以济南、淄博两座城市为核心发展起点&#xff0c;目前济南市已经有三家十足门店正在装修施工中&#xff0c;首批15家门店将于7月初开业&#xff0c;这标志着十足集团市场战略布局迈出了至关重要的一步。 随着3月份罗森品牌在济南成功开…

Inner-IoU

文章目录 AbstractMethodBBox Regression Mode AnalysisInner-IOU Loss paper code Abstract 作者指出IoU损失在理论上有能力精确描述边界框回归状态&#xff0c;但在实践中&#xff0c;它不能自适应地匹配不同的检测器和检测任务&#xff0c;导致泛化能力较弱。 为了解决这个…

Linux磁盘分区(fdisk)和卷管理详解(VG-LV-PV)

先看整体图&#xff0c;再讲解概念 一、磁盘分区 一个磁盘disk可以分多个区part&#xff0c;用fdisk命令&#xff0c;举例把/dev/vdb划分为/dev/vdb1和/dev/vdb2 二、创建虚拟卷 LVM是逻辑盘卷管理&#xff08;Logical Volume Manager&#xff09;的简称&#xff0c;他是磁盘…

基于Sentry+OpenTelemetry实现微服务前后端全链路监控

文章目录 前⾔背景技术⽅案Sentry私有化部署部署环境准备 项目集成前端后端agent探针集成sentry sdk集成增强探针为⽇志注⼊TraceID异常处理SDK⾃定义开发sentry sdk⾃定义开发⾃定义SentryEvent注⼊otel追踪信息⾃定义全局异常上报issue事件新增动态过滤功能 Java Agent Exten…

六位一线AI工程师总结大模型应用摸爬滚打一年的心得,网友:全程高能!

六位一线AI工程师和创业者&#xff0c;把在大模型应用开发上摸爬滚打一整年的心得&#xff0c;全&#xff01;分&#xff01;享&#xff01;了&#xff01; &#xff08;奇怪的六一儿童节大礼包出现了&#xff09; 这篇干货长文&#xff0c;一时间成为开发者社区热议的话题。…

紧急通知!Win10将于2025年终止支持,快来升级Win11吧!

近期&#xff0c;微软更新了官方支持页面&#xff0c;我们可以看到微软官方在2025年10月14日之后&#xff0c;不再为 Win10系统提供安全更新或技术支持。到这个时间&#xff0c;Win10用户的电脑仍可正常工作&#xff0c;但建议Win10用户都升级为Win11版本&#xff0c;接下来小编…

东航携手抖音生活服务开启机票首播,推出国内、国际超值机票次卡

在民航暑运旺季到来之际&#xff0c;越来越多的用户选择提前做好旅行规划&#xff0c;囤下高性价比的出游商品。6月6日18点&#xff0c;中国东方航空&#xff08;以下简称“东航”&#xff09;将在抖音开启首次机票直播&#xff0c;推荐多款超值机票次卡及空中Wi-Fi等特色产品&…

Angular17版本集成Quill富文本编辑器

Angular17版本集成Quill富文本编辑器 前言:网上找了好多富文本资源,对应Angular17版本的且兼容的太少了,且找到不到对应的版本 自己就去网上找个兼容的免费的富文本组件 1.兼容Angular17版本的quill包 "types/quill": "^1.3.10","ngx-quill": …

备战618!各广告平台SDK版本更新;最新支持eCPR指标;新增自动创建广告源平台 | TopOn产品更新

「TopPro 每月产品速递」是由TopOn最新推出的产品专栏&#xff0c;将会以月为周期梳理TopOn最新产品动态&#xff0c;致力于为互联网从业者提供优质服务&#xff0c;引领行业产品发展。 TopPro | 3~5月产品速递 2024.03.01-05.30 01 eCPR指标支持 // 功能描述 TopOn后台支…

C语言字符、数组指针变量

目录 一、字符指针变量 二、数组指针变量 a.数组指针变量是什么 b.数组指针变量的书写格式 c.数组指针变量如何初始化 d.二维数组传参的本质 一、字符指针变量 在指针的类型中我们知道有一种指针类型为字符指针 char* 。 其一般使用&#xff1a; int main() {char ch w…

ES 8的向量检索性能调优实践

前言 ES的官方实验室曾发布过一篇博客,介绍了使ES向量检索性能获得显著提升的技术要点与展望: 多线程搜索能力的利用:Lucene 的分段架构允许实现多线程搜索能力。Elasticsearch 通过同时搜索多个段来提高性能,使用所有可用的 CPU 核心的计算能力显著减少了单个搜索的延迟。…

关闭windows11磁盘地址栏上的历史记录

关闭windows11的磁盘地址栏上的历史记录 windows11打开磁盘后访问某一个磁盘路径后会记录这个磁盘路径&#xff0c;而且有时候会卡住这个地址栏&#xff08;关都关不掉&#xff09;&#xff0c;非常麻烦。 如下图所示&#xff1a; 关闭地址栏历史记录 按下windows键打开开…

Python 机器学习 基础 之 【常用机器学习库】 Matplotlib 数据可视化库

Python 机器学习 基础 之 【常用机器学习库】 Matplotlib 数据可视化库 目录 Python 机器学习 基础 之 【常用机器学习库】 Matplotlib 数据可视化库 一、简单介绍 二、Matplotlib 基础 1、安装 Matplotlib 2、导入 Matplotlib 3、基本绘图 3.1 绘制简单折线图 3.2、绘…

Framework | Android Rescue Party: 提升设备恢复力的机制

Framework | Android Rescue Party: 提升设备恢复力的机制 什么是 Rescue Party? Rescue Party 是 Android 操作系统中的一种机制,旨在当设备遇到系统崩溃或启动失败时提供自动恢复的方案。这一机制特别针对系统关键组件的反复崩溃,防止设备陷入无法使用的状态。 主要功能…

学习笔记——网络参考模型——TCP/IP模型(网络层)

三、TCP/IP模型-网络层 1、IPV4报头 (1)IPV4报文格式 IP Packet(IP数据包)&#xff0c;其包头主要内容如下∶ Version版本∶4 bit&#xff0c;4∶表示为IPv4; 6∶表示为IPv6。 Header Length首部长度∶4 bit&#xff0c;代表IP报头的长度(首部长度)&#xff0c;如果不带Opt…

Java 还能不能继续搞了?

金三银四招聘季已落幕&#xff0c;虽说行情不是很乐观&#xff0c;但真正的强者从不抱怨。 在此期间&#xff0c;我收到众多小伙伴的宝贵反馈&#xff0c;整理出132道面试题&#xff0c;从基础到高级&#xff0c;有八股文&#xff0c;也有对某个知识点的深度解析。包括以下几部…