什么是belady异常现象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么是belady异常现象相关的知识,希望对你有一定的参考价值。

先进先出算法(FIFO)。选择装入最早的页面置换。可以通过链表来表示各页的装入时间先后。FIFO的性能较差,因为较早调入的页往往是经常被访问的页,这些页在FIFO算法下被反复调入和调出,并且有Belady现象。所谓Belady现象是指:采用FIFO算法时,如果对—个进程未分配它所要求的全部页面,有时就会出现分配的页面数增多但缺页率反而提高的异常现象。Belady现象可形式化地描述为:一个进程户要访问M个页,OS分配舻个内存页面给进程P;对一个访问序列S,发生缺页次数为PE(占,N)。当N增大时,PE(S,N)时而增大时而减小。Belady现象的原因是FIFO算法的置换特征与进程访问内存的动态特征是矛盾的,即被置换的页面并不是进程不会访问的。

参考资料:http://sist.sysu.edu.cn/firstrankcourses/course/04-1-2.htm

参考技术A 先进先出算法(FIFO)。选择装入最早的页面置换。可以通过链表来表示各页的装入时间先后。FIFO的性能较差,因为较早调入的页往往是经常被访问的页,这些页在FIFO算法下被反复调入和调出,并且有Belady现象。所谓Belady现象是指:采用FIFO算法时,如果对—个进程未分配它所要求的全部页面,有时就会出现分配的页面数增多但缺页率反而提高的异常现象。Belady现象可形式化地描述为:一个进程户要访问M个页,OS分配舻个内存页面给进程P;对一个访问序列S,发生缺页次数为PE(占,N)。当N增大时,PE(S,N)时而增大时而减小。Belady现象的原因是FIFO算法的置换特征与进程访问内存的动态特征是矛盾的,即被置换的页面并不是进程不会访问的。

内存管理

页面大小为4kb,则共有2*1024*1024/4个页表项每个页面用4个字节表示物理页号,则需要2*1024*1024/4*4大小的页表,每个页表为4kb即2*1024*1024/4*4/4*1024=512个页面

Belady现象 分配给进程的物理页面数增加 却也次数反而增加。先进先出FIFO算法会出现该异象

每层内循环遍历了100个整型变量,相当于两个页面会导致两次缺页中段、一共50次外层循环,50*2=100次缺页中断

地址映射过程通常是硬件完成的,地址映射是将虚拟地址转换成物理地址,页表项的一些内容是硬件固定的 根据页表项的有效为确定所访问的页面是否已经在内存

利用高速缓存存储器存放当年当前访问最频繁的少数活动页面的页号,这个高速缓存器称为快表,也称为转换检测缓冲器(TLB) 快表的内表是页表的部分进程切换的时候快表需要更新 因为不同进程的页表不一对 对快表和页表的查询是并行的  一旦发现快表中的有与所查页号一致的逻辑页号 就停止查找内存页表 而直接利用 快表中的逻辑页号

动态重定位 是指装入程序时,不进行地址转换,而是直接把程序装入内存中,程序在执行过程中,每当之星一条指令时 都由硬件的地址转换机构将指令中逻辑地址转换成绝对地址

最佳适应算法:从全部空间中找出能满足作业的要求的,且大小最小的空间分区,这种方法能使碎片尽量小。

虚拟存储空间的大小受计算机地址位宽限制

最近最少使用LRU算法在虚拟页式存储管理系统中,首先置换近期最长时间以来没有访问的页面

在虚拟页式管理系统中 每个页表项中必须包含的是:1.有效位 2.读写位 3.访问标志 4.修改位

操作系统各种存储方法中存在外碎片的是:动态分区和段式存储管理方法

内存紧缩将零碎的空闲区集中为一个大的空闲区

页式分配的优点:1.由于他不要求作业和进程的程序段 和数据在内存中连续存放,从而有效地解决碎片问题 2,动态页式存储管理提供了内存和外存的统一管理的虚存储实现方式使用户可以利用的存储空间大大增加 既提高了效率 又有利于组织多道程序进行

访问内存时间0.4ps 快表命中率90%   0.4*10%=0.04 命中页表  0.04+0.4=0.44 为有效访问时间

