DJ4-8 抖动与工作集

news2024/11/27 19:50:54

 

目录

4.8  抖动与工作集

1、缺页率对有效访问时间的影响

2、CPU 利用率急剧下降的原因

3、抖动

4、工作集模型

5、抖动的预防

4.9  请求分段存储管理方式

4.9.1  请求分段中的硬件支持

4.9.2  分段的共享与保护


4.8  抖动与工作集

1、缺页率对有效访问时间的影响

有效访问时间:是指访问存储器所需时间的平均值。

假设使用了快表,则 CPU 访问内存的时间组成为:

  • 内存读写周期
  • 查找快表时间
  • 缺页中断处理时间

缺页中断处理时间的组成为:

  • 缺页中断服务时间
  • 页面传送时间:读缺页和写置换页
  • 进程重新执行时间

由于缺页中断服务时间及进程重新执行时间较短,因此这里仅考虑页面传送时间。

2、CPU 利用率急剧下降的原因

系统内进程增多 => 每个进程的缺页率增大 => 缺页率增大到一定程度,进程总等待调页完成 => CPU 利用率降低 => 进程进一步增多,缺页率更大 =>……,称这一现象为抖动(thrashing)

显然,防止抖动的根本手段就是给进程分配足够多的帧,即物理块数。

问题是如何确定进程需要多少帧才能不抖动?

3、抖动

抖动:又称颠簸。如果运行进程的大部分时间都用于页面的换入/换出,而几乎不能完成任何有效的工作,则称此进程处于抖动状态。

抖动的类型有:

  • 局部抖动(采用局部置换时)
  • 全局抖动(采用全局置换时)

抖动产生的原因有:

  • 进程分配的物理块太少
  • 置换算法选择不当
  • 全局置换使抖动传播

4、工作集模型

(1) 工作集的基本概念

由局部性原理可知,程序在运行期间,对页面的访问是不均匀的。在一段时间内仅局限于较少的页面,在另一段时间内,又可能仅局限于对另一些较少的页面进行访问。这些页面被称为活跃页面。如果能够预知程序在某段时间间隔内要访问哪些页面,并将它们调入内存,将会大大降低缺页率,从而显著地提高处理机的利用率。

(2) 工作集的定义

选择哪个进程换入、换出,属于中程调度。

5、抖动的预防

抖动发生前会出现一些征兆,可利用这些征兆发现抖动并加以防范。

这些技术有:

  • 采取局部置换策略
  • 引入工作集的算法
  • L=S 准则:L 缺页之间的平均时间,S 平均缺页服务时间
  • 选择暂停的进程

4.9  请求分段存储管理方式

4.9.1  请求分段中的硬件支持

工作原理:在请求分段系统中,程序运行之前,只需先调入若干个分段(不必调入所有的分段),便可启动运行。当所访问的段不在内存中时,可请求 OS 将所缺的段调入内存。

为了实现请求调段、分段置换两大功能,系统必须提供如下的硬件支持:

  • 请求分段的段表机制
  • 缺段中断机构
  • 地址变换机构

一、段表机制

在虚拟存储系统中的所有段表,其段描述子增加五个信息标识位。

 

二、缺段中断机构

在地址映射过程中,在段表中发现所要访问的段不在内存,则产生缺段中断。OS 调用缺段中断处

理程序,根据段表中给出的外存地址,将该段调入内存,使作业继续运行下去。

缺段中断与缺页中断类似,主要表现为:

1、一个缺段中断要求在指令执行中间得到服务,即发现所要访问的指令或数据不在内存时产生缺段中断并处理。

2、一条指令可能引起多次不同的缺段中断。

4.9.2  分段的共享与保护

一、共享段表

为了实现分段共享,可在系统中配置一张共享段表,所有共享段都在共享段表中占有一个表项。

  • 共享进程计数:记录有多少个进程共享该段。
  • 存取控制字段:对同一共享段,不同进程有不同的操作权限。
  • 段号:共享段在不同进程中有不同的段号。
  • 省略号代表若干个第三行,记录有哪些进程在共享。

二、共享段的分配与回收

1. 共享段的分配

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

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

2. 共享段的回收

当共享此段的某进程不再需要该段时,应将该段释放, 包括撤消该进程段表中共享段所对应的表项,以及执行 count := count - 1 操作。

