欢迎来到天天文库
浏览记录
ID:50455738
大小:3.27 MB
页数:95页
时间:2020-03-09
《操作系统原理教程(第二版)教学课件连卫民第3章存储器管理.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章存储器管理3.1存储器管理概述3.2单用户连续存储管理方式3.3固定分区存储管理方式3.4可变分区存储管理方式3.5页式存储管理方式3.6段式存储管理方式3.7段页式存储管理方式3.8虚拟存储管理方式本章结束!3.1存储器管理概述3.1.1存储器管理的主要任务存储器管理的主要任务是为用户作业分配主存空间,提高主存的使用效率,并从逻辑上扩充主存空间,使主存在成本、速度和规模之间获得较好的权衡。第3章存储器管理3.1存储器管理概述3.1.2存储器管理的主要功能1.主存空间的分配和回收主存分配的主要任务是采用一定的数据结构,按照一定的算法为每一道程序分配主存空间,使它们“各得其所
2、”,并记录主存空间的使用情况和作业的分配情况。主存空间的回收是指当一个作业运行结束后,必须归还所占用的主存空间,即在记录主存空间使用情况的数据结构中进行修改,并且把记录作业分配情况的数据结构删除。2.地址转换将用户程序的逻辑地址转换为运行时的物理地址的过程称为地址转换,也称为地址映射(即重定位)。第3章存储器管理3.1存储器管理概述3.1.2存储器管理的主要功能3.主存空间的共享与保护在多道程序设计系统中,同时进入主存执行的作业可能需要调用相同的程序或数据,这就是主存的共享。例如,调用编译程序进行编译,把这个编译程序存放在某个区域中,各作业要调用时就访问这个区域,因此这个区域就是
3、共享的。同样也可以实现公共数据的共享。在实现主存分配与共享时,必须解决主存中信息的保护问题。存储保护的工作一般由硬件和软件配合实现。4.主存空间的扩充提供虚拟存储器的管理功能,使用户编写程序时不必考虑主存的实际容量,使计算机系统有一个比实际主存容量大得多的存储空间。这样就可以运行较多的程序和较大的程序。第3章存储器管理3.1存储器管理概述3.1.3程序的装入与链接1.源程序的执行过程在多道程序环境下,程序要运行必须先将程序和数据装入主存。那么,如何将一个用户源程序变为一个在主存中可执行的程序呢?通常需要经过编译、链接和装入等几个步骤,其控制步骤如图3-1所示。第3章存储器管理3.
4、1存储器管理概述3.1.3程序的装入与链接2.程序的装入将一个装入程序代码装入主存时,可以采用三种方式:(1)绝对装入方式。绝对装入方式是由装入程序根据装入程序代码中的地址将程序和数据装入主存。(2)可重定位方式。可重定位方式是由装入程序根据主存当前的实际使用情况,将装入程序代码装入到主存适当的地方。(3)动态运行时装入方式。绝对装入方式只能将装入程序代码装入到主存中事先指定的位置。第3章存储器管理3.1存储器管理概述3.1.3程序的装入与链接3.程序的链接链接程序的功能是将经过编译或汇编后所得到的一组目标程序以及它们所需要的库函数装配成一个完整的装入程序代码。实现链接的方法有三
5、种:(1)静态链接。(2)装入时动态链接。(3)运行时动态链接。第3章存储器管理3.1存储器管理概述3.1.4存储管理方式对主存的存储管理方式,根据是否把作业全部装入,全部装入后是否装入到一个连续的存储区域,可以分为如图3-3所示的几种管理方式。第3章存储器管理返回3.2单用户连续存储管理方式3.2.1基本原理这是最早出现的一种存储管理方式。在主存中仅驻留一道程序,整个用户区被一用户独占。当用户作业空间大于用户区时,该作业不能装入。这种分配方式仅能用于单用户单任务的操作系统中,不能用于多用户系统和单用户多任务系统中。第3章存储器管理3.2单用户连续存储管理方式3.2.2主存空间的
6、分配与回收1.主存空间的分配采用单用户连续存储管理方式时,主存分为两个分区,即系统区和用户区,如图3-4所示。第3章存储器管理3.2单用户连续存储管理方式3.2.2主存空间的分配与回收1.主存空间的分配(1)系统区是仅提供给操作系统使用的主存区,它可以以驻留在主存的低地址部分,也可以驻留在主存的高地址部分。(2)用户区是指除系统区以外的主存空间,提供给用户使用。在这种管理方式下,主存分配的流程如图3-5所示。第3章存储器管理3.2单用户连续存储管理方式3.2.2主存空间的分配与回收2.主存空间的回收作业一旦进入主存,就要等到它结束后,系统才能回收作业所占用的空间。在这种管理方式下
7、,回收主存空间不需要做任何操作,直接装入第二个作业即可。第3章存储器管理3.2单用户连续存储管理方式3.2.3地址转换与存储保护1.地址转换因为主存所有空间归一个用户作业使用,所以它采用静态分配方式,即在作业被装入主存时,一次性完成地址转换。采用这种管理方式时,处理器设置两个寄存器:界限寄存器和重定位寄存器。界限寄存器用来存放主存用户区的长度,重定位寄存器用来存放用户区的起始址。一般情况下这两个寄存器的内容是不变的,只有当操作系统占有的存储区域改变时才会改变。第3章存储器管理3.
此文档下载收益归作者所有