os “抖动”与工作集

article/2025/10/1 8:05:01

由于请求分页式虚拟存储器系统的性能优越,在正常运行情况下,它能有效地减少内存碎片,提高处理机的利用率和吞吐量,故是目前最常用的一种系统。但如果在系统中运行的进程太多,进程在运行中会频繁地发生缺页情况,这又会对系统的性能产生很大的影响,故还须对请求分页系统的性能做简单的分析。

多道程序度与“抖动”

多道程序度与处理机的利用率

由于虚拟存储器系统能从逻辑上扩大内存,这时,只需装入一个进程的部分程序和数据便可开始运行,故人们希望在系统中能运行更多的进程,即增加多道程序度,以提高处理机的利用率。但处理机的实际利用率却如下图中的实线所示。其中横轴表示多道程序的数量,纵轴表示相应的处理机的利用率。在横轴的开始部分,随着进程数目的增加,处理机的利用率急剧增加;但到达 N1,时,其增速就明显地减慢了,当到达 Nmax 时,处理机的利用率达到最大,以后先开始缓慢下降,当到达N2点时,若再继续增加进程数,利用率将加速下降而趋于0,见下图中的 N3 点。之所以会发生在后面阶段利用率趋于0的情况,是因为在系统中已发生了“抖动”。
在这里插入图片描述

产生“抖动”的原因

发生“抖动”的根本原因是,同时在系统中运行的进程太多,由此分配给每一个进程的物理块太少,不能满足进程正常运行的基本要求,致使每个进程在运行时,频繁地出现缺页,必须请求系统将所缺之页调入内存。这会使得在系统中排队等待页面调进/调出的进程数目增加。显然,对磁盘的有效访问时间也随之急剧增加,造成每个进程的大部分时间都用于页面的换进/换出,而几乎不能再去做任何有效的工作,从而导致发生处理机的利用率急剧下降并趋于0的情况。我们称此时的进程是处于“抖动”状态。
“抖动”是在进程运行中出现的严重问题,必须采取相应的措施来解决它。为此有不少学者对它进行了深入的研究,提出了许多非常有效的解决方法。由于“抖动”的发生与系统为进程分配物理块的多少有关,于是有人提出了关于进程“工作集”的概念。


工作集

工作集的基本概念

进程发生缺页率的时间间隔与进程所获得的物理块数有关。图5-10示出了缺页率与物理块数之间的关系。从图中可以看出,缺页率随着所分配物理块数的增加明显地减少,当物理块数超过某个数目时,再为进程增加一物理块,对缺页率的改善并不明显。可见,此时已无必要再为它分配更多的物理块。反之,当为某进程所分配的物理块数低于某个数目时,每减少一块,对缺页率的影响都变得十分明显,此时又应为该进程分配更多的物理块。为了能清楚地说明形成图5-10所示曲线的原因,还须先介绍关于"工作集”的概念。
在这里插入图片描述
关于工作集的理论是1968年由 Denning 提出并推广的。 Denning 认为,基于程序运行时的局部性原理得知,程序在运行期间,对页面的访问是不均匀的,在一段时间内仅局限于较少的页面,在另一段时间内,又可能仅局限于对另一些较少的页面进行访问。这些页面被称为活跃页面。如果能够预知程序在某段时间间隔内要访问哪些页面,并将它们调入内存,将会大大降低缺页率,从而可显著地提高处理机的利用率。

工作集的定义

所谓工作集,是指在某段时间间隔 Δ \Delta Δ里,进程实际所要访问页面的集合。 Denning 指出,虽然程序只需要少量的几页在内存便可运行,但为了较少地产生缺页,应将程序的全部工作集装入内存中。然而我们无法事先预知程序在不同时刻将访问哪些页面,故仍只有像置换算法那样,用程序的过去某段时间内的行为作为程序在将来某段时间内行为的近似。具体地说,是把某进程在时间 t t t 的工作集记为 w ( t , Δ ) w(t,\Delta) w(t,Δ),其中的变量 Δ \Delta Δ称为工作集的“窗口尺寸”( Windows size )。图5-11示出了某进程访问页面的序列和窗口大小分别为3、4、5时的工作集。由此可将工作集定义为,进程在时间间隔 ( t − Δ , t ) (t-\Delta,t) (tΔ,t)中引用页面的集合
在这里插入图片描述