若 count 结果为 0,则须由系统回收该共享段的物理内存,以及取消在共享段表中该段所对应的表项,表明此时已没有进程使用该段;否则,则只是取消调用者进程在共享段表中的有关记录。

3. 分段保护

① 越界检查

寄存器中放有段表长度信息,将逻辑地址空间的段号与段表长度进行比较 ,如果段号等于或大于段表长度,将发出地址越界中断信号。

保证每个进程只能在自己的地址空间内运行。

② 存取控制检查:只读、只执行、读/写

③ 环保护机构:低编号的环具有高优先权。OS 核心处于 0 环内;某些重要的实用程序和操作系统服务,占居中间环;而一般的应用程序在外环上。


环保护的基本原则

  • 一个程序可以访问驻留在相同环或较低特权环中的数据
  • 一个程序可以调用驻留在相同环或较高特权环中的服务

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

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

相关文章

总建面64万平,配3所幼儿园+54班九年制学校,坪山江岭竹元规划

近日,坪山区城市更新和土地整备局发布,关于《坪山区马峦街道江岭竹元片区城市更新单元规划》已通过深圳市城市规划委员会法定图则委员会审批。现予以公告。 项目位于坪山区马峦街道,南邻南坪快速路,北邻比亚迪路,东西两…

一种新型智能优化算法—鼠群优化(RSO)算法

目录 一、RSO理论基础 二、RSO数学模型 2.1 追逐猎物 2.2 攻击猎物 三、RSO流程图 四、运行结果 鼠群优化(Rat Swarm Optimizer,RSO)算法是由Dhiman G等人于2020年提出,主要启发于老鼠追逐和攻击猎物的种群行为。该优化算法具有结构简单&#xf…

DJ4-2 程序的装入和链接

目录 4.2.1 程序的装入 一、绝对装入方式 二 、可重定位装入方式 三、动态运行时装入方式 4.2.2 程序的链接 一、静态链接 二、装入时动态链接 三、运行时动态链接 在多道程序环境下,如果程序要运行,那么必须为之创建进程。而创建进程的第一件…

六级备考8天|CET-6|阅读强化2|19:30~21:00

目录 正确选项两大标准 练习 问题一 问题二 问题三 问题四​ 问题五 ​ 正确选项两大标准 1. 定位准确 2. 改写正确 举例: 练习 问题一 immediate vicinity oftoo close unprecedented 前所未有的; 问题二 主语:a global campaign 谓…

解决问题 Could not obtain transaction-synchronized Session for current thread

一、问题现象 在使用Hibernate的项目中,在一个定时任务中,执行某段代码,满足条件后,更新表数据。 程序在执行到更新表数据的时候,报错如下: Could not obtain transaction-synchronized Session for cur…

chatgpt赋能python:用Python优化微信群SEO

用Python优化微信群SEO 随着微信群的普及,越来越多的人开始将其作为社交媒体和个人品牌的重要推广渠道之一。然而,想要让你的微信群在搜索引擎中排名靠前,就需要进行一些有效的SEO技巧,以吸引更多的目标用户。 在本文中&#xf…

黏糊糊的菜单

先看效果&#xff1a; 再看代码&#xff1a; <!--黏糊糊的菜单 可融合--> <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-s…

【pytorch】维度变换

【pytorch】维度变换 View操作unSqueeze操作图片处理的一个案例squeeze 维度删减操作维度扩展-expand维度扩展-repeat矩阵的转置操作-transpose View操作 将一个四维的张量&#xff08;b x c x h x w&#xff09;转换成一个二维的张量 对于四张图片 将每一张图像用一行向量进…

阿里内部秀出新天际的SpringBoot实战笔记,让开发像搭积木一样简单

​什么是 Spring Boot Java (面向对象编程语言)经过 30 多年的发展&#xff0c;产生了非常多的优秀框架。Spring (为解决企业应用程序开发的复杂性而创建的框架)曾是最受欢迎的 Java 框架之一&#xff0c; 但随着 Node、Ruby、Groovy、PHP 等脚本语言的蓬勃发展&#xff0c;使…

行业热点 | Quest 3发布、苹果MR发布在即, 6月初XR大戏即将上演

编者按&#xff1a; 昨夜&#xff0c;朋友圈被Quest3占领&#xff0c;Meta首款消费级MR头显Quest 3在其一年一度的游戏展示会前正式发布&#xff0c;扎克伯格亲自站台&#xff0c;这也侧面透露确实将还有几天就要发布的苹果MR头显视为强有力的竞争对手。 另一边&#xff0c;W…

