欢迎来到天天文库
浏览记录
ID:41200693
大小:247.51 KB
页数:30页
时间:2019-08-18
《《操作系统》第4章存储管理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、操作系统原理PrinciplesofOperatingSystem1第4章存储管理存储器是计算机的记忆部件,计算机系统的主要用途是执行程序,在执行程序时,这些程序及其所访问的数据必须在内存里。由于内存通常太小不足以永久地容纳所有数据和程序,因此计算机系统必须提供外存(如硬盘)以扩充内存的技术。在现代计算机系统中,内存是一个关键性的资源。能否合理而有效地使用它,在很大程度上反映了操作系统的性能,并直接影响整个计算机系统作用的发挥。所以,存储管理是目前人们研究操作系统的中心问题之一。本章我们将讨论多种不同存储管理方法24.4.1存储器的层次三级存储器结构高速缓存(cache)—内存
2、(primarystorage)—外存(secondarystorage)34.1.2存储管理的功能1.内存分配和回收内存的利用率与内存分配的技术、方式和策略有直接关系。2.内存保护内存保护就是确保多个进程都在各自分配到内存区域内操作,互不干扰,防止一个进程破坏其他进程的信息。3.内存扩充内存“扩充”包含了存储器利用的提高和扩充两方面的内容。为用户提供比内存物理空间大得多的地址空间。比较典型的内存扩充是虚拟存储器。4.地址映射地址映射就是将进程的逻辑地址变换为内存中的物理地址。我们需要实现从逻辑地址到物理地址的变换,即实现从虚地址到实地址的变换。这种变换就是重定位。4几个重要的
3、概念①逻辑地址逻辑地址就是指令在程序中的地址,源程序经编译(或解释)后编排的地址。逻辑地址也叫相对地址或虚拟地址。②逻辑地址空间逻辑地址空间就是某程序的逻辑地址的集合,逻辑地址空间可简称为地址空间。③物理地址物理地址就是进程中的指令和数据在内存中的地址,指令和数据存放在内存中的内存单元编号。物理地址也叫绝对地址或实地址。④物理地址空间物理地址空间是指进程在内存中一系列存储信息的物理单元的集合。物理地址空间也叫存储空间,存储空间与地址空间既相互关联,又相互独立,是内存管理的核心概念。54.1.4重定位为使程序正确执行。一个程序装入内存,要进行逻辑地址到物理地址的重定位,实现从逻辑
4、地址到物理地址的变换,重定位可分为静态重定位和动态重定位。①静态重定位进程装入内存时,由装入程序对进程中的指令和数据的地址进行修改,将程序中的逻辑地址变换成物理地址。即物理地址=基址+逻辑地址。6优点:简单,无需增加硬件就可以实现。缺点:要求连续的内存存储空间,程序装入内存后就不可移动,且难以做到程序和数据的共享,内存的利用率差。②动态重定位如图4-3所示,进程装入内存时不定位,在指令执行期间CPU每次访问内存时进行重定位,这种定位方法需要硬件的支持,系统中需设置一个地址变换机构。7优点:内存空间的占有量可以改变,容易实现共享。缺点:需硬件支持,成本增加。动态重定位是一种允许进
5、程在执行过程中在内存中移动的技术,必须获得硬件地址变换机构的支持。在多任务操作系统中,多个进程在内存中并发执行,进程的创建与撤消,多个进程之间频繁的上下文切换,其内存分配呈现动态性和随机性。静态重定位仅适应于连续分配,不能满足多任务操作系统动态性和随机性的要求,因此多任务操作系统存储管理适合采用离散分配,必须采用动态重定位。84.2分区式存储管理内存分配方式可分为连续分配方式和离散分配方式,本节将讨论连续分配方式。分区式存储管理是连续分配方式,为一个进程分配一个连续的存储空间。分区式存储管理支持多道程序系统和分时系统,但内存分配存在不可利用的内存空间,即碎片问题。碎片一般可分为
6、内碎片和外碎片。前者是指分区内不可利用的内存空间,后者是指分区之间难以利用的小空闲分区。内碎片和外碎片都可以降低内存的利用率,但外碎片对系统的危害更大。关于碎片问题将在各种内存分配方式中详细讨论。94.2.1单一连续分配单一连续分配内存分配优缺点如下:优点:实现简单,不需要复杂的软、硬件支持。缺点:存在内碎片问题。资源利用率低,由于存储资源利用率低而造成其他资源利用率低(如CPU、外设等),特别是不允许多个进程并发运行,这是不容忽视的缺点。CP/M和DOS2.0以下的版本就是采用此种方式。104.2.2固定分区分配固定分区(fixedpartitioning)也叫静态分区,固定
7、分区存储管理是实现多道程序设计和分时系统的简单存储管理技术。如图4-5所示,固定分区就是预先把内存空间分割成若干个连续区域,我们称为分区。每个分区的大小可以相同也可以不同,但分区大小固定不变,操作系统占用一个分区,其余每个分区只能存储一个进程,而且进程也只能在它所驻留的分区中运行。固定分区的优缺点优点:易于实现,开销小,内存分配和回收算法简单,支持多任务。缺点:存在内碎片问题,造成内存的浪费。分区总数固定,限制了并发执行的进程数目。114.2.3动态分区动态分区分配是根据进程的实际需要动态创
此文档下载收益归作者所有