工作集 w ( t , Δ ) w(t,\Delta) w(t,Δ)是二元函数,即在不同时间 t t t 的工作集大小不同,所含的页面数也不同;工作集与窗口尺寸 Δ \Delta Δ有关,是窗口尺寸 Δ \Delta Δ的非降函数(nondecreasing function),从图5-11可看出这点,即
w ( t , Δ ) ⊆ w ( t , Δ + 1 ) w(t,\Delta)\subseteq w(t,\Delta+1) w(t,Δ)w(t,Δ+1)


“抖动”的预防方法

为了保证系统具有较大的吞吐量,必须防止“抖动”的发生。目前已有许多防止“抖动”发生的方法。这些方法几乎都是采用调节多道程序度来控制“抖动”发生的。下面介绍几个较常用的预防“抖动”发生的方法。

采取局部置换策略

在页面分配和置换策略中,如果采取的是可变分配方式,则为了预防发生“抖动”,可采取局部置换策略。根据这种策略,当某进程发生缺页时,只能在分配给自己的内存空间内进行置换,不允许从其它进程去获得新的物理块。这样,即使该进程发生了“抖动”也不会对其它进程产生影响,于是可把该进程“抖动”所造成的影响限制在较小的范围内。该方法虽然简单易行,但效果不是很好,因为在某进程发生“抖动”后,它还会长期处在磁盘I/O的等待队列中,使队列的长度增加,这会延长其它进程缺页中断的处理时间,也就是延长了其它进程对磁盘的访问时间。

把工作集算法融入到处理机调度中

当调度程序发现处理机利用率低下时,它将试图从外存调入一个新作业进入内存,来改善处理机的利用率。如果在调度中融入了工作集算法,则在调度程序从外存调入作业之前,必须先检查每个进程在内存的驻留页面是否足够多。如果都已足够多,此时便可以从外存调入新的作业,不会因新作业的调入而导致缺页率的增加;反之,如果有些进程的内存页面不足,则应首先为那些缺页率居高的作业增加新的物理块,此时将不再调入新的作业。

利用“L=S”准则调节缺页率

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

选择暂停的进程

当多道程序度偏高时,已影响到处理机的利用率,为了防止发生“抖动”,系统必须减少多道程序的数目。此时应基于某种原则选择暂停某些当前活动的进程,将它们调出至磁盘上,以便把腾出的内存空间分配给缺页率发生偏高的进程。系统通常都是采取与调度程序一致的策略,即首先选择暂停优先级最低的进程,若需要,再选择优先级较低的进程。当内存还显拥挤时,还可进一步选择暂停一个并不十分重要、但却较大的进程,以便能释放出较多的物理块,或者暂停剩余执行时间最多的进程等。



http://chatgpt.dhexx.cn/article/PLWGeZB9.shtml

相关文章

ADC 采样数据抖动

