第7章_存储管理_第1页
第7章_存储管理_第2页
第7章_存储管理_第3页
第7章_存储管理_第4页
第7章_存储管理_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1存储管理存储管理2概述概述n如果让计算机同时运行多道程序,比如:搜索文件、检如果让计算机同时运行多道程序,比如:搜索文件、检查病毒、录入数据以及运行计算程序等,就要把这些可查病毒、录入数据以及运行计算程序等,就要把这些可执行程序放入内存。执行程序放入内存。n若让用户指定各程序安放的具体位置不仅麻烦,而且会若让用户指定各程序安放的具体位置不仅麻烦,而且会出现内存位置冲突、内存利用率低、内存管理混乱等诸出现内存位置冲突、内存利用率低、内存管理混乱等诸多问题。所以,多问题。所以,存储空间必须由操作系统统一安排存储空间必须由操作系统统一安排,这,这就形成了操作系统的内存管理模块。就形成了操作系统的内

2、存管理模块。n操作系统管理存储器要从辅存中取进或换出数据块,但操作系统管理存储器要从辅存中取进或换出数据块,但相对而言,相对而言,存储器存储器I/O是一个很慢的操作是一个很慢的操作。n为保持处理器或多个处理器处于忙状态以保证效率,操为保持处理器或多个处理器处于忙状态以保证效率,操作系统必须很聪明地作系统必须很聪明地安排换入和换出的时机安排换入和换出的时机,以减少存,以减少存储器储器I/O对性能的影响。对性能的影响。3存储器的层次存储器的层次R高速缓存高速缓存主存储器主存储器磁盘缓存磁盘缓存固定磁盘固定磁盘可移动存储介质可移动存储介质某台计算机存储器层次配置某台计算机存储器层次配置1CPU中的寄

3、存器中的寄存器100个字;高个字;高速缓存速缓存512KB,存取周期,存取周期15ns;1主存储器主存储器128MB,存取周期,存取周期60ns;1磁盘容量磁盘容量20GB,存取,存取周期毫秒级;周期毫秒级;1后援存储容量后援存储容量1TB,存取周期秒级。存取周期秒级。4存储管理的功能存储管理的功能n存储管理主要是指对主存储器存储管理主要是指对主存储器(内存内存)的管理,要求操作的管理,要求操作系统的存储管理机构必须解决系统的存储管理机构必须解决u内存分配内存分配。多个进程同时运行,内存空间如何合理分配。多个进程同时运行,内存空间如何合理分配,决定决定了内存是否能得到充分利用;了内存是否能得到

4、充分利用;u存储保护存储保护。运行时必须保证多个进程之间不能冲突、干扰和。运行时必须保证多个进程之间不能冲突、干扰和破坏;破坏;u地址变换地址变换。程序是在连续区域中,还是划分成若干块放在不。程序是在连续区域中,还是划分成若干块放在不同区域中?是事先还是动态划分?多种存储分配方案与软件同区域中?是事先还是动态划分?多种存储分配方案与软件和硬件的地址变换技术及其机制紧密相关;和硬件的地址变换技术及其机制紧密相关;u存储共享存储共享。多个进程共用同一系统软件,如编译程序,存放。多个进程共用同一系统软件,如编译程序,存放编译程序的内存区即为共享内存区;编译程序的内存区即为共享内存区;u存储扩充存储扩

5、充。即虚拟存储管理技术。即虚拟存储管理技术。5内存分配与回收内存分配与回收n管理内存分配表管理内存分配表n制定分配策略制定分配策略u放置策略u调入策略u淘汰策略n内存区域划分内存区域划分u划分为大小相等的块u划分为大小不等的块n回收回收6主存空间的共享主存空间的共享n 两方面的含义:两方面的含义:u共享主存资源;u共享主存的某些区域的信息。存储保护存储保护1属于自己区域的信息,可读可写;属于自己区域的信息,可读可写;1公共区域共享信息或获得授权信息,可读不可写;公共区域共享信息或获得授权信息,可读不可写;1未获授权信息,不可读不可写。未获授权信息,不可读不可写。7地址映射地址映射(重定位重定位

6、)n地址空间地址空间u一个目标程序所限定的一个目标程序所限定的相对地址相对地址范围。范围。n存储空间存储空间u主存的实际空间,是主存中一系列物理存储单元的集合。主存的实际空间,是主存中一系列物理存储单元的集合。n虚空间虚空间u采用以零为基准地址的相对地址采用以零为基准地址的相对地址/逻辑地址逻辑地址u此时的空间称为虚空间此时的空间称为虚空间n绝对地址空间绝对地址空间u物理地址空间,是真实地址空间物理地址空间,是真实地址空间n重定位重定位u把逻辑地址转换成绝对地址的过程称为重定位或地址转换。把逻辑地址转换成绝对地址的过程称为重定位或地址转换。n重定位的方式重定位的方式u静态定位、动态定位静态定位

