数据结构第四章第1小结.ppt

数据结构第四章第1小结

第四章 存储器管理 存储管理是指存储器资源(主要指内存并涉及外存)的管理。 Storage-Device Hierarchy(层次) Storage Hierarchy Storage systems organized in hierarchy. Speed Cost Volatility(易失性) Caching (高速缓存)– copying information into faster storage system; main memory can be viewed as a last cache for secondary storage. Storage Structure Main memory (主存)– only large storage media that the CPU can access directly. Secondary storage (辅存)– extension of main memory that provides large nonvolatile(非易失性) storage capacity. Magnetic disks – rigid(刚硬的) metal or glass platters covered with magnetic recording material Disk surface is logically divided into tracks, which are subdivided into sectors. The disk controller determines the logical interaction between the device and the computer. Moving-Head Disk Mechanism 磁头移动机制 4.1 引言 4.1.1 存储管理的功能 存储分配和回收:分配和回收算法及相应的数据结构。 地址变换: 可执行文件生成中的链接技术 程序加载(装入)时的重定位技术 进程运行时硬件和软件的地址变换技术和机构 存储共享和保护: 代码和数据共享 地址空间访问权限(读、写、执行) 存储器扩充:借助虚拟存储技术或其它自动覆盖技术,为用户提供比内存空间大的地址空间,从逻辑上扩充内存容量。 4.1.2 存储分配的方式 直接分配方式:程序员在编程或编译程序时采用内存物理地址。 事先指定作业使用的内存空间 存储空间的利用率不高 用户不方便 静态分配方式:将作业装入内存时确定它们在内存中的位置。 作业装入内存时,必须分配其要求的全部内存空间 没有足够内存就不能装入该作业 进入内存后,作业在整个运行过程中不能移动,也不能再申请内存空间 动态分配方式:作业在内存中的位置也是在装入时确定的。 执行时可根据需要申请附加的内存空间 当一个作业已占用的内存区域不再需要时,可归还系统 在运行过程中,允许它在内存空间中移动 课堂提问 1、什么是死锁的预防? 2、什么是安全状态? 3、简述银行家算法的基本思想。 4.1.3 程序的装入 程序在成为进程前的准备工作 编辑:形成源文件(符号地址) 编译:形成目标模块(模块内符号地址解析) 链接:由多个目标模块或程序库生成可执行文件(模块间符号地址解析) 装入:构造PCB,形成进程(使用物理地址) 重定位:为实现静态和动态两种存储分配策略,在可执行文件装入时需要解决可执行文件中地址(指令和数据)和内存地址的对应。由操作系统中的装入程序loader来完成。 1. 逻辑地址、物理地址和地址映射 逻辑地址(相对地址,虚地址):用户的程序经过汇编或编译后形成目标代码,目标代码通常采用相对地址的形式。 其首地址为0,其余指令中的地址都相对于首地址来编址。 不能用逻辑地址在内存中读取信息。 物理地址(绝对地址,实地址):内存中存储单元的地址。物理地址可直接寻址。 地址映射:将用户程序中的逻辑地址转换为运行时由机器直接寻址的物理地址。 当程序装入内存时, 操作系统要为该程序分配一个合适的内存空间,由于程序的逻辑地址与分配到内存物理地址不一致, 而CPU执行指令时,是按物理地址进行的,所以要进行地址转换。 2. 绝对装入(absolute loading) 优点:装入过程简单。 缺点:过于依赖于硬件结构,不适于多道程序系统。 3. 可重定位装入(relocatable loading) 在可执行文件中,列出各个需要重定位的地址单元和相对地址值。 当用户程序被装入内存时,一次性实现逻辑地址到物理地址的转换,以后不再转换(一般在装入内存时由软件完成)。 即:装入时根据所定位的内存地址去修改每个重定位地址项,添加相应偏移量。 3. 可重定位装入(relocatable loading) 优点:不需硬

文档评论(0)

1亿VIP精品文档

相关文档