第五章 虚拟存储器【操作系统】3

简介: 第五章 虚拟存储器【操作系统】3

5.4.3 “抖动”的预防方法

这些方法几乎都是采用调节多道程序度来控制“抖动”发生的。

1.采取局部置换策略。
即使该进程发生了“抖动”,也不会对其它进程产生影响,于是可把该进程“抖动”所造成的影响限制在较小的范围内。但在某进程发生“抖动”后,它还会长期处在磁盘 I/O 的等待队列中,使队列的长度增加,这会延长其它进程缺页中断的处理时间。
2.把工作集算法融入到处理机调度中
当调度程序发现处理机利用率低下时,它将试图从外存调入一个新作业进入内存,在从外存调入作业之前,必须检查每个进程在内存的驻留页面是否足够多。如果都足够多,此时便可以从外存调入新的作业,不会因新作业的调入而导致缺页率的增加;反之,如果有些进程的内存页面不足,则应首先为那些缺页率居高的作业增加新的物理块,此时将不再调入新的作业。

3.利用“L=S”准则调节缺页率
其中L是缺页之间的平均时间,S是平均缺页服务时间,即用于置换一个页面所需的时间。如果是L远比S大,说明很少发生缺页,磁盘的能力尚未得到充分的利用;反之,如果是L比S小,则说明频繁发生缺页,缺页的速度已超过磁盘的处理能力。只有当L与S接近时,磁盘和处理机都可达到它们的最大利用率。理论和实践都已证明,利用“L=S”准则,对于调节缺页率是十分有效的。

4.选择暂停进程

基于某种原则选择暂停某些进程。将它们调出到磁盘上,以便腾出内存空间分配给缺页率发生偏高的进程。

5.5 请求分段存储管理方式

5.5.1 请求分段中的硬件支持

1.请求段表机制
除了段名(号)、段长、段在内存中的起始地址外,还增加了以下诸项:

1)存取方式:根据信息的属性对分段实施保护。如果该字段为两位,则存取属性是只执行、只读和允许读/写。

2)访问字段 A:记录该段被访问的频繁程度。

3)修改位 M:表示该段在进入内存后是否已被修改过。

4)存在位 P:指示本段是否已调入内存。

5)增补位:表示本段在运行过程中是否做过动态增长。

6)外存始址:指示本段在外存中的起始地址,即起始盘块号。

2.缺段中断机构
每当发现运行进程所要访问的段尚未调入内存时,便由缺段中断机构产生一缺段中断信号,进入 OS 后由缺段中断处理程序将所需的段调入内存。缺段中断机构与缺页中断机构类似,它同样需要在一条指令的执行期间,产生和处理中断,以及在一条指令执行期间,可能产生多次缺段中断。但由于分段是信息的逻辑单位,因而不可能出现一条指令被分割在两个分段中和一组信息被分割在两个分段中的情况。由于段不是定长的,这使对缺段中断的处理要比对缺页中断的处理复杂。


3.地址变换机构


上图中的段表的的起始编号是从 1 开始的。

5.5.2 分段的共享与保护

1.共享段表

为了实现分段共享,可在系统中配置一张共享段表,所有各共享段都在共享段表中占有一表项。记录了共享段的信息和共享

此分段的某个进程的情况。

1)共享进程计数 count。非共享段仅为一个进程所需要。而共享段是为多个进程所需要的,当某进程不再需要而释放它时,系统并不立即回收该段所占内存区,而是检查 count 是否为 0,若不是 0,则表示还有进程需要它,仅当所有共享该段的进程全不再需要它使,此时 count 为 0,才由系统回收该段所占的内存区。

2)存取控制字段。对于一个共享段,应给不同的进程以不同的存取权限。

3) 段号。对于一个共享段,在不同的进程中可以具有不同的短号,每个进程可用自己进程的段号去访问该共享段。

2.共享段的分配与回收
1)共享段的分配。

在为共享段分配内存时,对第一个请求使用该共享段的进程,由系统为该共享段分配一物理区,再把共享段调入该区,同时将该区的始址填入请求进程的段表的相应项中,还须在共享段表中增加一表项,填写有关数据,把 count 置为 1。之后,当

又有其它进程需要调用该共享段时,由于该共享段已被调入内存,故此时无须再为该段分配内存,而只需在调用进程的段表中增加一表项,填写该共享段的物理地址;以及在共享段的段表中,填上调用进程的进程名、存取控制等,再执行 count = count+1 操作。

2)共享段的回收。

当共享此段的某进程不再需要该段时,应将该段释放,包括撤消在该进程段表中共享

段所对应的表项,以及执行 count = count-1 操作。若结果为 0,表明此时已没有进程在使用该段,则须由系统回收该共享段的物理内存,以及取消在共享段表中当前调用进程所对应的表项。否则(减 1 结果不为 0),只是取消调用者进程在共享段表中的有关记录。

3.分段保护
1)越界检查。

越界检查时利用地址变换机构来完成的。①短号和段表长度的比较。②段内地址和段长的比较。

2)存取控制检查。