Linux系统的开机自启脚本方法

centOS中 方法1&#xff1a;/etc/rc.local /etc/rc.local是rc.d/rc.local的软链 1、在自己需要启动的文件目录中编写一个shell脚本文件auto_run_script.sh&#xff08;文件名称你们随意&#xff09;。我的这个timeTest文件是timeTest.cpp编译过来的。主要是过几秒打印一下时…

Dubbo中的常用组件

微服务的架构主要包括服务描述、服务发现、服务调用、服务监控、服务追踪以及服务治理这几个基本组件。 那么每个基本组件从架构和代码设计上该如何实现&#xff1f;组件之间又是如何串联来实现一个完整的微服务架构呢&#xff1f;今天我就以开源微服务框架Dubbo为例来给你具体…

机器学习实战六步法之训练模型、优化模型、部署模型(七)

要落地一个机器学习的项目&#xff0c;是有章可循的&#xff0c;通过这六个步骤&#xff0c;小白也能搞定机器学习。 看我闪电六连鞭&#xff01;&#x1f923; 训练模型 当确定好机器学习算法之后&#xff0c;就可以通过训练数据集中的特征和标签&#xff0c;根据样本数据的…

SLAM中刚体的运动描述

简介 物体在真实世界中是运动的&#xff0c;SLAM中求解的机器人位姿就是求解机器人的运动。SLAM的问题就是求解世界坐标系中的静态物理点坐标以及运动的机器人点坐标集合&#xff08;机器人运动点的集合构成机器人的运动轨迹&#xff09;。而通常我们获取的信息是以机器人本体为…

测试真的会被ChatGPT代替一文告诉你

送走最后一车货&#xff0c;最后三个工人&#xff0c;老王吃力的关上大铁门。左手从口袋摸出一盒烟&#xff0c;轻轻一颠&#xff0c;滑落一根&#xff0c;右手娴熟的夹住。掏出打火机&#xff0c;点燃&#xff0c;一丝青烟腾起&#xff0c;萦绕在指头。 夕阳穿过玻璃&#xf…

知道这些英文文档翻译的方式吗

在工作中&#xff0c;大家有没有遇到领导交给你一份外语的文档&#xff0c;要你去观看和理解&#xff0c;但是我们看不太懂或者没啥时间去一点点翻译怎么办呢&#xff1f;我们就需要有工具来将文档翻译&#xff0c;它是一项非常实用和便捷的功能&#xff0c;它可以将文档中的文…

高级运维工程师的工作职责描述(合集)

高级运维工程师的工作职责描述1 职责&#xff1a; 1、参与设计、审核的Linux系统以及各应用系统的体系架构; 2、全面负责公司运维项目的系统升级、linux系统运营维护&#xff0c;保障公司服务器零风险; 3、负责阿里云服务器监控,搭建cacti、zabbix、nagios等监控产品&#xff0…

STM32信号量

目录 什么是信号量&#xff1f; 什么是二值信号量&#xff1f; 二值信号量相关 API 函数 1. 创建二值信号量 2. 释放二值信号量 3. 获取二值信号量 实操 实验需求 cubeMX配置​编辑 代码实现 计数型信号量 什么是计数型信号量&#xff1f; 计数型信号量相关 API 函…

CENTO OS上的网络安全工具(二十三)VSCODE SPARK 容器式编程环境构建

在vscode上使用maven构建spark的scala编程环境&#xff0c;很大程度上需要不断地从网络上下载各种依赖和插件&#xff0c;而且这一过程复杂而不可控。下面这段&#xff0c;是整个安装过程中/root目录下不断增加的内容。 [rootd7ff8f448a0d /]# cd /root [rootd7ff8f448a0d ~]#…

【 Python 全栈开发 - WEB开发篇 - 32 】MySQL高级查询

文章目录 一、LIMIT限制查询结果的数量二、使用GROUP BY进行分组查询1.GROUP BY和聚合函数一起使用2.GROUP BY和聚合函数以及HAVING一起使用 三、使用ORDER BY对查询结果排序 一、LIMIT限制查询结果的数量 开始之前&#xff0c;我们先准备一下数据&#xff0c;打开cmd&#xf…