7、、动态定位8典型的地址空间示意图典型的地址空间示意图一个进程的寻址要求一个进程的寻址要求进程控制块进程控制块程序程序数据数据栈栈进程控制信息进程控制信息程序的入口点程序的入口点分支指令分支指令访问数据访问数据当前栈顶当前栈顶地址值增加地址值增加9典型的地址空间示意图典型的地址空间示意图n该图描述了一个进程映像该图描述了一个进程映像u假设这个进程映像占据了主存中的一段相邻的区域;假设这个进程映像占据了主存中的一段相邻的区域;u操作系统需要知道进程控制信息和执行栈,以及为这个进程操作系统需要知道进程控制信息和执行栈,以及为这个进程开始执行程序的入口点的位置;开始执行程序的入口点的位置;u由于操作系

8、统管理存储器并负责把该进程取进主存,因而可由于操作系统管理存储器并负责把该进程取进主存,因而可以很容易地得到这些地址。此外,处理器必须处理程序内部以很容易地得到这些地址。此外,处理器必须处理程序内部的存储器访问;的存储器访问;u分支指令包含下一步将要执行的指令的地址,数据访问指令分支指令包含下一步将要执行的指令的地址,数据访问指令包含被访问数据的字节或字的地址。包含被访问数据的字节或字的地址。n处理器硬件和操作系统软件必须能够处理器硬件和操作系统软件必须能够把程序代码中的存把程序代码中的存储器访问转换成实际的物理存储器地址储器访问转换成实际的物理存储器地址,以反映出程序,以反映出程序在主存中的

9、当前位置。在主存中的当前位置。10重定位示例重定位示例进程控制块进程控制块程序程序数据数据栈栈基址寄存器基址寄存器界限寄存器界限寄存器比较器比较器加法器加法器给操作系统的中断给操作系统的中断相对地址相对地址绝对地址绝对地址主存中的进程映像主存中的进程映像11静态重定位静态重定位n程序在被装入到内存的过程中实现重定位,在程程序在被装入到内存的过程中实现重定位,在程序序运行过程中不再改变运行过程中不再改变。n例:例:0逻辑地址空间LOAD 1,500256100500600装入装入程序程序主存02561000110015001600nLOAD 1,50012动态重定位动态重定位n程序程序执行过程中

10、执行过程中进行重定位进行重定位n依靠硬件地址转换机构完成依靠硬件地址转换机构完成0逻辑地址空间LOAD 1,5001 2 3 4 5100500600主存11001500LOAD 1,5001 2 3 4 55001000逻辑地址逻辑地址重定位寄存器重定位寄存器13主存空间的扩充主存空间的扩充n目的:解决小内存运行大作业的问题。目的:解决小内存运行大作业的问题。n借助于虚拟存储技术或其它自动覆盖技术实现。借助于虚拟存储技术或其它自动覆盖技术实现。14存储管理技术存储管理技术15n分区式分配分区式分配u固定分区固定分区/静态分区静态分区u可变分区可变分区/动态分区动态分区n可重定位分区分配可重定

11、位分区分配n覆盖与交换覆盖与交换16分区式分配分区式分配n把内存划分为若干个大小不等或相等的连续区域,把内存划分为若干个大小不等或相等的连续区域,称为称为分区分区(partition),操作系统占用其中一个,操作系统占用其中一个分区,其它每个分区装入一个运行作业。分区,其它每个分区装入一个运行作业。n特点:适用于多道程序系统和分时系统特点:适用于多道程序系统和分时系统u支持多个程序并发执行支持多个程序并发执行u难以进行内存分区的共享难以进行内存分区的共享n问题:可能存在问题:可能存在碎片碎片(Fragmentation)n分区的数据结构分区的数据结构:分区表分区表(记录分区的大小和使用记录分区

12、的大小和使用情况情况),划分为两个表格:空闲分区表,占用分,划分为两个表格:空闲分区表,占用分区表。区表。17分区式分配分区式分配n分类:分类:u固定式分区固定式分区u可变式分区可变式分区18固定式分区固定式分区n处理作业前把内存处理作业前把内存划分为若干固定的分区划分为若干固定的分区,当作,当作业申请内存资源时为其业申请内存资源时为其选择一个适当的分区选择一个适当的分区,并,并将其装入内存运行。将其装入内存运行。n分区表分区表区号区号分区长度分区长度起始地址起始地址状态状态18K20K已分配已分配232K28K已分配已分配364K60K已分配已分配4132K124K已分配已分配19固定式分区