存取控制检查是以段为基本单位进行的。在段表的每个表项中都设置了一个“存取控制”字段,用于规定对该段的访问方式。对于共享段而言,存取控制就显得尤为重要。

3)环保护机构。

这是一种功能较完善的保护机制。在该机制中规定:低编号的环具有高优先权。OS 核心处于 0 环内;某些重要的实用程序和操作系统服务占居中间环;而一般的应用程序则被安排在外环上。在环系统中,程序的访问和调用应遵循以下规则:

1)一个程序可以访问驻留在相同环或较低特权环中(较之编号高的环)的数据。类似于读。

2)一个程序可以调用驻留在相同环或较高特权环中(较之编号低的环)的服务。类似于执行。




相关文章
|
存储 SQL Cloud Native
深入了解云原生数据库CockroachDB的概念与实践
作为一种全球领先的分布式SQL数据库,CockroachDB以其高可用性、强一致性和灵活性等特点备受关注。本文将深入探讨CockroachDB的概念、设计思想以及实践应用,并结合实例演示其在云原生环境下的优越表现。
|
10月前
|
自然语言处理 搜索推荐 小程序
微信公众号接口:解锁公众号开发的无限可能
微信公众号接口是微信官方提供的API,支持开发者通过编程与公众号交互,实现自动回复、消息管理、用户管理和数据分析等功能。本文深入探讨接口的定义、类型、优势及应用场景,如智能客服、内容分发、电商闭环等,并介绍开发流程和工具,帮助运营者提升用户体验和效率。未来,随着微信生态的发展,公众号接口将带来更多机遇,如小程序融合、AI应用等。
常用工具类-Arrays
本文介绍了Java工具类Arrays和Arrays.ArrayList的常用功能,包括数组的打印、创建、比较、排序、检索以及转换为List的方法,以及setAll和parallelSetAll的使用,展示了如何通过这些工具类便捷地操作数组。
常用工具类-Arrays
|
10月前
|
JavaScript 编译器 开发工具
【02】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-准备工具安装-编译器DevEco Studio安装-arkts编程语言认识-编译器devco-鸿蒙SDK安装-模拟器环境调试-hyper虚拟化开启-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
【02】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-准备工具安装-编译器DevEco Studio安装-arkts编程语言认识-编译器devco-鸿蒙SDK安装-模拟器环境调试-hyper虚拟化开启-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
570 2
【02】鸿蒙实战应用开发-华为鸿蒙纯血操作系统Harmony OS NEXT-项目开发实战-准备工具安装-编译器DevEco Studio安装-arkts编程语言认识-编译器devco-鸿蒙SDK安装-模拟器环境调试-hyper虚拟化开启-全过程实战项目分享-从零开发到上线-优雅草卓伊凡
用户态和内核态是如何切换的?
【10月更文挑战第28天】用户态和内核态的切换是通过系统调用指令、异常和中断等机制来实现的。这些机制确保了应用程序能够在需要时请求内核提供的服务,同时也保证了内核能够对系统资源进行有效的管理和保护,维护系统的稳定性和安全性。通过准确地保存和恢复上下文信息,实现了用户态和内核态之间的无缝切换,为计算机系统的正常运行提供了有力保障。
|
供应链 搜索推荐 API
探讨拼多多商品 API 接口:运用及收益
拼多多商品API接口为开发者和企业提供了一站式的商品数据交互解决方案,涵盖商品详情、价格、库存、评价等多元信息,助力电商平台拓展、数据分析、个性化推荐及营销推广,有效提升商业价值和用户体验,推动电商领域的创新与发展。
1107 0
|
传感器 监控 JavaScript
千套单片机\stm32毕设课设题目及资料案列-干货分享
为帮助电子工程领域的学习者顺利毕业或掌握更多专业知识,我们精心整理了一系列单片机和STM32相关的题目及资料案例。这些资源覆盖了从毕业设计到课程设计的各个方面,包括但不限于智能小车、温度控制系统、无线通信、智能家居等多个领域。每项设计都配有详细的原理图、仿真图以及完整的文档资料,旨在帮助学生深入理解理论知识的同时,提高实际动手操作能力。无论是初学者还是有一定基础的学生,都能从中找到适合自己的项目进行实践探索。
3371 8
|
安全 数据管理 定位技术
CDGA|自然资源数据治理五部曲,实现数据融合关联、共享可用
在自然资源行业,数据治理是自然资源信息化的工作基础,是推进自然资源治理体系和治理能力现代化进程的必经之路。
|
存储 人工智能 搜索推荐
【2023年第十一届泰迪杯数据挖掘挑战赛】C题:泰迪内推平台招聘与求职双向推荐系统构建 27页论文及实现代码
本文介绍了2023年第十一届泰迪杯数据挖掘挑战赛C题的解决方案,详细阐述了如何构建泰迪内推平台的招聘与求职双向推荐系统,包括数据收集、分析、画像构建、岗位匹配度和求职者满意度模型的建立,以及履约率最优化的推荐模型,提供了27页的论文和实现代码。
328 0
【2023年第十一届泰迪杯数据挖掘挑战赛】C题:泰迪内推平台招聘与求职双向推荐系统构建 27页论文及实现代码

热门文章

最新文章