精华内容
下载资源
问答
  • 请求分页存储管理中的页表机制 缺页中断机构 地址转换 页置换算法 页分配和页置换策略 工作集及抖动现象的消除 请求分页存储管理的优缺点 请求分页存储管理中的页表机制 系统需要解决的问题 系统如何获知进程当前...

    目录

    • 请求分页存储管理中的页表机制
    • 缺页中断机构
    • 地址转换
    • 页置换算法
    • 页分配和页置换策略
    • 工作集及抖动现象的消除
    • 请求分页存储管理的优缺点

    请求分页存储管理中的页表机制

    系统需要解决的问题

    • 系统如何获知进程当前所需页面不在主存
      当发现缺页时,如何把所缺页面调入主存
      当主存中没有空闲的页框时,为了要接受一个新页,需要把老的一页淘汰出去,根据什么策略选择欲淘汰的页面

    页表机制

    页描述子的扩充(页表机制 )

    • 状态位P(中断位)指示该页是在内存还是在外存
    • 访问位A 用于记录本页在一段时间内被访问的次数或记录本页在最近多长时间未被访问
    • 修改位M 表示该页在内存中是否被修改过
    • 外存地址 该页在外存上的地址,通常是物理块号

    在这里插入图片描述

    缺页中断机构

    • 在请求分页系统中,每当所要访问的页面不在内存时,便产生一缺页中断。相应的中断处理程序把控制转向缺页中断子程序,执行此子程序,即把所缺页面装入主存,然后处理机重新执行缺页时打断的指令。这时,就将顺利形成物理地址。
    • 缺页中断与一般中断的区别
      • 在指令执行期间产生和处理中断信号
      • 一条指令在执行期间可能产生多次缺页中断,例如:在请求分页存储管理中,当中断位反映出进程当前欲访问的页不在内存时(1表示该页在内存,0表示该页不在内存),就产生一次缺页中断。系统收到缺页中断信号后就立即执行相应的缺页中断处理程序。
      • 特点:
        (1)缺页中断的产生和处
        理(中断的响应)出现在一条指令的
        执行期内。
        (2)程序运行过程中,一条指令的执行
        期间内可能会产生多次缺页中断。
        在这里插入图片描述

    地址变换机构

    • 如果在快表中未找到该页的页表项,则应再到内存中去查找页表,再从找到的页表项中的状态位P,该页是否调入内存。其结果可能是:
      (1)该页已经调入内存,这是应将此页的页表项写入快表,当快表已满时,应先调出按某种算法所确定的页的页表项,然后再写入该页的页表项。
      (2)该页尚未调入内存,这时便应产生缺页中断,请求OS从外存中把该页调入内存。

    请求分页中的地址变换过程
    在这里插入图片描述
    页面调入过程

    在这里插入图片描述

    页置换算法

    缺页率

    • 假设一个进程的逻辑空间为n页,系统为其分配的内存物理块数为m(m≤n)
    • 如果在进程的运行过程中,访问页面成功(即所访问页面在内存中)的次数为S,访问页面失败(即所访问页面不在内存中,需要从外存调入)的次数为F,则该进程总的页面访问次数为A=S+F,那么该进程在其运行过程中的缺页率即为
      在这里插入图片描述

    影响缺页率的因素

    • 分配给进程的物理页面数
    • 页面本身的大小
    • 程序的编制方法
    • 页面淘汰算法

    最佳(Optimal)置换算法

    • 最佳置换算法是由Belady于1966年提出的一种理论上的算法
    • 其所选择的被淘汰页面,将是以后永不使用的,或许是在最长(未来)时间内不再被访问的页面
    • 采用最佳置换算法,通常可保证获得最低的缺页率
    • 采用最佳置换算法可保证获得最低的缺页率。
    • 由于人们目前还无法预知一个进程在内存的若干个页面中,哪一个页面是未来最长时间内不再被访问的,因而该算法也是无法实现的,但是可利用该算法去评价其它算法。

    利用最佳页面置换算法时的置换图

    在这里插入图片描述

    先进先出(FIFO)页面置换算法

    • 该算法总是淘汰最先进入内存的页面,即选择在内存中的驻留时间最久的页面予以淘汰。
    • 该算法实现简单,只需把一个进程已调入内存的页面,按先后次序链接成一个队列,并设置一个指针,称为替换指针,使它总是指向最老页面。
    • 但该算法与进程实际运行的规律不相适应,因为在进程中,有些页面经常被访问,含有全局变量、常用函数、例程等的页面,FIFO置换算法并不能保证这些页面不被淘汰。

    利用FIFO置换算法时的置换图

    在这里插入图片描述

    最近最久未使用(LRU)置换算法

    • 最近最久未使用(LRU)的页面置换算法,是根据页面调入内存后的使用情况。
    • 由于无法预测各页面将来的使用情况,只能利用“最近的过去”作为“最近的将来”的近似。
    • LRU置换算法是选择最近最久未使用的页面予以淘汰。

    LRU页面置换算法
    在这里插入图片描述

    LRU置换算法的硬件支持
    • 把LRU算法作为页面置换算法是比较好的,它对于各种类型的程序都能适用,但实现起来有相当大的难度,因为它要求系统具有较多的支持硬件。所要解决的问题有:

      • 一个进程在内存中的各个页面各有多久时间未被进程访问;
        如何快速地知道哪一页最近最久未使用的页面。
        为此,须利用以下两类支持硬件:
      1. 移位寄存器:
        定时右移
      2. 栈:
        当进程访问某页时,将其移出压入“栈顶”,“栈底”换出。
    • 寄存器

      • 为了记录某进程在内存中各页的使用情况,须为每个在内存中的页面配置一个移位寄存器,可表示为
        在这里插入图片描述

      • 访问时将Rn-1位置成1,定时信号每隔一时间间隔右移一位,则具有最小数值的寄存器所对应的页面,就是最近最久未使用的页面
        在这里插入图片描述
        某进程具有8个页面时的LRU访问情况
        在这里插入图片描述

      • 进程访问某页时,将该页面的页号从栈中移出,再压入栈顶
      • 用栈保存当前使用页面时栈的变化情况
        在这里插入图片描述

    最少使用(LFU: Least Frequently Used)置换算法

    • 为内存中的每个页面设置一个移位寄存器,用来记录该页面被访问的频率

    • 该算法选择在最近使用最少的页面作为淘汰页
      在这里插入图片描述

    • 与最近最少用算法LRU的区别

      • 只考虑一段时间内使用的次数,而不管其使用的

    注意:这种算法并不能真正反映出页面的使用情况,因在每一时间间隔内只是用寄存器的一位来记录页的使用情况,因此访问1次和10000次是等效的

    简单的Clock置换算法

    • 利用Clock算法时,只须为每页设置一位访问位,在将内存中的所有页面都通过链接指针链成一个循环队列。当某页被访问时,其访问位被置1。置换算法在选择一页淘汰时,只须检查其访问位。
      在这里插入图片描述
    • 各字段说明如下
      (1)状态位(存在位)P。用于指示该页是否调入内存,供程序访问时参考。
      (2)访问字段A。用于记录本页在一段时间内被访问的次数,或最近已有多长时间未被访问,提供给置换算法选择换出页面时参考
      (3)修改位M。表示该页在调入内存后是否被修改过。由于内存中的每一页都在外存上保留一份副本,因此,若未被修改,在置换该页时就不须将该写回到外存上,以减少系统的开销和启动磁盘的次数;若已被修改,则必须将该页重写到外存上,以保证外存中所保留的始终是最新副本。
      (4)外存地址。用于指出该页在外存上的地址,通常是物理块号,供调入该页时使用。

    简单的CLOCK置换算法(近似的LRU算法)

    • 当采用简单的CLOCK算法时,只需为每页设置一位访问位,再将内存中的所有页面都通过链接指针链接成一个循环队列
    • 当某页被访问时,其访问位被置1
    • 置换算法在选择一页淘汰时,只需检查页的访问位,是0换出,是1重新置0且暂不换出,再按FIFO检查下一个页面。检查到最后一个页面,若其访问位仍为1,则再返到队首检查
    • 由于该算法是循环地检查各页面的访问情况,故称为CLOCK算法,置换的是未使用过的页,又称为最近未用算法NRU(Not Recently Used)

    简单Clock置换算法的流程和示例
    在这里插入图片描述

    改进型Clock置换算法

    • 在将一个页面换出时,如果该页已被修改过,便须将它重新写到磁盘上;但如果该页未被修改过,则不必将它拷回磁盘。同时满足两条件的页面作为首选淘汰的页。

    在这里插入图片描述

    • 各字段说明如下:
      (1)状态位(存在位)P。用于指示该页是否调入内存,供程序访问时参考。
      (2)访问字段A。用于记录本页在一段时间内被访问的次数,或最近已有多长时间未被访问,提供给置换算法选择换出页面时参考。
      (3)修改位M。表示该页在调入内存后是否被修改过。由于内存中的每一页都在外存上保留一份副本,因此,若未被修改,在置换该页时就不须将该写回到外存上,以减少系统的开销和启动磁盘的次数;若已被修改,则必须将该页重写到外存上,以保证外存中所保留的始终是最新副本。

      (4)外存地址。用于指出该页在外存上的地址,通常是物理块号,供调入该页时使用。

    改进型Clock置换算法说明

    • 考虑使用情况和置换代价,换出的最好是未使用且未被修改过的
    • 由访问位A和修改位M组合:
      • 1类**(A=0, M=0)**:表示该页最近既未被访问,又未被修改,是最佳淘汰页
      • 2类**(A=0, M=1)**:表示该页最近未被访问,但已被修改,并不是很好的淘汰页
      • 3类**(A=1, M=0)**:最近已被访问,但未被修改, 该页有可能再被访问
      • 4类**(A=1, M=1)**:最近已被访问且被修改,该页可能再被访问
        在这里插入图片描述
    • 其执行过程可分成以下三步
    1. 从指针所指示的当前位置开始, 扫描循环队列, 寻找A=0且M=0的第一类页面, 将所遇到的第一个页面作为所选中的淘汰页。 在第一次扫描期间不改变访问位A
    2. 如果第一步失败,即查找一周后未遇到第一类页面, 则开始第二轮扫描,寻找A=0且M=1的第二类页面,将所遇到的第一个这类页面作为淘汰页。在第二轮扫描期间,将所有扫描过的页面的访问位A都置0
    3. 如果第二步也失败,亦即未找到第二类页面,则将指针返回到开始的位置,并将所有的访问位A复0。 然后重复第一步,如果仍失败,必要时再重复第二步,此时就一定能找到被淘汰的页

    改进型Clock置换算法-示例

    在这里插入图片描述

    未完待续。。。

    展开全文
  • 基本分页和请求分页存储管理

    千次阅读 2013-11-20 21:34:02
    如果允许将一个进程直接分散地装入到许多不相邻的分区中,则无须再进行“紧凑”。基于这一思想而产生了离散分配方式。如果离散分配的基本单位是页,则称为分页存储管理方式。在分页存储管理方式中,如果不具备页面...

    存储器管理中,连续分配方式会形成许多“碎片”,虽然可通过“紧凑”方法将许多碎片拼接成可用的大块空间,但须为之付出很大开销。如果允许将一个进程直接分散地装入到许多不相邻的分区中,则无须再进行“紧凑”。基于这一思想而产生了离散分配方式。如果离散分配的基本单位是页,则称为分页存储管理方式。在分页存储管理方式中,如果不具备页面对换功能,则称为基本分页存储管理方式,或称为纯分页存储管理方式,它不具有支持实现虚拟存储器的功能,它要求把每个作业全部装入内存后方能运行。

     

    请求分页存储管理设计   
     
    一、 虚拟存储器的相关知识: 
    1. 概述: 
    虚拟存储器(Virtual Memory):在具有层次结构存储器的计算机系统中,自动实现部分装入和部分替换功能,能从逻辑上为用户提供一个比物理贮存容量大得多,可寻址的“主存储器”。虚拟存储区的容量与物理主存大小无关,而受限于计算机的地址结构和可用磁盘容量。 
     
    作用: 
    虚拟内存的作用 内存在计算机中的作用很大,电脑中所有运行的程序都需要经过内存来执行,如果执行的程序很大或很多,就会导致内存消耗殆尽。为了解决这个问题,Windows中运用了虚拟内存技术,即拿出一部分硬盘空间来充当内存使用,当内存占用完时,电脑就会自动调用硬盘来充当内存,以缓解内存的紧张。举一个例子来说,如果电脑只有128MB物理内存的话,当读取一个容量为200MB的文件时,就必须要用到比较大的虚拟内存,文件被内存读取之后就会先储存到虚拟内存,等待内存把文件全部储存到虚拟内存之后,跟着就会把虚拟内存里储存的文件释放到原来的安装目录里了。下面,就让我们一起来看看如何对虚拟内存进行设置吧。  
    2. 请求分页虚拟存储系统是将作业信息的副本存放在磁盘这一类辅助存储
    器中,当作业被调度投入运行时,并不把作业的程序和数据全部装入主存,而仅仅装入立即使用的那些页面,至少要将作业的第一页信息装入主存,在执行过程中访问到不在主存的页面时, 再把它们动态地装入。 用得较多的分页式虚拟存储管理是请求分页 (demand paging),当需要执行某条指令或使用某个数据,而发现它们并不在主存时,产生一个缺页中断,系统从辅存中把该指令或数据所在的页面调入内存。  
    3. 替换算法: 
    替换规则用来确定替换主存中哪一部分,以便腾空部分主存,存放来自辅存要调入的那部分内容。常见的替换算法有4种。  随机算法 
      用软件或硬件随机数产生器确定替换的页面。  先进先出 
      先调入主存的页面先替换。  近期最少使用算法 
      替换最长时间不用的页面。  最优算法 
      替换最长时间以后才使用的页面。这是理想化的算法,只能作为衡量其他各种算法优劣的标准。  
    虚拟存储器的效率是系统性能评价的重要内容,它与主存容量、页面大小、命中率,程序局部性和替换算法等因素有关。 

     

     


    4. 工作原理: 
    虚拟存储器是由硬件和操作系统自动实现存储信息调度和管理的。它的工作过程包括6个步骤:  
    ①中央处理器访问主存的逻辑地址分解成组号a和组内地址b,并对组号a进行地址变换,即将逻辑组号a作为索引,查地址变换表,以确定该组信息是否存放在主存内。  
    ②如该组号已在主存内,则转而执行④;如果该组号不在主存内,则检查主存中是否有空闲区,如果没有,便将某个暂时不用的组调出送往辅存,以便将这组信息调入主存。  
       ③从辅存读出所要的组,并送到主存空闲区,然后将那个空闲的物理组号a和逻辑组号a登录在地址变换表中。  
       ④从地址变换表读出与逻辑组号a对应的物理组号a。     ⑤从物理组号a和组内字节地址b得到物理地址。    ⑥根据物理地址从主存中存取必要的信息。  
    调度方式有分页式、段式、段页式3种。页式调度是将逻辑和物理地址空间都分成固定大小的页。主存按页顺序编号,而每个独立编址的程序空间有自己的页号顺序,通过调度辅存中程序的各页可以离散装入主存中不同的页面位置,并可据表一一对应检索。页式调度的优点是页内零头小,页表对程序员来说是透明的,地址变换快,调入操作简单;缺点是各页不是程序的独立模块,不便于实现程序和数据的保护。段式调度是按程序的逻辑结构划分地址空间,段的长度是随意的,并且允许伸长,它的优点是消除了内存零头,易于实现存储保护,便于程序动态装配;缺点是调入操作复杂。将这两种方法结合起来便构成段页式调度。在段页式调度中把物理空间分成页,程序按模块分段,每个段再分成与物理空间页同样小的页面。段页式调度综合了段式和页式的优点。其缺点是增加了硬件成本,软件也较复杂。大型通用计算机系统多数采用段页式调度。

    展开全文
  • 将虚拟技术和分页存储结合起来,那么当一个程序内存无法装下时,就先装入部分程序执行,分页存储管理方式是将程序分成一个个页,那么内存中也就是先存放部分页。 步骤: 虚拟技术的管理下,页表的属性不页号和...

    基本思想:
    将虚拟技术和分页存储结合起来,那么当一个程序内存无法装下时,就先装入部分程序执行,分页存储管理方式是将程序分成一个个页,那么内存中也就是先存放部分页。
    步骤:
    在这里插入图片描述
    在虚拟技术的管理下,页表的属性不在页号和物理块号两部分。
    在这里插入图片描述
    一个页面不管是不是装入内存中,在外存都会有一个备份,外存地址也就是页面在外存的物理块号。
    将页面装入内存实际上就是将外存上的页面复制一份到内存。
    修改位,一个文件被装入内存运行是可能会被修改的,那么如果页面置换的话,肯定先置换没有修改过的页面,被修改的如果被置换,为了保证外存的一致性,就需要写入外存,要付出代价。
    修改位也是页面置换算法的一个依据。
    在这里插入图片描述

    展开全文
  • 在分页存储管理方式中 不具备页面对换功能,不支持虚拟存储器功能,调度作业运行时 ,必须将它的所有页面次调入内存 ,若内存没有足够的块 则作业等待 的这种分页管理方式被称为纯分页或基本分页存储管理方式 ...
    在分页存储管理方式中 :不具备页面对换功能,不支持虚拟存储器功能,在调度作业运行时 ,必须将它的所有页面一次调入内存 ,若内存没有足够的块, 则作业等待的这种分页管理方式被称为纯分页或基本分页存储管理方式.

    而请求分页管理方式是支持虚拟存储的,具备了页面的对换功能.调度作业时 是将它的 一部分(而不是全部) 放入内存.当发现页面缺少时 会发出一个缺页请求 从外存调用页面文件进入内存.

    基于以上所述:基于这一点,请求分页存储管理可以提供虚存,而分页存储管理却不能提供虚存。

    展开全文
  • 详述设有快表的请求分页存储管理系统中,一个虚地址转换成物理内存地址的过程。 first() {//检索快表 if(找到) { 修改页表项访问位 if(是写指令) { 修改位置为"1"; } use(物理地址&&页...
  • 详述设有快表的请求分页存储管理系统中,一个虚地址转换成物理内存地址的过程。 first() {//检索快表 if(找到) { 修改页表项访问位 if(是写指令) { 修改位置为"1"; } use(物理地址&...
  • 【操作系统】请求分页存储管理方式

    万次阅读 多人点赞 2016-12-19 17:45:35
    请求页表机制 状态位 P:指示该页是否已调入内存。 供程序访问时参考 访问字段 A:记录本页在一段时间内被访问的次数或最近未...缺页中断机构在请求分页系统中,当访问的页不在内存,便产生一个缺页中断。缺页中断与一
  • 【单选题】一个分段存储管理系统中,逻辑地址长度为32位,其中段号占11位,则段长最大____字节。【单选题】分页式虚拟存储管理系统中,一般来说页面的大小与可能产生缺页中断的次数_____。【单选题】对页式管理中页表的...
  • Linux系统采用了虚拟内存管理机制,就是交换和请求分页存储管理技术。这样,当进程运行时,不必把整个进程的映像都放在内存中,只需内存保留当前用到的那部分页面。当进程访问到某些尚未内存的页面时,就由...
  • 执行过程中访问的页若已内存,进行动态的地址重定位,执行指令(同基本分页存储管理) 2. 请求分页式存储管理 执行过程中访问的页未装入内存时,产生缺页中断,进程阻塞,等待从磁盘动态装入页面; 缺页装入...
  • 简单来说,秒杀就是同一时刻大量请求争抢购买同一商品并完成交易的过程。从架构视角来看,秒杀系统本质是一个高性能、高一致、高可用的三高系统。而打造并维护一个超大流量的秒杀系统需要进行哪些关注,就是本文...
  • 如果访问的指令内存,则显示其物理地址,转入下条指令,否则发生缺页,此时记录缺页次数,将相应页调入内存; 如果4内存块均已占用,需进行页面置换,最后显示其物理地址,并转入下条指令。 所有320条指令...
  • 不同的是在一个作业运行时,不要求把作业的全部信息装入内存,而只装入目前运行所需要的几页。其余都保存在外存中,等需要时再请求系统调入。2、特点:请求页式存储管理与分页存储管理在内存的分配与回收、存储...
  • 简单来说,秒杀就是同一时刻大量请求争抢购买同一商品并完成交易的过程。从架构视角来看,秒杀系统本质是一个高性能、高一致、高可用的三高系统。而打造并维护一个超大流量的秒杀系统需要进行哪些关注,就是本文...
  • 简单来说,秒杀就是同一时刻大量请求争抢购买同一商品并完成交易的过程。从架构视角来看,秒杀系统本质是一个高性能、高一致、高可用的三高系统。而打造并维护一个超大流量的秒杀系统需要进行哪些关注,就是本文...
  • 一个进程只需将其一部分(段或页)调入内存便可运行;还支持请求调页的存储管理方式。 当进程运行中需要访问某部分程序和数据时,发现其所在页面不内存,就立即提出请求(向CPU发出缺中断),由系统将其所需...
  • 算法描述: 该算法的实质是选择作业中主存驻留时间最长的一页淘汰,这种算法容易实现,例如分配一个作业的存储块数为m,则只需建立一张m个元素的队列表Q(0)、Q(1)、…、Q(m-1)和一个替换指针。这个队列是按页调入...
  • 为了保证一个程序主存中改变了存放位置之后仍能正确执行,则对主存空间应采用()技术。【*,★,联考】A. 静态重定位B. 动态重定位C. 动态分配D. 静态分配3.分区分配内存管理方式的主要保护措施是()。(注:分区...
  • 在一个请求分页存储管理系统中,一个作业的页面走向为4,3,2,1,4,3,5,4,3,2,1,5,当分配给该作业的物理块数分别为3和4时,试计算采用LRU和FIFO 淘汰算法时的缺页率(假设开始执行时主存中没有页面)。...
  • 其中我们会学习请求分页管理方式相关的系列知识点,那么通过上学期的学习,我们知道请求分页管理方式是基本分页管理方式的基础上进行拓展,从而实现的种虚拟内存管理技术,那相比于基本分页存储管理操作系统...
  • 一个进程的逻辑地址空间划分成若干大小相等的部分,每一部分称为页或页面(页面的大小通常是2的次幂,大约512B~4MB之间);同样,将内存空间也划分为与页面大小相同的若干个存储块,即物理块或页框。可将用户的...
  •  分区式管理:最简单直观的方式,内存中分配一个区,将整个进程放入这个区。缺点是会产生外碎片,即时间长了会分区之间产生难以被利用的小空间。  分页式管理:将内存分成固定大小的页,分配若干页将整个进程...
  • 请求分页存储管理与基本分页存储管理的主要区别: 当所访问的信息不内存时,由操作系统负责将所需信息从外存调入内存,然后继续执行程序。 若内存空间不够,由操作系统负责将内存中暂时用不到的信息换出到外存。 ...
  • 1. 在一个请求分页虚拟存储管理系统中,一个程序运行的页面走向是:1 、2 、3 、4 、2 、1 、5 、6 、2 、1 、2 、3 、7 、6 、3 、2 、1 、2 、6 分别用FIFO 、OPT 、LRU算法,对分配给程序3个页框、5个页框、7个页...
  • 请求分页式系统地址转换

    千次阅读 2013-11-04 08:47:13
    基本分页存储管理方式中关于逻辑地址和物理地址的转换   ... 分析在分页存储管理中,逻辑地址结构如下图所示。    它由两部分组成:前部分表示该地址所在页面的页号p;后部分表示页
  • 辅存,此时如果一个进程所需内存大于当前系统内存,那么该进程仍然可以系统中正常运行,因为该进程的一部分可以被还出到外存上。 虚拟存储器系统通常定义三种策略来规定如如何(或何时)进行页面调度:调入策略、...

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 239
精华内容 95
关键字:

在一个请求分页存储