13、固定式分区优点:易于实现,开销小。优点:易于实现,开销小。缺点:缺点:u内碎片造成浪费内碎片造成浪费u分区总数固定,限制了并发分区总数固定,限制了并发执行的程序数目。执行的程序数目。可以和覆盖、交换技术配合可以和覆盖、交换技术配合使用。使用。采用的数据结构:分区表采用的数据结构:分区表操作系统进程A(6K)进程B(25K)进程C(36K)第1分区第2分区第3分区第4分区020K28K60K124K256K20可变分区可变分区/动态分区动态分区n在处理作业的过程中建立分区,使分区大小和作在处理作业的过程中建立分区,使分区大小和作业要求的存储空间相等。业要求的存储空间相等。n优点:没有内碎片。优点

14、:没有内碎片。n缺点:有外碎片;如果大小不是任意的,也可能缺点:有外碎片;如果大小不是任意的,也可能出现内碎片。出现内碎片。n可变分区主存分配表可由两张表格组成可变分区主存分配表可由两张表格组成u已分配分区表已分配分区表u未分配分区表未分配分区表21可变分区可变分区/动态分区动态分区jobA 15KjobB 20KjobC 10KjobD 25KjobE 14KjobF 31KjobA 15KOS空闲区jobA 15KOSjobB 20K空闲区jobA 15KOSjobB 20KjobC 10K空闲区jobA 15KOSjobB 20KjobC 10KjobD 25K空闲区jobB、C结束,结

15、束,jobF装入装入jobA结束,结束,jobE装入装入22可变分区内存分配表可变分区内存分配表已分配分区表已分配分区表未分配分区表未分配分区表序号序号大小大小起始地址起始地址状态状态序号序号 大小大小 起始地址起始地址状态状态18K20K已分配已分配164K44K可用可用216K28K已分配已分配224K232K可用可用3空表目空表目4124K108K已分配已分配5空表目空表目23动态分配的主要步骤动态分配的主要步骤n查找一个足够容纳作业的可用空闲区;查找一个足够容纳作业的可用空闲区;n若该空闲区比需要的大,则一分为二,并修改若该空闲区比需要的大,则一分为二,并修改分配表信息;分配表信息;n

16、回收时合并相邻空闲区。回收时合并相邻空闲区。n解决解决“外零头外零头”方法:方法: “拼接拼接”或或“紧凑紧凑”技技术术24可重定位分区分配可重定位分区分配n可变分区中当作业完成时,将回收的分区与未使可变分区中当作业完成时,将回收的分区与未使用的空白区合并组成更大的空白区,叫做用的空白区合并组成更大的空白区,叫做“拼接拼接”或或“紧凑紧凑”n可变分区中剩余的作业分散在内存中,即使可变分区中剩余的作业分散在内存中,即使拼接拼接后,内存中仍有一些因不连续而不能被充分利用后,内存中仍有一些因不连续而不能被充分利用的空白区。的空白区。n采用重定位技术,将作业从一个分区移到另一个采用重定位技术,将作业从

17、一个分区移到另一个分区,将不相邻的空白区进行合并。分区,将不相邻的空白区进行合并。n作业从一个分区移到另一个分区,实质上只要作业从一个分区移到另一个分区,实质上只要修修改重定位机制中基址寄存器的值改重定位机制中基址寄存器的值。25可重定位分区分配可重定位分区分配操作系统操作系统作业作业1(10KB)8KB空白区空白区作业作业222KB空白区空白区不连续空白区不连续空白区操作系统操作系统18KB空白区空白区作业作业222KB空白区空白区作业作业1完成后完成后拼接拼接操作系统操作系统40KB空白区空白区作业作业2作业作业2重定位重定位26覆盖与交换技术覆盖与交换技术n覆盖覆盖(overlay)n交

18、换交换(swapping)27覆盖覆盖(overlay)n所谓覆盖,是指一个作业中的若干程序段或数据所谓覆盖,是指一个作业中的若干程序段或数据段之间,或段之间,或n个作业的某些部分共享某部分的主个作业的某些部分共享某部分的主存空间。存空间。n原理:原理:一个程序的几个代码段或数据段,一个程序的几个代码段或数据段,按照时按照时间先后间先后来占用公共的内存空间。来占用公共的内存空间。u将程序的必要部分(常用功能)的代码和数据常驻将程序的必要部分(常用功能)的代码和数据常驻内存;内存;u可选部分可选部分(不常用功能不常用功能)在其他程序模块中实现,平在其他程序模块中实现,平时存放在外存中时存放在外存

