操作系统第6章.ppt
- 文档编号:1724667
- 上传时间:2022-10-23
- 格式:PPT
- 页数:163
- 大小:1.99MB
操作系统第6章.ppt
《操作系统第6章.ppt》由会员分享,可在线阅读,更多相关《操作系统第6章.ppt(163页珍藏版)》请在冰豆网上搜索。
第6章存储管理,本章8学时,第6章主要教学内容,6.1存储管理的基本概念6.2单道程序环境下的存储管理6.3分区存储管理6.4分页存储管理6.5分段存储管理6.6段页式存储管理6.7虚拟存储器的实现,6.1存储管理的基本概念,6.1.1存储管理的对象和目标6.1.2存储管理的基本功能6.1.3存储分配方式6.1.4地址重定位6.1.5覆盖与交换技术,6.1.1存储管理的对象,主存储器的空间按用途分成两部分:
系统区:
用来存放操作系统与硬件的接口信息(例如:
新旧PSW、定时时间、外设的工作情况等)、操作系统的管理信息(例如:
进程的PCB等)和程序、标准子程序等。
用户区:
用来存放用户的程序和数据。
操作系统存储管理的主要对象是:
主存空间的用户区。
6.1.1存储管理的目标,存储管理的目标有两个:
一是提高主存空间的利用率,支持多道程序设计;二是尽可能方便用户使用主存,使用户不必考虑作业在主存的存放位置和作业的大小是否受到存储空间的限制。
6.1.2存储管理的基本功能,存储管理的基本功能有以下四个方面:
1.主存空间的分配和回收2.实现地址转换3.主存空间的共享和保护4.主存空间的扩充。
1.主存空间的分配和回收,重点是研究各种主存空间的分配方案、实现原理、方法以及主存空间的分配和回收算法。
因此,操作系统存储分配管理机制应能完成以下工作:
(1)记住每个存储区域的状态。
保存每个存储区域的状态信息的数据结构称为存储分配记录表。
(2)实施存储分配。
当系统程序或用户提出使用主存申请时,能给予分配并修改相应的存储分配记录表。
(3)收回系统或用户释放的存储空间,并修改相应的存储分配记录表。
2.实现地址转换,用户编程使用的是逻辑地址,计算机主存的地址是物理地址,程序只有装入主存,计算机才能执行。
由于用户程序的逻辑地址与装入主存的物理地址不一致,因此存储管理机制必须提供地址转换功能。
一般地,实现地址转换有静态方式和动态方式。
各种存储管理方案所采用的地址变换机构有所不同。
3.主存空间的共享和保护,在多道程序设计的系统中,主存中允许同时装入多个作业,这些作业在执行时可能要调用共同的程序(例如:
编译程序、公共子程序等)。
因此,它们不但共享一个主存,而且共享主存中的某个存储区域。
为了防止各作业相互干扰和保护某个区域内的信息不被破坏,必须实现存储保护。
对主存区域的保护可采用如下措施:
(1)程序执行时访问属于自己主存区域中的信息,则允许它既可读,又可写。
(2)对共享区域中的信息只可读、不可写。
(3)程序执行时,不允许访问其他程序的主存区域。
既对于非共享区域或非自己的主存区域中的信息既不可读,也不可写。
4.主存空间的扩充,为了方便用户对主存的使用,操作系统存储管理会尽量扩充主存的容量,使用户作业的大小不受主存实际容量的限制。
扩充主存的方法有:
虚拟存储技术覆盖技术交换技术,6.1.3存储分配方式(3种),1.直接分配方式直接存储分配方式是指程序员在编写程序或编译源程序时采用内存物理地址。
采用这种存储分配方式,必须事先指定作业使用的主存空间,因此主存空间的利用率不高,对用户也不方便。
2.静态分配方式,静态存储分配方式是指存储分配是在作业装入主存时才确定它们在主存的位置,并且作业一旦装入主存就不能移动位置。
采用这种存储分配方式,一个作业装入主存时必须分配其所要求的全部主存空间。
3.动态分配方式,动态存储分配方式是指作业在主存中的位置也是在作业装入主存时确定的,但在作业执行过程中可以根据需要动态申请附加的主存空间和释放已占用的主存空间,并且装入主存的作业还允许移动位置,6.1.4地址重定位,在多道程序环境下,主存的用户区会被多个进程共享,并有可能采用交换技术将作业信息换进或换出主存。
通常一个作业在装入时分配到的存储空间和它的地址空间是不一致的,因此有必要将用户程序中的逻辑地址转换成主存的物理地址。
这种地址转换过程称为“重定位”。
地址重定位有两种方式:
静态重定位和动态重定位,1.物理地址与逻辑地址(或绝对地址与相对地址),
(1)物理地址和存储空间主存储器是以字节为基本的存储单位,每个字节都有一个地址与其对应。
这些地址称为“物理地址”或“绝对地址”。
由物理地址对应的主存空间也相应地称为“物理地址空间”,或简称“存储空间”。
即物理地址的集合构成存储空间。
(2)逻辑地址和地址空间,用户的源程序经编译后,通常会形成从0开始编址的目标程序,若干个目标程序连接后形成可装入程序,可装入程序中的的地址都是相对于起始地址0计算的。
换句话说,用户可认为自己的程序和数据存放在一组从“0”地址开始的连续空间中。
我们把用户程序中使用的地址称为“逻辑地址”或“相对地址”。
由逻辑地址对应的存储空间称为“逻辑地址空间”或简称“地址空间”。
即逻辑地址的集合构成地址空间。
2.重定位(或地址转换)技术,在多道程序环境下,主存的用户区会被多个进程共享,并有可能采用交换技术将作业信息换进或换出主存。
通常一个作业在装入时分配到的存储空间和它的地址空间是不一致的,因此有必要将用户程序中的逻辑地址转换成主存的物理地址。
这种地址转换过程称为“重定位”。
地址重定位有两种:
静态重定位方式和动态重定位方式。
(1)静态地址重定位,所谓静态地址重定位是指地址转换工作是在程序装入主存时由装配程序完成的。
装配程序根据将要装入主存的起始地址,对程序模块中有关的地址部分进行调整和修改。
即静态地址重定位是在程序执行之前完成地址转换。
(物理地址=逻辑地址+程序在主存的起始地址),静态地址重定位的评价:
静态地址重定位的优点:
无需硬件支持,容易实现。
静态地址重定位的缺点:
程序一旦装入主存后不能移动。
程序在主存空间只能连续存储。
程序和数据很难被若干个用户作业所共享。
(2)动态地址重定位,所谓动态地址重定位是指地址转换工作是在程序执行期间由硬件地址变换机构动态实现地址转换的。
采用动态地址重定位,程序模块直接装入主存而不做任何修改,在程序执行过程中,每当CPU访问主存单元时才需要硬件地址变换机构实现逻辑地址到物理地址的转换。
最简单的硬件地址变换机构是一个重定位寄存器。
(物理地址=逻辑地址+重定位寄存器的内容),动态地址重定位的评价:
动态地址重定位的优点:
用户作业不必存放在连续的主存区域中,可以放在不同的区域。
已经存放在主存中的程序还可以在主存移动,有利于主存的充分利用。
若干个用户作业可以共享主存中的同一段程序或数据。
动态地址重定位的缺点:
需要附加的硬件支持,实行存储管理的软件算法也比较复杂。
6.1.5覆盖与交换技术,1.覆盖(Overlay)技术所谓“覆盖”就是一个作业的若干个程序段、或几个作业的某些部分共享同一个主存区域。
2.交换(Swapping)技术所谓交换就是把主存中暂时不用的信息以文件形式写入辅存,接着将指定的信息从辅存读入主存,并将控制转给它。
覆盖技术的评价,覆盖技术的优点:
提高了主存的利用率,实现了主存的逻辑扩充。
覆盖技术的缺点:
需要用户建立覆盖结构;各作业占用的分区仍存在碎片。
没能有效的利用辅存资源。
交换技术,交换技术也叫对换或滚进滚出(roll-in,roll-out)。
实际上,交换技术是通过在主存和辅存之间不断地交换程序和数据信息,以实现用户在较小的存储空间中完成较多作业的执行。
交换由换入和换出两个过程组成。
而换出或换入的信息在主存中的地址(基址)、长度和在辅存的地址、长度均需通过通信方式发给设备管理系统。
交换技术可以克服覆盖技术的不足。
6.2单道程序环境下的存储管理,6.2.1单一连续存储管理方案6.2.2单一连续存储管理的分配与回收6.2.3单一连续存储管理的地址变换6.2.4单一连续存储管理的存储保护6.2.5单一连续存储管理方案的评价,6.2.1单一连续存储管理方案,早期的计算机(特别是微机)中没有采用多道程序设计技术,每次只有一个用户使用计算机并全部占有所有资源。
在单道程序环境下,主存分配一般采用单一连续存储管理方式(又称一个分区的存储管理)。
在这种存储管理方式中,除操作系统占用一部分主存空间外,其余的用户区只允许装入一个作业。
所以,主存被分成三个区域:
系统区、用户作业区和空白区。
如图6.5所示。
图6.5单用户连续存储管理,6.2.2单一连续存储管理的分配与回收,单一连续存储管理采用静态存储分配方式,即用户作业一旦装入主存后,必须等到该作业完成以后,才能释放主存空间。
单一连续存储管理的主存分配与回收流程图如图6.6所示。
图6.6,6.2.3单一连续存储管理的地址变换,单一连续存储管理的地址变换一般采用静态重定位方式。
单一连续存储管理的动态地址变换如图6.7所示:
6.2.4单一连续存储管理的存储保护,为了实现存储保护,设置一个界限存储器并限制用户程序只能在算态下执行,系统程序则在管态下执行。
6.2.5单一连续存储管理方案的评价,单一连续存储管理方案的主要优点是:
方法简单,易于实现,只需很少的软件和硬件支持,便于用户了解和使用。
单一连续存储管理方案的主要缺点是:
仅适用于单道程序设计环境,因而不能使CPU和主存得到充分有效的利用。
6.3分区存储管理,分区存储管理的基本思想:
给进入主存的用户进程划分一块连续存储区域,把进程装入该连续存储区域,使各进程能并发执行,这是能满足多道程序设计需要的最简单的存储管理技术。
6.3分区存储管理,6.3.1固定式分区的存储管理6.3.2可变式分区的存储管理6.3.3浮动式分区的存储管理6.3.4多重式分区的存储管理6.3.5分区存储管理方案的评价,6.3.1固定式分区的存储管理,1.固定式分区存储管理的基本思想2.固定式分区主存空间的分配3.固定式分区的地址转换和存储保护4.固定式分区的评价,1.固定式分区存储管理的基本思想,固定式分区又称为静态分区,是在系统生成时将主存划分为若干个分区,每个分区的大小可以不等,但分区容量和分区数目一旦划分成功后,在系统运行期间是固定不变的,并且每个分区只能容纳一道用户作业。
固定式分区相当于把物理上的一个大主存划分成了若干个逻辑上的小主存。
固定式分区中采用如下几种办法可使主存空间的利用率得到改善:
划分分区时按分区的大小顺序排列;根据作业的大小和频繁程度来划分分区;按照作业对主存空间的需求量排成多个作业队列,规定每个作业队列中的各作业只能依次装入对应的指定分区中。
2.固定式分区主存空间的分配,为了管理主存空间的分配和回收,系统必须设置一张“主存分区信息表”记录各个分区的使用情况。
其内容包含分区号、分区容量、起始地址和状态(是否分配)。
如表6-1所示。
固定式分区存储管理中主存的分配、释放、存储保护和地址变换等都要使用该“主存分区信息表”。
作业装入主存时,采用“顺序分配算法”找到一个可用分区即可;作业执行结束后,只需将所在分区的占用标志置成“0”即可。
(1)管理固定式分区的数据结构:
表6-1,
(2)定式式分区的分配程序流程图,图6.8,3.固定式分区的地址转换和存储保护,图6.9,4.固定式分区的评价,固定式分区的主要优点是解决了多个作业对主存空间的共享问题,支持多道程序设计,并且管理方法简单,容易实现。
固定式分区的主要缺点是由于分区是预先划分的,因此作业的容量不一定正好符合分区的大小,而且无法满足大作业的需求。
6.3.2可变式分区存储管理,1.可变式分区的基本思想2.管理可变式分区的数据结构3.可变式分区的分配算法4.可变式分区的释放和回收5.可变式分区的地址转换与存储保护,1.可变式分区的基本思想,可变式分区也就是动态划分存储器分区的方法,它是在作业装入主存时才建立的分区,并且分区的容量正好满足作业的大小。
系统中分区的数目和分区的容量是动态变化的。
图6.10,2.管理可变式分区的数据结构,可变分区主存分配表由两张表格组成:
未分配区表,已分配区表,4K,10K,46K,52K,128K,操作系统,Job1,空闲区,Job2,空闲区,图6.11,3.可变式分区的分配算法:
(1)分配算法的主要步骤:
在空闲区表中找到一个可用的并且容量不
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统