




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第7 7章章 存储管理存储管理 主讲:房道伟主讲:房道伟Daowei_操作系统原理操作系统原理今天虽然主存价格已相当便宜,但主存容量仍今天虽然主存价格已相当便宜,但主存容量仍然是计算机四大硬件资源中最关键而又最紧张的然是计算机四大硬件资源中最关键而又最紧张的“ 瓶颈瓶颈”资源。因此对主存的管理和有效使用仍然资源。因此对主存的管理和有效使用仍然是今天操作系统十分重要的内容。许多操作系统之是今天操作系统十分重要的内容。许多操作系统之间最明显的区别特征之一往往是所使用的存储管理间最明显的区别特征之一往往是所使用的存储管理方法不同。如方法不同。如OS/360-MFT采用采用固定分区固定分区存储管理技
2、存储管理技术,术,OS/360-MTV是采用是采用可变分区可变分区存储管理技术,存储管理技术,OS/2,WindowsNT, 是采用是采用虚拟存储虚拟存储管理技术。管理技术。主存储器管理技术可分为两大类:实存储器管主存储器管理技术可分为两大类:实存储器管理和虚拟存储器管理。理和虚拟存储器管理。主要内容7.1 主存管理的基础主存管理的基础(1) 主存的物理组织和逻辑组织主存的物理组织和逻辑组织(a) 存储器分三级:存储器分三级:为能更多的存放并更快地处理用户信息目前许多计算机把存储器分为三级。高速缓存主存外存cpu可访n+k 几百knM 几百Mn+MnG(G=1kn)用户的程序在运行时应存放在主
3、存中,以便处理用户的程序在运行时应存放在主存中,以便处理机访问。但是由于主存容量有限。所以把那些不马上机访问。但是由于主存容量有限。所以把那些不马上使用的程序、数据放在外部存储器使用的程序、数据放在外部存储器(又称次级存储又称次级存储)中。中。当用到时再把它们读入主存。图当用到时再把它们读入主存。图7.1中的三级存储器,中的三级存储器,从高速缓冲存储器从高速缓冲存储器(简称缓存简称缓存)到外部存储器到外部存储器(以后简称以后简称外存外存),其容量愈来愈大,而访问数据的速度则愈来愈,其容量愈来愈大,而访问数据的速度则愈来愈慢,价格也愈来愈便宜,如慢,价格也愈来愈便宜,如IBM的缓存的最大传输速的
4、缓存的最大传输速度为每双字度为每双字120225毫微秒,主存的传输速度每字毫微秒,主存的传输速度每字1微微秒。秒。)(b) 程序只能在主存中运行程序只能在主存中运行(c) 物理地址:物理地址:(需要区分存贮体中不同的存需要区分存贮体中不同的存贮单元,统一编号贮单元,统一编号, 这些编这些编号称为地址号称为地址)与地址有关:20根2201M32根2324G物理地址是主存的真实地址 绝对地址物理地址的集合间 存贮空间它是:存储控制部件能够识别的主存单元编号(或字节地址)。(d)逻辑地址:又称相对地址,是指相对于某个逻辑地址:又称相对地址,是指相对于某个基准量基准量(通常用通常用0)编址时所使用的编
5、址时所使用的地址,相对地址常用于程序编写地址,相对地址常用于程序编写和编译过程中。和编译过程中。名空间 由程序员所写符号组成。地址空间 一个目标程序所限定的地址集合。Address: mov Ax,1Obj 目标地址名空间编译地址空间EXE文件装入存贮空间(2) 存贮管理功能:存贮管理功能:(a) 映射逻辑地址为存贮地址地址映射映射逻辑地址为存贮地址地址映射(b) 在多个用户间分配主存主存分配在多个用户间分配主存主存分配研究主存分配算法,以及算法的性能(c) 对主存中信息提供保护存贮保护对主存中信息提供保护存贮保护(d) 扩充逻辑存区主存扩充扩充逻辑存区主存扩充(这里指的扩充并非指这里指的扩充
6、并非指硬件设备上的扩充,而是用存储管理软件来实硬件设备上的扩充,而是用存储管理软件来实现逻辑上的扩充即所谓的虚拟存贮技术现逻辑上的扩充即所谓的虚拟存贮技术)(I) 地址映射地址映射(重定位重定位)(a) 执行指令时,必须将地址变为绝对地址才可执行指令时,必须将地址变为绝对地址才可访问系统分配的内存。访问系统分配的内存。存贮空间地址空间程序执行时,必须将逻辑地址正确地转换为物理地址即地址映射。mov Ax,(500)12.30100500100011001500mov Ax,(500)12.3装入主存出错解决方法:重定位(b) 使一个作业程序装入到与其地址空间不一致使一个作业程序装入到与其地址空
7、间不一致的存贮空间,所引起的对有关地址部分的调的存贮空间,所引起的对有关地址部分的调整过程称为地址重定位。整过程称为地址重定位。逻辑地址 物理地址(c) 地址映射的方式:地址映射的方式: 编程或编译对确定地址映射关系,不灵活。 静态地址映射 在装入时实现调整 地址要有标识 每装入时都可要定位 装入后不再变(静态) 动态重定位 在执行寻址时重定位 访问地址时通过地址变换机构改变为内存地址mov Ax (500)12.3mov Ax (500)12.31005001100150010001000cpu运行主存B特点:特点:(1) 任意装入内存区域 (不要求占用一个连续的内存)(2) 只装入部分代码
8、即可运行(3) 改变系统时不需改程序(程序占用的内存空间、动态可变,主程序从某一个存贮区域移动时,只需修改得定位存器B即可)(4) 程序可共享(II) 主存分配:主存分配:(a) 分配策略分配策略(计算计算)放置策略 决定放的位置调入策略 装入时机(什么时刻调入)淘汰策略 建立空闲区(b) 数据结构:队、表数据结构:队、表(c) 地址映射地址映射(III) 存贮保护:存贮保护:越界保护范围存贮键保护存贮权限(IV) 主存扩充:逻辑存贮区扩充主存扩充:逻辑存贮区扩充(利用辅存)(1)单一连续区分配单一连续区分配(a)概要:存区分为概要:存区分为o.s连续区和用户连续区连续区和用户连续区o.s区用
9、户区越界R受保护o.s存取区特权管态目态7.2 实存管理实存管理 (b) 简单、低放、单一用户简单、低放、单一用户单用户o.s的内存管理十分简单,因为存贮器在任何时候都只保存一个用户进程,除o.s本身占据的内存外都可分配给用户使用。方案:方案: o.s可以占据可以占据RAM的底部的底部(a)或顶部或顶部(b) 也可以部分在内存顶部的也可以部分在内存顶部的Rom中,另一中,另一部分存放部分存放RAM底部底部(c)IBM PC在MS/Dos下,其内存分配便条用(c) 其装有设备驱动程序的8k.Rom占据IM地址空间的最高区通常称Rom中的这些设备驱动程序为BIOS用户程序o.s(a)用户程序o.s
10、(b)Rom设备驱动程序o.s用户程序(c)(2) 固定分区:把主存分成若干个固定大小的存固定分区:把主存分成若干个固定大小的存储区储区(存储块存储块)(a) 概要:主存被划分为多个分区,每个分区分给概要:主存被划分为多个分区,每个分区分给某一作业使用,并由分区说明表指明某一作业使用,并由分区说明表指明作业按区分配直到该作业完成后才把作业按区分配直到该作业完成后才把该存储区归返系统。该存储区归返系统。o.s区20k28k60k90k128k256k0区1区2区3区4区区号 大小起址状态123420k28k60k128kin usingNuL8k32k68k128kin usingNuL(存贮分
11、块表MBT)固固定定分分区区分分配配算算法法大大区区图图要求xk大小的分区取分区说明表的第一项该分区空闲吗?分区大小xk表结束吗?返回分区号状态位置1无法分配取下一项NNNYYY(b) 特点特点由操作员划分分区MBT应放在操作系统区内,填分区表多道程序零头缺点:缺点:不允许两个作业同时放于同一个分区中剩下的空闲部分称为内存碎片内存碎片,降低了主存利用率。(3) 可变分区可变分区(a) 概要:概要:存贮空间的划分在作业装入时进行(事先并未划分成一块块分区),且使分区大小与作业大小一致(按作业大小建立)分区大小、个数,不固定的(系统启动时,整个主存除o.s块外,其余主存区可看成是整个一个分区)。O
12、.S自由分区0512k1536k序号 大小起址状态1234312k320k384k已分已分8k32k120k空表目已分5空表目大小起址状态352k504k自由空表目32k520k自由空表目空表目已分配分区表已分配分区表 UBT表表自由分区表自由分区表FBT20k28k94k232k248ko.s区Job1(8k)Job2(16k)Job4(50k)Job3(124k)Job5(16k)44k108k256k分裂分裂 来了job4(50k), job5(16k)未分配分区表(自由分区表)FBT的变化序号大小起址状态1264k14k24k8k44k94k232k248k自由自由 job2, job
13、3完成后、释放(如下图) o.s区Job1 Job4 Job5合并空申请分配一个xk大小的分区置空白区号F1(F)的状态可用?空白区F大小xk?loc(F)的始址否是请求主存块程序框图请求主存块程序框图F未分配表的结尾?置空白区F,F的状态空表目(F)的大小xk(F)的大小loc+xk (F)的始边在分配表中找一个状态空表目的分区P置P分区的大小xk置P分区的地址loc置状态已分配返回一个分区号P本次无法分配一个分区F+1Fnk,但不能装入nk作业(iii) 解决的方法:(I) 将程序装入分散存区中 多重分区Job1Job2Job3RR11RR 12Job4部分2Job4部分1RR21RR22
14、(II) 将碎片集中(紧凑或拼接) 可重定位分配Job1Job2Job3Job4可重定位分区分配法是利用分区的“ 拼接”(对空白区而言)或“ 紧凑”(作业程序而言)技术解决“ 零头”。(4) 可重定位分区分配可重定位分区分配(a) 概要:概要:移动内存已分配区的信息,使得所有分配区靠在一起使空白区连成一片,采用浮动方法。(b) 浮动浮动(重定位动态重定位动态)进行主存的压缩,就进行主存的压缩,就要将主存中用户程序移动要将主存中用户程序移动(浮动浮动),对作业,对作业中与地址有关的部分进行调整。中与地址有关的部分进行调整。请求分配一个大小为xk的分区有大于xk的空闲区吗?空闲区的总和xk吗?紧缩
15、存储并相应地修改诸表(得到一个完整的空闲区xk)分配分区并修改诸表此刻已经分配一个分区返回一个分区号数是是否否(c) 动态重定位可变分区分配算法:动态重定位可变分区分配算法:20k28k88k132k182ko.s作业1(8k)(36k)作业3(24k)(24k)作业2(20k)作业4(50k)(74k)64k112k256k(a)初始状态20k202ko.s1324作业5(80k)(54k)122k(c)分配作业5之后(b)移动之后(即浮动)20k28k72ko.s1(8k)3(24k)2(20k)4(50k)(134k)52k122k256k作业580k实现这种重定位,可通过类似于重定位装
16、入程序的软件来达到,但这种方案要在费许多处理机时间,而且限制较大。较好的办法是采用动态重定位技术(在本章中,当一个作业装入与其地址空间不一致的存储空间时,可在每次访问指令或数据时,通过重定位寄存器来自动修改访问存储器的地址)因而,一个作业在主存中移动后,只需要改变重定位寄存器的内容即可。图(a)是作业拼接之前的执行情况,这时重定位寄存器RR的值为64k,(b)是拼接后作业3执行情况,作业3被移动到28k大字节开始的分区中。为保证在新的位置上仍能正确执行,只需要将重点定位寄存器RR的值改为28k即可。LDAD 1,50012345Load 1,5001 2 3 4 550064K0100500R
17、R656366603664作业3的分区88K处理机一侧存贮器一侧(a) 拼接前相对地址定位寄存器Load 1,50012345Load 1,5001 2 3 4 550028K0100500RR287722917228k(b) 拼接后的执行情况52k256k主存24k相对地址定位寄存器采取动态重定位后,由于目标程序装入主存后不需修改地址指针及所有与地址有关的项,因而程序可在主存中随意浮动而不影响其正确执行。这样,就可以方便地进行存储器紧缩,较好地解决了碎片问题。(d) 拼凑时机拼凑时机(i) 出现相邻空白区即拼接;(或某分区被释放后即紧缩)(ii) 存贮不足(空白分区不够大)时进行拼接紧缩工作
18、大,开销大,但管理简单紧缩次数少,但管理(算法)较复杂。前面已有框图表示(5) 多重分区分配不拼接而解决零头问题多重分区分配不拼接而解决零头问题(a) 概要概要将程序分为若干段,按小段申请存区,即将程序分散在不连续存区中运行。程序:程序、数据区等(也可解决共亨信息问题):给一个作业分配二个分区o.s作A 0区作A 1区下界0上界0下界1上界1采用动态重定位技术: 利用下界寄存器作为重定位Reg 而上界可供检查地址越界用在实存管理技术中,多重分区的多重程序不宜过多,否则会增加管理的复杂性,一般不超过34对界地址寄存器。多重分区技术的进一步发展导致了段式虚拟存储管理技术的出现。(6) 覆盖覆盖(o
19、verlay): 指一个作业的若干程序段指一个作业的若干程序段(或数据或数据段段)或几个作业的某些部分间共享某主存空间或几个作业的某些部分间共享某主存空间(a) 目标:用较小的存区满足较大的存区要求目标:用较小的存区满足较大的存区要求(b) 程序的分析:并不是作业的每一部分都是时时程序的分析:并不是作业的每一部分都是时时要用的要用的mainA 20kA0, 30kB0, 40kB1, 30kA2, 30kA1, 60kA4, 40kA3, 20kB0, 40kB1, 30kA1, 60kA2, 30kA3, 20kA4, 40kmain20k覆盖段040k覆盖段160k覆盖段240kAmain
20、20kA0, 30k则总计270k 160k内存即可可装入(c) 注意:注意:(i) 每次仅放入作业的一个部分(ii) 覆盖段程序员事先确定(iii) 系统自动覆盖虚存(iv) 可与其内存分配方法结合使用(7) 交换:交换:(swapping)(a) 目标:解决小主存分区大作业的矛盾目标:解决小主存分区大作业的矛盾 利用辅存利用辅存(b) 概要:概要:将主存中已阻塞的作业信息存入辅存,将辅存中的活动作业调入主存并运行。job1job2job3job1job2job1job2job3job3job1主存辅存上部上部下部job3job2job2覆盖的部分保存好!Job2下部Job1 Job3 主存
21、大小作业无法运行“ 扩充”主存 虚拟存贮技术(b) 虚拟存贮器:虚拟存贮器:地址空间存贮空间(编程)(运行)逻辑物理虚空间(虚存)实存、实空间交换o.s 程序的访问地址称为虚地址而程序可访问的虚地址范围叫做程序的虚地址空间。 可使用的实地址范围叫实地址空间(即主存)(c) 虚空间独立于实空间虚空间独立于实空间虚空间实空间(也可以虚空间实空间)系统地址空间 虚存空间地址结构20位有效地址长度 0220(寻址范围),实存64k虚存220作业可以大于内存,部分作业调入运行,其余放入磁盘。利用辅存存放放不进内存的作业部分。 主存辅存虚拟存(仅与地址结构有关)(2) 分页存贮管理:分页存贮管理:(a)
22、实现原理:实现原理:地址空间分成大小相同的部分 页存贮空间分成大小相同的部分 块(页架)页大小块大小页大小块大小页号块号状态012238该页是否在内存分配时页对应块,但不要求连续页表(PMT)又称页面映象表由内存一个特殊区域担任重定位(地址变换)包括:页号,块号以及状态mov Ax (2500)mov AX (2500)123 页号 块号012238页表2页0页页 1k分3页0块1块2块3块8块01k2k3k9k8k4k1k2k3k1002500250010242452作业地址空间1页逻辑地址的表示(p, d)P = INT A/L;d = A mod L其中A:虚地址 L:页大小P :页号
23、d:页内位移例:2452页块012238页表长 页表始址8452123实地址虚地址(页)d (偏移)P(页)9k8644页表地址reg+例:设虚地址为(357101)8 每一块为128字节12827(357101)8( 01 110 111 100 1 000 001)21 6 7 4 101偏移为(101)8, 页号为(1674)8块号由页表指定,偏移不变(b) 多级页表的地址转换多级页表的地址转换进程的页表表目可达222个。而Windows NT 等使用x86的CPU的32位地址,使用4KB的页面(212),这意味着进程最多可以使用多达220(100多万)个页面。如果每个页表表目占4byt
24、e,那么每个进程的页表所占的空间是222byte,占去主存的1的空间,显然这样大的页表是不能全放在主存中的。为此对页表本身也采取分页措施。即把页表本身按固定大小分成为一个个页面(页面大小为 212=4KB)。每个小页表形成的页面中可以有2101K个页表表目(每个表目4byte),共有2101K个小页表。为了对1K个小页表进行管理和索引查找,设置一个页表目录,又称之为顶级页表,该顶级页表包含有1K个表目项,分别指出每个次级小页表所在物理页号和其他有关状态信息。这样,每个进程有一个页目录,它的每个表目映射一个页表。页目录本身大小刚好是一个页面大小,页目录是一级表。而每个小页表本身就是二级页表。以后
25、一律使用页目录和页表的名称。页目录寄存器当前进程页目录31110页架号+面目录号 页号 偏移虚拟地址+3112 110 页架号页架号 偏移物理地址3122 21 12 11 0当前进程的某个次级页表31 12 110二级页表地址变换通过二级页表的地址映射访问主存存取数据需要三次访问主存(一次页目录,一次页表,最后是数据所在物理地址),所需时间是原来的三倍。当然对64位的地址,也可组织成三级、四级页表,但性能的影响是不可忽视的。(若页表全部放在主存,则要取一个数据(一条指令)至少要访问二次主存,第一次是访问页表,确定所取数据(或指令)的物理地址,第二次是根据该地址取数(或指令)将作业中最常用的页
26、块号置入高速缓存,提高查表速度(在地址变换机构中加入一个高速、不容易的联想存储器)(c) 快表快表(联想存贮器联想存贮器)访问主存访页表访主存访问主存访页表访主存存放页表部分内容的快速存贮器称为联想存贮器,联想存贮器中存放的部分页表称为“ 快表”。联想存贮器一般由816个单元组成,它们用来存放正在运行进程的当前最常用的页号和相应的块号,并具有并行查寻能力。 查联想表物理地址(访问一次主存) 查页表物理地址(访问二次主存) 有效地址同时进行这个联想存贮器的查表速度可以做到比一般存储器的速度快一个数量级。PBPB输入输出B WPW联想表物理地址页表起址PB页表虚地址(分页)B例:设访问主存时间为2
27、00ns,访问联想存贮器为40ns,命中率为90,则平均存取时间为多少?查页表两次访存:平均为200200400ns查块表(200+40)90(200+200)10256ns解:方法方法1:方法方法2:(3) 请求分页式存储管理请求分页式存储管理(a) 目标:实现小内存大作业目标:实现小内存大作业(b) 实现方法:作业运行时,只将当前的一部分装实现方法:作业运行时,只将当前的一部分装入内存其余的放在辅存,一旦发现访问的页不入内存其余的放在辅存,一旦发现访问的页不在主存中,则发出缺页中断,由在主存中,则发出缺页中断,由o.s将其从辅存将其从辅存调入主存,如果内存无空块,则选择一个页淘调入主存,如
28、果内存无空块,则选择一个页淘汰。汰。怎样发现页不在内存?扩充表(以前页表结构只包含页号和块号两个信息,这是进行地址变换机构所必须的,为了判断页面在不在主存,可在原页表上扩充,增加两个数据项、中断位I,辅存的位置)。第一个问题:第一个问题:页号块号中断位辅存1. 不在内存0. 在内存当进程运行时,在内存中至少有一块为该进程所对应的程序所占用,并正在执行此块内的一条指令。若这条指令不涉及访内地址则罢,如果涉及访内地址,则由分页机构得到页号,并以该页号为索引查页表PT,这时将有两种可能性:发生缺页中断请求调入此页,当缺页中断发生时,用户程序被中断,控制转到os的调页程序,由调页程序把所需的页面从磁盘
29、调入内存的某块中,并把页表中该页面登记项中的中断位I由1改为0,填入实际块号,随后继续执行被中断的程序,这一页面是根据请求而装入的,因而称为请求分页存贮管理。 此页对应页表中的中断位为0,表示此页已调入主存,可查得块号B,形成BW的物理地址,从而指令得以执行,继而执行下条指令; 当中断位为1,表示此页不在主存,而是在磁盘上(辅存地址指示)指令执行和缺页中断处理指令执行和缺页中断处理启动要处理的指令该页在主存给出虚地址形成页号有空闲块从外存读入需要的页调整存贮分块表和页表重新启动被中断的指令准备执行下条指令执行完该指令选一页淘汰调整存贮分块表和页表要重新写入该页写入外存YYYNN硬件软件N缺页中
30、断如何处理缺页一缺页中断管理? 发现中断、调入所缺页第二个问题:第二个问题:如果内存不足,选一页淘汰,选择哪一页呢?引用位是来指示某页最近被访问过没有?修改位是来指示某页的数据修改过没有?“ 0”表示没有访问过“ 1”表示已被访问过引用位修改位0修改位 写回辅存1未修改过 不必写回辅存辅存地址引用位中断位改变位主存块号页号页表表目为(c) 置换算法置换算法 确定淘汰哪一页的策略确定淘汰哪一页的策略系统抖动 内外存交换频繁使效率下降(导致系统效率急剧下降的主、辅存之间的频繁转换现象)驻留集 驻留在内存中页面的集合。成功失败失败成功的访问次数不成功的访问次数缺页中断率FSF)()(i) 最佳置换算
31、法:(OPT)“ 淘汰在将来再不被访问(以后不再要的),或者在最远的将来才被访问的页”然而这样的算法是无法实现的,因为在程序运行中无法对后面要使用的页面作精确的判断,不过可作为衡量各种具体算法的标准。(ii) 先进先出算法(FIFO)例:设页面请求次序7.0.1.2.0.3.0.4.2.3.0.3.2.1.2.存贮块为3时(驻留集为3)3012302302304230423042301230120127017012707 0 1 2 0 3 0 4 2 3 0 3 2 1 2+ + + + + + + + + + + +页面迹踪图缺页率为801001512驻留集越大,缺页中断率越小吗?(不一定
32、)。一般来说,对于任何一个页的访问顺序(或序列)和任何一种换页算法,如果分给的页架数增加,则缺页(所访问页不在主存)的频率应该减少。但这个结论并不普遍成立,对于某些页面访问序列,FIFO有随着分给的页架数增加,缺页频率也增加的异常现象。页 面 访问 序 列九 次缺 页三块页架A BC D A BEABC DEA BCDABEEEC D DAB C DA B B BEC CA BCDA AA BEE+页 面 访问 序 列十 次缺 页四块页架ABCDABEABC D EABCDDDEAACD EABCCCDEEBCDABBBCDDA BC+ +AAABCCEAB+(iii) 最近最久未用页面算法(
33、最近最少使用)LRU其思想:“ 若发生缺页中断,则选择最近一段时间内最长时间没有被访问的页淘汰掉,将要使用的页调入主存”。基本理由是认为过去一段时间里不曾被访问过的页,在最近的将来也可能不再会被访问。1232303020323242404 0303230202121010772130770 1 2 0 3 0423 0 3 2 1 2+ + + + + + + + 缺页率7 .661001510缺页次数:10该算法实现起来比较困难,因为要为每一页设置一特定单元来记录自上次访问后到现在的时间量 t,并选择 t值最大的页淘汰。得到广泛使用的是最近最久未使用算法的近似方法 最近未使用更换算法(NUR
34、),它比较易于实现,开销也比较少,此更换算法,不但希望淘汰的页是最近未使用的页,而且还希望被挑选的页在主存驻留期间,其页面内的数据未被修改过。为此,要为每页增设两个硬件位、访问位和修改位。(iv) 最近未用更换算法 (NUR)访问位0;该页尚未被访问过。1;该页已经被访问过。修改位0;该页尚未被修改过。1;该页已经被修改过。其具体工作过程如下:开始时,所有页的访问位、修改位置为“0”。当访问某页时,将该页访问位置“1”。当某页的数据被修改,则该页的修改位置“1”。当要选一页淘汰时,挑选下面序列中属于低序号情况的页进行淘汰。序号:1234访问位: 0011修改位: 0101在多道程序系统中,主存
35、中所有页架的访问位或修改位可能都会被置成了“1”,这时就难以决定淘汰哪一页。当前大多数系统的解决办法是避免出现这种情况,为此,周期性地(经一定时间间隔)把所有访问位重新清成“0”。当以后再访问页面时重新置“1”,这里一个主要问题是选择适当的清零时间间隔,如果间隔太大,可能所有页架的访问位均成为“1”。如果间隔太小,则访问位为“0”的页架又可能过多。LRU和NUR算法没有异常现象,即驻留集越大,缺页中断率越小。(d) 注意:注意:(i) 虚存:页面并未全部放入内存,使用户感到“ 内存”很大用户不用考虑覆盖系统“ 扩充内存”用户编程在虚空间,运行在物理空间缺页中断处理属于中级调度外存、内存、高速缓
36、冲,三级存贮变为一级。(e) 评价:评价:虚存大,有效地利用了主存,适合多道程序,方便用户编程。处理页面调度的开销,防止抖动开销较大。(4) 分段存贮管理分段存贮管理(segrmanent)(a) 段地址空间:作业由若干个逻辑分段组成,段地址空间:作业由若干个逻辑分段组成,如由代码分段如由代码分段(cs)数据分段数据分段(ds),栈段栈段(ss)附加段附加段(Es)组成组成一个段可定义为一组逻辑信息,如子程序,数组或工作区,(分段是程序中自然划分的一组逻辑意义完整的信息集合,它是用户在编程时决定的)。因此,每个作业的地址空间是由一些分段构成的,每段都有自己的名字,且都是一段连续的地址空间。如下图,可见整个作业的地址空间是二维的Y:0500C:0200D:0300CallLoadstore01kMain(主程序)分段X(子程序)分段A(数据)分段B(工作区)分段地址系统中的地址结构有如下形式:(24位)段号S位移量W0723loadY D 12345C 段号 段长 主存始址01k6k15004k23008k32009200SB段表LOAD 1, 11001234501k050003000200100
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 标准厂房项目遥感技术在水土保持监测中的应用
- 排污口对生态环境的保护与修复措施
- 智能感应篮球投篮行业跨境出海战略研究报告
- 牧草加工设备企业制定与实施新质生产力战略研究报告
- 潮鞋未来科技感设计行业深度调研及发展战略咨询报告
- 智能搜索引擎助手企业制定与实施新质生产力战略研究报告
- 智能治疗管理系统企业制定与实施新质生产力战略研究报告
- 智能文件柜行业深度调研及发展战略咨询报告
- 家庭教育指导服务行业投资机会研究报告:2025年行业投资热点解读
- 工业互联网平台数据加密算法效能提升策略及实践
- 猪病解剖诊断
- 关爱自我,从心开始(主题班会)课件
- 教练技术二阶段讲义(版本一)
- 康复医学课件-第二章 康复评定
- DB63-T 954-2020压力容器安全使用管理规范
- 中国商业航天研究报告
- 红色卡通风全国助残日PPT模板
- 《城市综合防灾规划》教学大纲
- SimMarketing营销模拟实验室操作篇
- 阀门螺栓使用对照表
- HDPE塑料检查井施工工艺
评论
0/150
提交评论