19、中(覆盖文件覆盖文件),在需要用到时才装入到,在需要用到时才装入到内存;内存;u不存在调用关系的模块不必同时装入到内存,从而不存在调用关系的模块不必同时装入到内存,从而可以相互覆盖。可以相互覆盖。(即不同时用的模块可共用一个分区即不同时用的模块可共用一个分区)28覆盖覆盖(overlay)初始段处理段输出段总控程序公用子程序公用数据区OS非覆盖区覆盖区0abc29交换技术交换技术(swapping)n引入:多个程序并发执行,可以将暂时不能执行的程序引入:多个程序并发执行,可以将暂时不能执行的程序送到外存中,从而获得空闲内存空间来装入新程序,或送到外存中,从而获得空闲内存空间来装入新程序,或读入

20、保存在外存中而目前到达就绪状态的进程。交换单读入保存在外存中而目前到达就绪状态的进程。交换单位为整个进程的地址空间。位为整个进程的地址空间。n交换交换:就是把主存中的信息以文件的形式写入辅存,然就是把主存中的信息以文件的形式写入辅存,然后再将指定的信息从辅存读入到主存。简言之,就是后再将指定的信息从辅存读入到主存。简言之,就是内、内、外存之间信息的交换外存之间信息的交换。常与分区存储管理配合使用。又。常与分区存储管理配合使用。又称作称作“对换对换”或或“滚进滚进/滚出滚出(roll-in/roll-out)”。30交换技术交换技术(swapping)n优点:增加并发运行的程序数目,并且给用户提

21、优点:增加并发运行的程序数目,并且给用户提供适当的响应时间;编写程序时不影响程序结构供适当的响应时间;编写程序时不影响程序结构n缺点:对换入和换出的控制增加处理机开销;程缺点:对换入和换出的控制增加处理机开销;程序整个地址空间都进行传送,没有考虑执行过程序整个地址空间都进行传送,没有考虑执行过程中地址访问的统计特性。中地址访问的统计特性。31分页存储管理分页存储管理32虚拟存储器虚拟存储器n从逻辑上对内存容量进行扩充。从逻辑上对内存容量进行扩充。n基本思想:基本思想:利用大容量的外存来扩充内存。利用大容量的外存来扩充内存。n利用外存自动调度的方法构成一个大空间的存储利用外存自动调度的方法构成一

22、个大空间的存储器。器。n实现原理:实现原理:部分装入、部分交换部分装入、部分交换n说明说明u虚拟存储器的最大容量由计算机的地址总线确定;虚拟存储器的最大容量由计算机的地址总线确定;u实现虚拟存储器必须有相当容量的外存和动态地实现虚拟存储器必须有相当容量的外存和动态地址变换机构;址变换机构;u以时间换空间。以时间换空间。33分页的概念分页的概念n页式存储管理,就是把内存物理空间分成大小相页式存储管理,就是把内存物理空间分成大小相等的存储块,与之对应,把作业的逻辑空间按照等的存储块,与之对应,把作业的逻辑空间按照同样的尺寸划分成若干页。同样的尺寸划分成若干页。n将程序的逻辑地址空间和物理内存划分为

23、固定大将程序的逻辑地址空间和物理内存划分为固定大小的页或页面小的页或页面(page or page frame),程序加,程序加载时,分配其所需的所有页,这些页不必连续。载时,分配其所需的所有页,这些页不必连续。需要需要CPU的硬件支持。的硬件支持。34分页的概念分页的概念n实现方法:采用动态重定位技术利用实现方法:采用动态重定位技术利用页表页表(Page Table)进行地址变换。进行地址变换。n基本思想:部分装入、部分交换基本思想:部分装入、部分交换n优点:优点:u没有外碎片,每个内碎片不超过页大小。没有外碎片,每个内碎片不超过页大小。u一个程序不必连续存放。一个程序不必连续存放。u便于改

24、变程序占用空间的大小。即随着程序运行而便于改变程序占用空间的大小。即随着程序运行而动态生成的数据增多,地址空间可相应增长。动态生成的数据增多,地址空间可相应增长。n缺点:程序全部装入内存。缺点:程序全部装入内存。35页的大小页的大小n通常是:通常是: 512B4KB。u小小内碎片小;大内碎片小;大页表短,管理开销小,交换页表短,管理开销小,交换时对外存时对外存I/O效率高。效率高。相对页号P页内地址D作业逻辑地址存储块号页内地址存储块号页内地址物理地址物理地址块号块内地址物理地址物理地址与逻辑地址物理地址与逻辑地址36页面地址转换的数据结构页面地址转换的数据结构(1)n存储分块表存储分块表MB

