缺页中断处理过程课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《缺页中断处理过程课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中断 处理 过程 课件
- 资源描述:
-
1、LOGO1存储管理第三章正文3.1 存储管理综述n存储器分类n内存:内存:CPU直接存取,存放正要执行的程序和数据,访问速度快,价格贵,容量小。n外存:外存:CPU不能直接访问,存放暂时不执行的程序和数据,访问速度慢,容量大。n存储管理指内存管理LOGO2存储管理第三章正文3.1 存储管理综述 理想中的存储器 速度快 容量大 价格便宜 目前无法同时满足三个条件 多级存储器结构3.1.1 存储器的层次结构存储器的层次结构 LOGO3存储管理第三章正文3.1 存储管理综述寄存器和主存又叫“可执行存储器可执行存储器”计算机对所存信息访问机制访问所耗时间可执行存储器进程可在很少的时钟周期使用一条Loa
2、d或store指令访问可执行存储器很少的时钟周期辅存通过I/O设备访问辅存远高于前者,一般相差3个数量级甚至更多(因访问中涉及到中断、设备驱动程序以及物理设备的运行)LOGO4存储管理第三章正文3.1 存储管理综述3.1.2 高速缓冲存储器的工作原理高速缓冲存储器的工作原理1、高速缓冲存储器 CACHE是一个高速度、小容量的缓冲存储器,存储CPU最经常访问的指令或数据,一般用SRAM芯片构成,其全部功能由硬件实现,对程序员是透明的。CACHE用于解决 CPU与主存间的速度匹配问题,其理论依据是程序访问的局部性原理。LOGO5存储管理第三章正文3.1 存储管理综述 为了使主存与cache之间映射
3、,将主存与缓存都分在若干个块,每个块包含若干个字,并使块的大小相等。将主存n位地址分为高m位和低b位,缓存地址也分成高c位和低b位。主存的块数M=2m远大于缓存的块数C=2c块。由于缓存的块数远小于主存的块数,一个缓存块不能唯一、永久地对应一个主存块,每个缓存块需设一个标记,用来表示当前存放的是哪一个主存块,该标记的内容相当于主存块的编号(即主存地址的高m位)。CPU读信息时根据主存地址的低位部分,将主存地址的高位部分与缓存块的标记进行比较,以判断所读信息是否在缓存中。LOGO6存储管理第三章正文3.1 存储管理综述主存储器主存储器Cache 主存块号主存块号0122m-1:字块字块0字块字块
4、1字块字块2字块字块M-1字块字块0字块字块1字块字块C-1012c-1标记标记M=2m C=2c(1)CACAHE命中:CPU访问的数据或指令已存在于CACHE中。(2)命中时间:在CACHE命中时的访存时间,它等于CACHE的访问时间。(3)失效时间:CACHE不命中时因访存而增加的访问时间,它等于对主存的访问时间和将主存中的数据调入CACHE的时间。LOGO7存储管理第三章正文3.1 存储管理综述3.1.3 存储管理的功能存储管理的功能内存的分配和回收 当用户提出内存申请时,操作系统按一定策略从表中选出符合申请者要求的空闲区进行分配,并修改表内有关项,这称为内存的分配;若某进程执行完毕,
5、需归还内存空间时,操作系统负责及时收回相关存储空间,并修改表中有关项,这称为内存的回收。LOGO8存储管理第三章正文3.1 存储管理综述内存的保护和共享内存保护:就是确保多个进程都在各自分配到内存区域内操作,互不干扰,防止一个进程破坏其他进程的信息。内存共享:内存允许同时有多个程序在运行多个进程,它们可能调用相同程序段或使用同一数据体,从而节省内存空间,减少内外存的数据交换,提高系统的效率 LOGO9存储管理第三章正文3.1 存储管理综述内存扩充内存“扩充”包含了存储器利用的提高和扩充两方面的内容。为用户提供比内存物理空间大得多的地址空间。比较典型的内存扩充是虚拟存储器。地址定位就是将进程的逻
6、辑地址变换为内存中的物理地址。我们需要实现从逻辑地址到物理地址的变换,即实现从虚地址到实地址的变换。LOGO10存储管理第三章正文3.2 固定分区存储管理 用户程序的四个处理阶段用户程序的四个处理阶段 编辑阶段编辑阶段 1.编辑阶段用户源程序翻译阶段目标程序代码其他代码库代码链接编辑阶段可执行程序代码装入阶段程序地址空间磁盘 用汇编语言或某高级语言编写程序,是产生用户程序的编辑阶段,该阶段的结果是得到“源程序”文件。翻译阶段翻译阶段 2.为了程序的运行,先应使用汇编程序或编译程序对源程序进行翻译处理,产生出称为“目标程序”的二进制程序代码,这属于翻译阶段。链接编辑阶段链接编辑阶段 3.把目标程
7、序代码链接装配到一起,成为一个统一的程序整体。经过链接编辑阶段,得到用户程序相对于“0”编址的一个完整的二进制目标程序代码。装入阶段装入阶段 4.装入阶段的任务,是根据内存的使用情况,为进入内存的程序分配存储区,对程序中的地址进行调整。LOGO11存储管理第三章正文3.2 固定分区存储管理3.2.1 地址重定位地址重定位1.用户程序的两种地址和空间用户程序的两种地址和空间.内存单元的地址称为“绝对地址”或“物理地址”。从任何一个绝对地址开始的一段连续的内存空间,被称为“物理地址空间”,或“绝对地址空间”。.用户程序的逻辑地址空间0k内存装入用户程序的物理地址空间aa+k逻辑地址物理地址 在多道
8、程序设计环境下,用户无法事先指定要占用内存的哪个区域,也不知道自己的程序将会被放在内存的什么地方。.程序通过链接编辑,产生出相对于“0”计算的地址空间,这个地址空间称为是用户程序的“相对地址空间”,或“逻辑地址空间”,其地址称为“相对地址”或“逻辑地址”。系统所接受的,就是这种相对于“0”编址的用户程序。.这样的程序是不可能直接投入运行的,因为程序中的地址没有能够反映出它所在存储区的真正存储位置。2.地址的重定位地址的重定位 程序被装入到分配给它的内存储区时,必须对每条指令里所涉及到的逻辑地址进行修改,使它们能够正确地反映出所在的存储位置。这种把逻辑地址转换成物理地址的过程,称为地址的“重定位
9、”。.LOGO12存储管理第三章正文3.2 固定分区存储管理.用户程序A的相对地址空间xxxxxx01001KB2KB3KB3000call 100内存xxxxxx20KB20KB+10021KB22KB23KB20KB+3000call 100操作系统0X内存xxxxxx20KB20KB+10021KB22KB23KB20KB+3000 call 20580操作系统0内存xxxxxx22KB22KB+10023KB24KB25KB22KB+3000 call 226280操作系统20KB(a)(b)(c)(d)例如,假定用户程序A的相对地址空间为03KB(03071),在程序中地址为3000
10、的地方,有一条调用子程序(其入口地址为100)的指令:“call 100”,如图(a)所示。.对用户程序原封不动的装入,不能使它正确运行,因为在执行到位于绝对地址20KB+3000处的“call 100”指令时,它就会转到绝对地址100处去调用所需的子程序,而这个地址却是在操作系统里面,如图(b)所示。.把指令“call 100”中的100变换成20580,就是地址重定位,如图(c)所示。.若把程序A装入到(22KB25KB)的绝对地址空间里,那么call指令中地址100所对应的绝对地址就是22KB+100=22628了。如图(d)所示。LOGO13存储管理第三章正文3.2 固定分区存储管理
11、即在程序装入内存之前,程序指令中的地址就已经是绝对地址,已经正确地反映了它将要进入的存储区位置。3.2.2.地址的定位方式和静态重定位地址的定位方式和静态重定位.绝对定位方式(1).优点是程序中的逻辑地址与实际内存的物理地址相同,不再需要对指令中的地址进行任何重定位,装入到指定的内存位置就可以运行了。缺点是编程人员要熟悉内存使用情况,要小心对待指令中的地址,不能出差错;程序在内存不能移动,只能固定在该存储区内;对程序所作的微小修改,都可能牵扯到程序整体的变动;不适用多道程序设计环境。静态重定位方式(2)要有重定位装入程序,功能是:根据当前内存使用情况,为欲装入的二进制目标程序分配所需存储区;根
12、据所分配的存储区,对程序中的指令地址进行重定位;将重定位后的二进制目标程序装入到指定的存储区中。.用户提供相对于“0”编址的二进制目标程序。通过重定位装入程序的加工,目标程序进到分配给它的物理地址空间,程序指令中的地址都被修改为正确反映该空间的情形。.由于地址重定位在程序执行前完成,因此称为“静态重定位”,或“静态地址绑定”。特点是:重定位由软件实现,无须硬件支持;在程序运行前完成地址重定位工作;地址重新计算和修改是在程序装入时集中完成;物理地址空间里的目标程序与原逻辑地址空间里的目标程序已不相同;位于物理地址空间里的用户程序不能在内存中移动,除非重新进行地址定位;适用于多道程序设计环境。LO
13、GO14存储管理第三章正文3.2 固定分区存储管理 静态重定位在装入时一次性集中把程序指令中所有地址全部加以重定位;动态重定位则是每执行一条指令时,才其地址加以重定位。静态重定位在程序运行之前完成地址转换;动态重定位则是将地址转换的时刻推迟到指令执行时进行。若将地址定位的时间推迟到程序执行时进行,那么称其为地址的“动态重定位”方式。.动态重定位方式(3).对程序实行动态重定位需要硬件支持:一个地址转换机构。它由地址转换线路和一个“定位寄存器”(也称“基址寄存器”)组成。这时,用户程序不做任何修改地装入到分配给它的内存空间中。当调度到程序运行时,就把它所在物理空间的起始地址加载到定位寄存器中。C
14、PU每执行一条指令,就把指令中的相对地址与定位寄存器中的值相“加”,得到绝对地址。然后按这绝对地址去执行指令,访问所需要的存储位置。xxxxxx22KB22KB+10023KB24KB25KB22KB+3000call 1000操作系统20KB(b)用户程序A的相对地址空间xxxxxx01001KB2KB3KB3000call 100(a)22KB定位寄存器1002262822528内存.静态重定位和动态重定位的比较(4).静态重定位由软件完成地址转换;动态重定位由硬件地址转换机构完成。.静态重定位时原来的指令地址被修改了;实行动态重定位,不对指令本身做修改。LOGO15存储管理第三章正文3.
15、2 固定分区存储管理 用户区分为“使用区”和“空闲区”两部分,如图(b)所示。使用区是用户作业程序真正占用的连续存储区域;空闲区是分配给了用户、但未被用户使用的区域,称为“内部碎片”。1.单一分区存储管理单一分区存储管理.单一分区存储管理的系统,任何时刻只有一个用户程序驻留内存。因此内存为两个部分:供操作系统使用的系统区和供用户程序使用的用户区。作业3 作业2 作业1内存0ab操作系统用户区内存0ab操作系统使用区空闲区用户区c(a)(b).单一分区存储管理系统的特点:(1)总是把一个连续的用户区分配给一个用户使用,如图(a)中的ab区域。(2)(3)这种系统只适用于单用户的情况。(4)进入内
16、存的作业,独享系统中的所有资源,包括内存中的整个用户区。(5)由于整个用户区都分配给了一个用户,因此作业程序进入用户区后,没有移动的必要。所以采用这种存储管理策略,对用户程序实行静态重定位。3.2.3 单一连续分区存储管理单一连续分区存储管理LOGO16存储管理第三章正文3.2 固定分区存储管理 每次只能有一个作业进入内存,故不适用于多道程序设计,整个系统的工作效率不高,资源利用率低下;内存0ab操作系统使用区空闲区ca界限寄存器.实行静态重定位,不能阻止用户有意无意地通过不恰当的指令闯入操作系统所占用的存储区域。.在单一分区存储管理中,为有效阻止用户程序指令中的地址闯入操作系统所占用的区域,
17、在CPU中会设置一个用于存储保护的专用寄存器“界限寄存器”,如图所示。.界限寄存器中,总是存放内存用户区的起始地址。CPU在核心态下工作时,允许访问内存中的任何地址;CPU在用户态下工作时,对内存的每一次访问,都要在硬件的控制下,与界限寄存器中的内容进行比较。一旦发现所访问的地址小于界限寄存器中的地址,产生“地址越界”中断,阻止这次访问的进行,从而将作业限制在规定的存储区域内运行,确保操作系统中的信息不受外来的破坏。单一分区存储管理的缺点.(1)(2)只要作业比用户区小,那么在用户区里就会形成碎片,如果用户作业很小,那么这种浪费是巨大的;(3)若用户作业的相对地址空间比用户区大,那么该作业就无
18、法投入运行,因为大作业无法在小内存上运行。LOGO17存储管理第三章正文3.2 固定分区存储管理 “覆盖”是早期提供的扩充内存的技术,它允许一个作业的若干个程序段使用同一存储区,被共用的存储区称为“覆盖区”。程序段存放在磁盘上,需要时由操作系统完成对它们的调入或调出。覆盖技术覆盖技术 2.MAIN 10KBA 50KBB 30KBC 30KBD 20KBE 40KB链接编辑MAIN 10KBA 50KBB 30KBC 30KBD 20KBE 40KB0180KB(a)(b)(c)10KB50KB40KBMAINA或BC或D或E.比如,用户作业程序的调用结构如图(a)所示。.通过连接装配的处理,
19、该作业将形成一个需要存储量180KB的相对地址空间,如图(b)所示。.程序中的子程序A和B不可能同时调用,子程序C、D和E也不能同时出现。除主程序必须用内存中的10KB外,A和B可共用存储量为50KB的存储区,C、D和E可共用存储量为40KB的存储区,如图(c)所示。LOGO18存储管理第三章正文3.2 固定分区存储管理对换技术对换技术 “对换”的思想是:将作业信息都存放在辅助存储器上,根据单一分区存储管理的分配策略,每次只让其中的一个进入内存投入运行。当运行中提出输入/输出请求或分配给的时间片用完时,就把它从内存“换出”到辅存,把辅存里的另一个作业“换入”内存运行,产生出“多道”的效果。3.
20、作业1作业2作业3辅助存储器内存储器操作系统用户区换出换入LOGO19存储管理第三章正文3.2 固定分区存储管理3.2.4 固定分区存储管理固定分区存储管理1.基本思想基本思想 所谓“固定分区固定分区”存储管理,是指预先把内存的用户区划分成若干个连续的分区,它们的尺寸可以相同,也可以不同。划分后,内存中分区的个数以及每个分区的尺寸保持不变。每个分区里只允许装入一个作业运行。2.对作业的组织对作业的组织LOGO20存储管理第三章正文3.2 固定分区存储管理操作系统0100KB200KB400KB700KB800KB第1分区第2分区第3分区第4分区多个队列操作系统第1分区第2分区第3分区第4分区单
21、个队列(a)(b)系统可以为每个分区设置一个后备作业队列,形成多队列的管理方式,如图(a)所示;也可采用多个分区只设置一个后备作业队列的办法,如图(b)所示。.为管理内存中的各分区,操作系统设置一张名为“分区分配表”的表格,它随时记录各分区的信息及当前的使用情况。.分区分配表中至少应该有每个分区的起始地址、长度,以及一个使用标志。当某分区的使用标志为“0”时,表示该分区当前是空闲的,可以分配;当某分区的使用标志不为“0”时,表示该分区已经分配给了一个作业使用,里面存放的是这个作业的名称。LOGO21存储管理第三章正文3.2 固定分区存储管理作业尺寸比任何一个分区的长度都大时,就无法运行。.3.
22、分区的分配与释放分区的分配与释放.分区空闲时,若它的队列非空,就把该分区分配给队列的第一个作业使用;作业运行完毕,收回该分区,进行下一次分配。每个分区设置一个后备作业队列 多个分区只设置一个后备作业队列 在任何一个分区释放时,就根据分配方案从该队列里挑选一个作业装入运行。4.地址重定位与存储保护地址重定位与存储保护 在固定分区存储管理中,实行静态重定位实行静态重定位。.在固定分区存储管理中,要防止用户程序对操作系统的侵扰,也要防止用户程序间的侵扰。因此设置一对专用寄存器:“低界限寄存器低界限寄存器”和和“高界高界限寄存器限寄存器”,用于存储保护。地址重定位存储保护0abcdab作业1作业2作业
23、3第1分区第2分区第3分区操作系统低界限寄存器高界限寄存器CPU5.固定分区存储管理的特点与缺点固定分区存储管理的特点与缺点.是最简单的、具有“多道”色彩的存储管理方案。.作业程序一次性全部装入分配给它的连续分区。.实行的是静态重定位。.会产生内部碎片,引起内存资源的浪费。LOGO22存储管理第三章正文3.3 可变分区存储管理 3.3.1可变分区存储管理的基本思想可变分区存储管理的基本思想 可变分区存储管理的基本思想是:作业要求装入内存时,若内存有足够的连续存储空间供使用,那就依作业相对地址空间的大小,划分出一个分区分配给它。.作业C10KB作业B20KB作业A15KB内存操作系统空闲区(a)
24、内存操作系统空闲区作业A15KB内存操作系统空闲区作业A15KB作业B20KB内存操作系统空闲区作业A15KB作业B20KB作业C10KB(b)(c)(d)(e)图(a)表明后备作业队列里,作业A需要内存15KB,作业B需要20KB,作业C需要10KB,等等。.图(b)表示系统初启时的情形,整个系统里没有作业运行,用户区空闲。.图(c)表示作业A装入内存时,为它划分了尺寸为15KB的分区。用户区被分成两个分区,一个是已分配的,一个是空闲区。.图(d)表示作业B装入内存时,为它划分了尺寸为20KB的分区,此时的用户区被分成了三个分区;.图(e)表示作业C装入内存时,为它划分了一个尺寸为10KB的
25、分区,此时的用户区被分成了四个分区。LOGO23存储管理第三章正文3.3 可变分区存储管理 随着作业对存储区域的不断申请与释放,发展趋势是:分区的数目会逐渐增加,有的分区尺寸在逐渐减小,甚至有可能出现内存里有空闲区、但每个都满足不了作业程序的要求而无法分配出去的情形。在存储管理中,把那些无法满足作业存储请求的空闲区称为“外部碎片”。.可变分区存储管理模式引发了许多新的问题。只有解决这些问题,可变分区存储管理才能付之以实现。内存操作系统空闲区236(a)020256内存操作系统空闲区220(b)020256作业A16作业B100内存操作系统空闲区120(c)020作业A16256作业C70361
展开阅读全文