MSP430或STM32,在使用内部ADC出现的采样数据异常抖动问题 采样设计: 用于检测供电线路电流及电压。 产品运行在两种模式下,1、低功耗静态模式(仓储态),2、全功能全速运行模式(工作态&#xff09…

SiTime 硅晶振抖动定义和测量方法

1 简介 抖动是时钟信号边沿事件的时间点集合相对于其理想值的离散时序变量。时钟信号中的抖动通常是由系统中的噪声或其他干扰导致的。具体因素包括热噪声、电源变化、负载条件、器件噪声以及相邻电路耦合的干扰等。 2 抖动的类型 时钟信号抖动定义有多种主要是:…

如何理解相位噪声与时间抖动的关系?

每当介绍相位噪声测试方案时,都会提到时间抖动,经常提到二者都是表征信号短期频率稳定度的参数,而且是频域和时域相对应的参数。正如题目所示,相位噪声与时间抖动有着一定的关系,那么相噪是与哪种类型的抖动相对应&…

网络延时抖动

问题背景: 上线后延时抖动很频繁,正常延时为10ms左右,抖动时延达到300ms以上,严重影响了该业务的性能 问题结论:tcp传输报文段延时异常,传输内容越大,受网络影响越大 index模块延时正常&…

html图片抖动,css3图片抖动

受1楼启发Document .sdf{ width:500px; height:500px; overflow:hidden; margin:200px auto; position:relative; } .outter{ width:174px; height:155px; position:absolute; top:100px; left:200px; transition:all 1s ease; } .dd{ background:url(http://www.ppt123.net/be…

图像随机抖动算法

本文参考知乎博客:图像处理之 Dithering(https://zhuanlan.zhihu.com/p/110104674) 图像抖动(dithering)常用于颜色量化(color quantization)的后处理,即去除颜色量化产生的一些视觉…

时钟抖动

本文转载至:http://m.elecfans.com/article/646572.html 随着通信系统中的时钟速率迈入GHz级,抖动这个在模拟设计中十分关键的因素,也开始在数字设计领域中日益得到人们的重视。在高速系统中,时钟或振荡器波形的时序误差会限制一个…

图像“抖动”原理

转载自博主:NWSUAF_LiuZhenHua,博客地址:https://blog.csdn.net/wzz110011/article/details/78170516?biz_id102&utm_term%E5%8A%A8%E5%9B%BE%E6%8A%96%E5%8A%A8&utm_mediumdistribute.pc_search_result.none-task-blog-2~blog~soba…

时钟抖动(Jitter)的基本概念 【转载】

时钟抖动(Jitter)的基本概念 李倩 发表于 2018-03-13 10:21:08 电子说 随着通信系统中的时钟速率迈入GHz级,抖动这个在模拟设计中十分关键的因素,也开始在数字设计领域中日益得到人们的重视。在高速系统中,时钟或振荡…

什么是抖动?什么叫抖动

什么是抖动?什么叫抖动 抖动的定义是“数字信号的各个有效瞬时对其当时的理想位置的短期性偏离”,这意味着抖动是不希望有的数字信号的相位调制。相位偏离的频率称为抖动频率,与抖动有密切关系的第二个参数称为漂移,把它定义为“数字信号的…

什么是进程的抖动 | 抖动现象

抖动现象是指如果分配给进程的存储块数量小于进程所需要的最小值,进程的运行将会很频繁地产生缺页中断 ,这种频率非常高的页面置换现象称为抖动。 也可以说:页面在内存与外存之间频繁调度,以至于调度页面所需时间比进程实际运行时…

APP运营推广:新APP建设之后该怎么做好品牌运营?

APP市场推广的方法和渠道非常多,但是并不是每一个渠道都是适用所有APP的;对于一个APP市场推广的人员来说,这是值得认真思考的问题!“多面出击”是大部分APP运营人员都会采取的方法,把能够想到能做到的各种方法途径都尝…

【创业说】零经验接手APP运营推广,聊聊这两个月我是怎么熬过来的

编者按:本文来自一位创业者的匿名投稿(反复强调不要公开自己的身份),讲述了自己离职创业,从零开始做APP推广,所经历的各种推广方式,并且根据自己的情况评估了各个渠道的效果,创业容易…

APP生存法则:教你如何快速找到APP运营推广的捷径

APP的运营是一个APP能否生存的主要依靠,在运营的世界里有八大黄金法则,小编认为任何APP都可以运营这八大法则来进行推广。下面我们来了解一下移动APP运营的八大法则。 1、运营与推广一样重要 App上线一定阶段之后(基本上在10用户万以上),App…

移动互联网APP运营技巧分享

资源共享是互联网发展这么多年以来的一大重要表现,如今随着移动手机的不断涌现出来,间接的也带动了移动互联网的的发展,移动互联网是未来的发展趋势,借助这一趋势,APP运营,俗话说“守业更比创业难”,APP营销重要的不是开发出实用的APP,更重要的是如何运营。APP运营是指…

如何用Xinstall来做一款App运营推广?

现在是移动互联网的时代,人们对于智能手机的依赖性越来越大,传统pc端的业务都开始加入到开发App的队伍中来,APP开发完之后,就要做APP推广了,APP推广的方式有很多,比如广播范围广、投放广告、人工转发、口碑…

盘点行业APP运营推广渠道有哪些

【活动盒子—APP活动运营工具】无论是什么样的行业,只要是有自己的APP应用,就需要寻找相关的行业APP运营推广渠道。那么在行业APP运营推广渠道中,作为APP运营人员的我们要怎么做呢? 【活动盒子】:http://www.huodonghezi.com/ 什…

运营老司机分享:APP运营推广那些事

不管是新的APP还是已经运营中的APP,都是需要进行拉新、促活和留存三个环节;现在的APP开发并不难,市场上有非常多成熟的APP第三方服务商,你只需要把你的开发需求提交上去,就会根据你的要求进行app开发;当然APP开发只是最基础的一步…

APP运营推广,如何做到“饱和攻击”

对于运营推广人员来说,一个APP推广项目拿到手,大部分就凭借着经验寻找各种各样的渠道进行推广;但是效果呢?大多数人还是没有很大的把握! 小编认为,一个APP项目拿到手首先就得明确APP目标用户群体是哪些&…

APP运营推广那点事

摘自:http://www.woshipm.com/discuss/43828.html 你的手机里面有多少应用?什么样的手机应用吸引你?下载之后经常用还是让他si在那里?又或者刚点进去就卸载? 一款成功的应用,开发APP只是第一步&#xff0…