请求分页的外存(磁盘)分为两个部分  用于存放文件的文件区,用于存放对换页面的对换区  凡是未运行的页面都应从文件区调入能与虚拟存储急速集合使用的内存管理方案必须具有如下特性:1.使用动态内存地址,内存中的进程要死可以移动的。2.不能要求全部程序加载如内存,进程才可以运行所以有页式段式 页段式

在虚拟存储系统中 进程部分装入后使课运行,虚拟存储技术允许,用户使用物理内存更大的存储空间,实现虚内存必须有硬件支撑

一次访问一级索引 二次访问二级索引 三次访问该指令

为了提高内存利用 并减少内碎片 页面划分为与页表数量相关,可以找到平衡点

预防内存换页时出现的抖动现象采用工作集算法

通常用于管理空间物理内存的方法有:空间块链表法,位示图法,空闲页面表

关于虚拟页式存储管理方案的叙述中:1.将内存等分成大小为2的幂次方的内存块 称为页框 2.系统将虚拟地址空间分成若干页面 大小与页框相同3.虚拟页面在物理空间上不要求连续存放4.硬件机制的实现 逻辑地址到物理地址的转化

每个内存得到处理机运行前,必须首先部分装入内存

CPU利用率50%  硬盘繁忙率30% 意味着CPU利用率还可以通过增加进程数目

CPU利用率3% 磁盘繁忙率97%磁盘利用率过高影响了CPU的执行效率 适当的减少进程数量以提高系统效率

程序局部性分为两个部分 时间局部性 空间局部性  空间局部性是指程序代码的顺序性  时间局部性是指程序中存在大量的循环

能支持多道程序设计的存储管理方案是:可变分区管理 页式存储管理  固定分区存储管理 段页式存储管理

从简单页式存储管理方案发展到虚拟页式存储管理方案,页表项中通常需要增加的信息有:有效位,修改为,访问位

最近最少使用LRU算法  时间片CLOCK算法  最近未使用算法NRU需要用来访问位

有效位又称驻留位 存在位或中断位  表示该页在内存还是外存

访问位和修改位在页面置换时调用

信息主要是为了使页表区别外存与内存中页表信息 方便页表的加载与导出

页式存储管理中的页面大小可以采用不同尺寸 为了提高内存利用率 根据需要采用多种不同大小的页面 用户进程在运行过程中可以改变页面尺寸 只能由操作系统来设置页面大小

引入虚拟页式存储管理系统中 会出现下列哪些现象:1.页面抖动2.Belady现象3.缺页中断 4.页面写错

重定位就是把内存的逻辑地址空间变成内存中实际吴地址空间的过程重定位分成两种:1.动态重定位2.静态重定位

页式存储管理方案的序述中  地址转换是由操作系统完成的

固定分区和可变分区存储管理方案采用了连续分配策略并且这两种方式都是以整个进程为单位一次性全部分配内存空间的

每次页面从0开始编址  成为页面地址,页号是地址的高位部分 页内地址是地址的地位部分

最近不常用页面置换算法(LFU)可以根据一段时间内页面被使用次数的多少可以调出的页

理想页面置换算法(OPT)置换以后不再需要或者再最长时间以后才会用到页面

守护进程是由系统在开机时通过脚本自动激活启动或超级管理用户来启动 一般后台运行

页式管理的地址变换过程是通过页表查出相对应地址相加而得到实际物理地址 过程中要访问存储页面空闲区表 页表和位图数据结构

虚拟存储管理方案的叙述中 工作集大小和工作窗口密切相关操作系统应为每个进程提供工作集大小的物理页数

移动技术可以集中分散空闲区,提高内存效率 便于作业动态内存扩充 采用移动技术要注意以下问题:1.移动技术会增加系统开销2.移动是由条件的 在采用移动技术时应该尽可能减少需要移动的作业数量和信息在内存中可以将进程从低地址区移动到高地址区 也可以从高地址区移动到低地址区

颠簸是由于缺页率高引起的现象 工作等是随着时间变化的 采用工作集可以解决颠簸问题

以上是关于什么是belady异常现象的主要内容,如果未能解决你的问题,请参考以下文章

OS中的Belady和抖动现象

OS中的Belady和抖动现象

操作系统页面置换FIFO算法中的Belady现象

操作系统页面置换FIFO算法中的Belady现象

无法理解 Belady 的异常情况

Android异常分析(转)