25、T:块号、作业号、状态:块号、作业号、状态块号块号作业号作业号状态状态0os忙忙1J1忙忙2J2忙忙nJk闲闲37页面地址转换的数据结构页面地址转换的数据结构(2)n页表页表PT:每个进程有一个页表,描述该进程占:每个进程有一个页表,描述该进程占用的用的物理页面物理页面及及逻辑页面逻辑页面排列顺序;排列顺序;n页表的作用:实现页号和块号的对应页表的作用:实现页号和块号的对应P184n说明:说明:u页表在作业装入时建立,作业撤消时消失;页表在作业装入时建立,作业撤消时消失;u其在内存中的位置由页表的起始地址和页表大小所其在内存中的位置由页表的起始地址和页表大小所定定(页表的两个关键参数:页表始址

26、和页表长度被装页表的两个关键参数:页表始址和页表长度被装入页表控制寄存器入页表控制寄存器PTCR) 。38页面地址转换的数据结构页面地址转换的数据结构(3)n作业表作业表JT:记录作业的页表在内存的起始地址、:记录作业的页表在内存的起始地址、大小、状态等信息。大小、状态等信息。作业号作业号作业大小作业大小页面始址页面始址状态状态J11610241J21839页式管理的地址变换页式管理的地址变换作业号 作业大小 页面始址 状态J11610241JT页表始址1024页表长度页号 块号02132810248452页号 页内地址 作业调度作业调度 越界中断越界中断 查查PT 形成物理地址形成物理地址8

27、10244528644 40页式管理的地址变换页式管理的地址变换n地址转换机构把地址转换机构把CPU给出的有效地址自动给出的有效地址自动分成两部分。分成两部分。n例如:例如:u执行指令:执行指令: LOAD 1,2500u有效地址有效地址2500=21024+452,因此,因此 页号页号P2,页内地址,页内地址D452。 (假设页面大小为(假设页面大小为1024)41页式管理的地址变换页式管理的地址变换n例:在一个页式存储管理系统中,页表内容如下,例:在一个页式存储管理系统中,页表内容如下,若页的大小为若页的大小为4k,则地址转换机构将逻辑地址,则地址转换机构将逻辑地址0转换成的物理地址是多少

28、?转换成的物理地址是多少?解:分解逻辑地址解:分解逻辑地址0=04k+0 故页号为故页号为0,查页表得块号为,查页表得块号为2, 所以物理地址为:所以物理地址为: 24k+0=241024+0=8192页号块号021126343742缺页中断缺页中断工作区入内存填写页表中各项进程调度此页不在主存缺页中断保留中断现场有空闲块吗?调入所需虚页调整页表及空闲块恢复被中断进程现场重新启动被中断的指令选择一页淘汰把该页写回外存修改内存分块表,置该块为空闲该页修改过?有无是否43快表快表n为缩短查找时间,可以将页表从内存装入到关联为缩短查找时间,可以将页表从内存装入到关联存储器存储器(TLB, Trans

29、lation Lookaside Buffer),也称为快表。也称为快表。n用来存放当前访问最频繁的少数活动页的页号。用来存放当前访问最频繁的少数活动页的页号。44快表地址变换过程快表地址变换过程JT页表始址 页表长度页号 块号0213288452页号 页内地址输入寄存器2 8 获取始址及大小获取始址及大小页表始址寄存器页表始址寄存器 越界中断越界中断查找快表查找快表 45页式存储管理的特点页式存储管理的特点n虚拟存储管理方式虚拟存储管理方式(请求分页存储管理技术请求分页存储管理技术)n主要特点如下:主要特点如下:u1)存储效率高)存储效率高动态分配,无碎片动态分配,无碎片u2)存储保护功能强)存储保护功能强越界检查越界检查u3)方便的重定位)方便的重定位u4)易于共享页面)易于共享页面u5)开销较大)开销较大u6)有)有“抖动抖动”现象现象46段式存储管理段式存储管理47基本思想基本思想n页式管理是把内存视为一维线性空间;而段式管页式管理是把内存视为一维线性空间;而段式管理是把内存视为理是把内存视为二维空间二维空间。n将程序的地址空间划分为若干个段将程序

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论