欢迎来到天天文库
浏览记录
ID:40246351
大小:1019.50 KB
页数:79页
时间:2019-07-29
《操作系统教程 彭德林 第3章 存储管理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、主要内容:存储器是计算机系统的重要资源之一。本章主要从基本原理、地址转换、分配与回收等几方面介绍三种常用存储管理方式的使用,以及虚拟存储器的意义。并且涉及到了覆盖、交换、拼接等常用技术。学习任务:3.1存储管理概述3.2连续分配存储管理3.3离散分配存储管理3.4虚拟存储管理3.5WindowsServer2003存储管理第3章存储管理3.1存储管理概述3.1.1存储管理的任务和功能3.1.1.1存储管理的任务存储管理是操作系统的重要组成部分,它负责计算机系统内存空间的管理。其目的是充分利用内存空间为
2、多道程序并发执行提供存储基础,并尽可能地方便用户使用。3.1.1.2存储管理的功能存储管理应实现如下功能:1.存储分配的功能:2.地址变换的功能:3.“扩充”主存容量的功能:4.存储保护的功能:3.1.2存储管理的方式由于存储管理主要是对内存进行管理,所以根据管理的方式不同可分为:1.连续分配存储管理(1)单一连续分配存储管理(2)固定分区存储管理(3)可变分区存储管理2.离散分配存储管理(1)页式存储管理(2)段式存储管理(3)段页式存储管理3.虚拟存储管理(1)请求分页存储管理(2)请求分段存储管
3、理3.1.3地址重定位3.1.3.1程序的装入程序的运行必须先创建一个进程,创建进程的首要任务是将其所对应的程序和数据装入内存。将一个用户的源程序变为可在内存中执行的程序需要经过:编译、链接、装入等几步。1.编译:编译程序可将用户的源文件编译成若干个目标模块。2.链接:由链接程序将编译后形成的一组目标模块,以及它们所需要的库函数链接在一起,形成完整的装入模块。3.装入:由装入程序将需要装入的模块装入内存中。3.1.3.2存储空间1.逻辑地址(相对地址):.由于用户在编程时无法预知程序会在内存中的位置,
4、所以无法直接使用内存地址,于是用户以0为起点来安排程序指令和数据。每条程序指令要访问的数据都有一个对应的地址,这个地址称为逻辑地址。由于它是相对于0的地址,又称相对地址、虚地址。2.逻辑地址空间(相对地址空间):每一个完整的用户作业都存在着一定的逻辑地址,这些地址形成一个范围,用户程序、数据、工作区都包含在该范围之内,这就是逻辑地址空间。也就是说逻辑地址空间就是逻辑地址的集合。用户可以直接对逻辑地址和逻辑地址空间进行访问和操作。逻辑地址空间又称为相对地址空间、用户空间或作业空间。其大小位于0到逻辑地址
5、最大值之间。3.物理地址(绝对地址):程序(模块)在内存中的实际地址称为物理地址,又称绝对地址、实地址。物理地址从0开始,最大值取决于内存的大小和内存地址寄存器的最大值,二者中较小的那个值为其最大值。4.物理地址空间(绝对地址空间):当作业进入主存时,其占有的内存空间就是物理地址空间,也就是说:当逻辑地址空间被映射到内存时所对应的物理地址的集合就是物理地址空间,也称绝对地址空间。只有当逻辑地址空间存在时,才会有物理地址空间。其最大只能达到内存的大小。当然,还要考虑地址空间寄存器的大小。3.1.3.3地
6、址重定位一个作业在装入时分配到的存储空间和它的地址空间是不一致的。因此,作业在运行时其CPU所要访问的指令、数据的实际地址和地址空间中的地址是不同的。显然,如果在作业执行时不对有关的地址进行对应的修改,将导致错误的结果。这是由于一个作业装入到与其地址空间不一致的存储空间所引起的,关于地址改变的过程称为地址重定位。这是一个变换过程,我们把作业地址空间中使用的逻辑地址变换成主存中物理地址的过程称为地址映射。重定位方法:绝对地址=基址+相对地址注:基址是指令在内存中的起始地址,也叫始址。其通常存于基址寄存器
7、中。根据地址变换进行的时间及采用技术手段的不同,可以把重定位分为静态重定位和动态重定位。1.静态重定位(1)定义:静态重定位是在程序装入内存后运行前将程序中的所有逻辑地址转换为物理地址,在程序运行过程中不再修改。如图3.2所示逻辑地址空间重定位MOV[nn]MOV[nn+n]0nn+MM物理地址空间图3.2静态重定位(2)主要优点:容易实现,无需增加硬件地址变换机构,只要求为每个程序分配一个连续的存储区,由于程序在执行期间不能移动,所以不能共享程序和数据,因而可在一般计算机上实现。(3)主要缺点:①由
8、于要给每个作业分配连续的存储空间,且在作业的整个执行期间不能再移动,因而也就不能实现重新分配主存。不利于主存空间的充分利用。②用户必须事先确定所需的存储量,若所需的存储量超过可用存储空间,用户必须考虑覆盖结构。③用户之间难以共享主存中的同一程序副本。2.动态重定位(1)定义:动态重定位是在程序的运行过程中,当指令需要执行时对将要访问的地址进行修改。修改过程见图3.3(举实例说明)。(2)主要优点:①用户作业不要求分配连续的存储空间。②用户作业在执行过程中
此文档下载收益归作者所有