DJ4-8 抖动与工作集、请求分段存储管理方式

目录

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 调用缺段中断处理程序,根据段表中给出的外存地址,将该段调入内存,使作业继续运行下去。

缺段中断与缺页中断类似

主要表现为:

  • 缺段中断要求在一条指令的执行期间得到服务
  • 一条指令执行期间可能引起多次不同的缺段中断

区别:由于分段是信息的逻辑单位,因而不可能出现一条指令被分割在两个分段中,或者一组信息被分割在两个分段中的情况。

4.9.2  分段的共享与保护

一、共享段表

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

省略号代表若干个第三行,记录有哪些进程在共享

  • 共享进程计数:记录有多少个进程共享该段。
  • 段号:该共享段在不同进程中有不同的段号。
  • 存取控制字段:对同一共享段,不同进程有不同的操作权限。

二、共享段的分配与回收

1. 共享段的分配

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

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

2. 共享段的回收

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

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

3. 分段保护

(1)越界检查

  • 段号与段表长度比较,若段号等于或大于段表长度,则发出地址越界中断
  • 段内偏移量与段长比较,若段内偏移量等于或大于段长,则发出地址越界中断

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

(2)存取控制检查

存取控制检查是以段为基本单位进行的

通常的访问方式有:

  • 只读
  • 只执行
  • 读/写

(3)环保护机构

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

遵循规则:

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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值