华东石油大学计算机考研操作系统第四章1.ppt
文本预览下载声明
4.1 程序的装入和链接 一. 存储器的层次结构 目前,计算机系统均采用分层结构的存储子系统,以便在容量大小、速度快慢、价格高低诸因素中取得平衡点,获得较好的性能价格比。 存储器的层次结构 计算机系统的存储器 可分为右图所示的层次结构 寄存器、高速缓存、主存储器和磁盘缓存均属于操作系统存储管理的管辖范畴 固定磁盘和可移动存储介质属于设备管理的管辖范畴 1、各种存储器 高速缓存Cache: 少量的、非常快速、昂贵、易变的 内存RAM: 若干兆字节、中等速度、中等价格、易变的 磁盘: 数百兆或数千兆字节、低速、价廉、不易变的 磁盘缓存本身并不是一种实际存在的存储介质,它依托于固定磁盘,提供对主存储器存储空间的扩充。 由操作系统协调这些存储器的使用 2、存储管理研究的课题 对象 目的(要求):方便用户、提高主存利用率 单道----存储资源不足考虑用覆盖技术多道 更为突出 ------共享问题 多道共享主存 ------保护问题 用户程序或非常驻系统程序随机、动态地纳入系统 ---地址变换或定位 存储管理的主要研究课题 存储分配 共享及分配算法 地址再定位 地址变换机构、静态或动态再定位方法 存储保护 保护各类程序、数据区的方法 存储扩充 虚拟存储器问题及各种调度算法 二、基本概念 1、从源程序到程序执行 2、重定位 1)地址空间及存储空间 2)地址的重定位 P104 重定位 当一个程序装入到与其地址空间不一致的存储空间时进行的地址变换过程。 即将地址空间中给出的逻辑地址映射成主存的物理地址 如下图,作业i经过重定位,把地址集合映射到以1000为始址的内存中,作为作业i的存储空间。 ● 重定位的类型 1)静态重定位: 当用户程序被装入内存时,由重定位装入程序一次性实现逻辑地址到物理地址的转换 2)动态重定位 作业或程序执行过程中访问指令或数据时由重定位机构进行的重定位 ●动态重定位的实现方式 重定位寄存器:在执行一条指令取操作数时,要将指令给出的有效地址(500)与重定位寄存器中的内容(1000)相加,得访问地址(1500),从而实现了地址动态修改。 映象方式:采用页表来描述虚、实页面的对应关系 。 3、程序的链接 P105 链接: 把一个程序相关的一组目标模块和系统调用模块(库函数)链接形成一个整体——装入模块的过程。 具体工作: 对相对地址的修改;变换外部调用符号。 链接方式: 静态链接 装入时动态链接:便于修改和更新;便于共享。 运行时动态链接:最小化快速装入,节省内存。 ● 程序的链接 ● 可重定位装入方式 三、 存储管理的功能 1)主存的分配和管理:当用户需要内存时,系统为之分配相应的存储空间;不需要时,及时回收,以供其它用户使用。 2)提高主存储器的利用率:不仅能使多道程序动态地共享主存,提高主存利用率,最好还能共享主存中某个区域的信息。 3)存储保护:确保多道程序都在各自分配到存储区域内操作,互不干扰,防止一道程序破坏其它作业或系统文件的信息。 4) “扩充”主存容量:为用户提供比主存物理空间大得多的地址空间,以至使用户感觉他的作业是在这样一个大的存储器中运行。 4.2.1单一连续分配 应用范围:个人计算机和专用计算机系统 一、管理的实现: 主存可以划分为三部分:?系统区、用户区、空闲区。用户占用区是一个连续的存储区所以又称单一连续区存储管理。 工作流程 单一连续区分配采用静态分配和静态重定位方式,亦即作业或进程一旦进入主存,就一直等到它运行结束后才能释放主存。并且由装入程序检查其绝对地址是否超越,即可达到保护系统的目的。 二、软硬件支持软件:分配算法 硬件:存储保护机构 自动地址修改 例:12K空间,系统占4K 操作系统位于低址端的4K内。对于这样的系统,我们给用户一个13位的地址空间,并对其每个存储器访问自动加上4K。 如果操作系统占用高址端的4K,则我们取每一个存储访问R,而实际上,其地址为(R mod 8K)。从而实现了对操作系统的保护。 2、 0页、1页寻址 系统区、用户区各占一半 系统区 0页 用户区 1页 通过对每个用户生成的地址左端拼接上一位1来实现OS区与用户区。 3、界限寄存器(界地址保护方式) 通过增加界限寄存器,划分OS区与用户区。 三、优缺
显示全部