清华大学:《操作系统》课程教学资源(PPT课件)第六章 存储管理(向勇)

第六章存储管理 6.1引言 存储管理是指存储器62单一连续区存储管理 资源(主要指内存并 涉及外存)的管理。53分区存储管理 存储器资源的组织64覆盖和交换技术 (如内存的组织方式) 65页式和段式存储管理 地址变换(逻辑地址 与物理地址的对应关66虚拟存储 系维护) 67高速缓冲存储器 虚拟存储的调度算法 68存储管理举例
第六章 存储管理 6.1 引言 6.2 单一连续区存储管理 6.3 分区存储管理 6.4 覆盖和交换技术 6.5 页式和段式存储管理 6.6 虚拟存储 6.7 高速缓冲存储器 6.8 存储管理举例 • 存储管理是指存储器 资源(主要指内存并 涉及外存)的管理。 – 存储器资源的组织 (如内存的组织方式) – 地址变换(逻辑地址 与物理地址的对应关 系维护) – 虚拟存储的调度算法

6.1引言 61.1存储组织 61.2存储管理的功能 6.1.3重定位方法 614链接 返回
6.1 引言 6.1.1 存储组织 6.1.2 存储管理的功能 6.1.3 重定位方法 6.1.4 链接 返回

6.1.1存储组织 ·存储器的功能是保存数据,存储器的发展方向是高 速、大容量和小体积 内存在访问速度方面的发展:DRAM、 SDRAM、SRAM等 硬盘技术在大容量方面的发展:接口标准、存储密度等; 存储组织是指在存储技术和CPU寻址技术许可的范围 内组织合理的存储结构。 其依据是访问速度匹配关系、容量要求和价格。 “寄存器-内存外存”结构 “寄存器缓存内存-外存”结构; 微机中的存储层次组织: 访问速度越慢,容量越大,价格越便宜; 最佳状态应是各层次的存储器都处于均衡的繁忙状态(如: 缓存命中率正好使主存读写保持繁忙);
6.1.1 存储组织 • 存储器的功能是保存数据,存储器的发展方向是高 速、大容量和小体积。 – 内存在访问速度方面的发展:DRAM、SDRAM、SRAM等; – 硬盘技术在大容量方面的发展:接口标准、存储密度等; • 存储组织是指在存储技术和CPU寻址技术许可的范围 内组织合理的存储结构。 – 其依据是访问速度匹配关系、容量要求和价格。 – “寄存器-内存-外存”结构 – “寄存器-缓存-内存-外存”结构; • 微机中的存储层次组织: – 访问速度越慢,容量越大,价格越便宜; – 最佳状态应是各层次的存储器都处于均衡的繁忙状态(如: 缓存命中率正好使主存读写保持繁忙); 返回

存储层次结构 寄存器( register) 快速缓存( cache) 内存( primary storage) 外存( secondary storage) 快速缓存: Data Cache TLB(Translation Lookaside Buffer) 内存:DRAM, SDRAM等; ·外存:软盘、硬盘、光盘、磁带等
存储层次结构 • 快速缓存: – Data Cache – TLB(Translation Lookaside Buffer) • 内存:DRAM, SDRAM等; • 外存:软盘、硬盘、光盘、磁带等; 外存(secondary storage) DOS核心 命令处理程序 内存(primary storage) 快速缓存(cache) 寄存器(register)

6.1.2存储管理的功能 ·存储分配和回收:分配和回收算法及相应的数据结构。 地址变换: 可执行文件生成中的链接技术 程序加载(装入)时的重定位技术 进程运行时硬件和软件的地址变换技术和机构 存储共享和保护: 代码和数据共享 地址空间访问权限(读、写、执行) 存储器扩充:存储器的逻辑组织和物理组织; 由应用程序控制:覆盖; 由OS控制:交换(整个进程空间),虚拟存储的请求调入 和预调入(部分进程空间) 返回
6.1.2 存储管理的功能 • 存储分配和回收:分配和回收算法及相应的数据结构。 • 地址变换: – 可执行文件生成中的链接技术 – 程序加载(装入)时的重定位技术 – 进程运行时硬件和软件的地址变换技术和机构 • 存储共享和保护: – 代码和数据共享 – 地址空间访问权限(读、写、执行) • 存储器扩充:存储器的逻辑组织和物理组织; – 由应用程序控制:覆盖; – 由OS控制:交换(整个进程空间),虚拟存储的请求调入 和预调入(部分进程空间) 返回

6.1.3重定位方法 重定位:在可执行文件装入时需要解决可执行文件 中地址(指令和数据)和内存地址的对应。由操作 系统中的装入程序 loader来完成 程序在成为进程前的准备工作 编辑:形成源文件(符号地址) 编译:形成目标模块(模块内符号地址解析) 链接:由多个目标模块或程序库生成可执行文件(模块间 符号地址解析) 装入:构造PCB,形成进程(使用物理地址 重定位方法: 绝对装入 可重定位装入 动态装入 返回
6.1.3 重定位方法 • 重定位:在可执行文件装入时需要解决可执行文件 中地址(指令和数据)和内存地址的对应。由操作 系统中的装入程序loader来完成。 • 程序在成为进程前的准备工作 – 编辑:形成源文件(符号地址) – 编译:形成目标模块(模块内符号地址解析) – 链接:由多个目标模块或程序库生成可执行文件(模块间 符号地址解析) – 装入:构造PCB,形成进程(使用物理地址) • 重定位方法: – 绝对装入 – 可重定位装入 – 动态装入 返回

1.逻辑地址、物理地址和地址映射 逻辑地址(相对地址,虚地址):用户的程序经过 汇编或编译后形成目标代码,目标代码通常采用相 对地址的形式。 其首地址为0,其余指令中的地址都相对于首地址来编址 不能用逻辑地址在内存中读取信息 物理地址(绝对地址,实地址):内存中存储单元 的地址。物理地址可直接寻址。 地址映射:将用户程序中的逻辑地址转换为运行时 由机器直接寻址的物理地址。 当程序装入内存时,操作系统要为该程序分配一个合适的 内存空间,由于程序的逻辑地址与分配到内存物理地址不 致,而CPU执行指令时,是按物理地址进行的,所以要进 行地址转换
1. 逻辑地址、物理地址和地址映射 • 逻辑地址(相对地址,虚地址):用户的程序经过 汇编或编译后形成目标代码,目标代码通常采用相 对地址的形式。 – 其首地址为0,其余指令中的地址都相对于首地址来编址。 – 不能用逻辑地址在内存中读取信息。 • 物理地址(绝对地址,实地址):内存中存储单元 的地址。物理地址可直接寻址。 • 地址映射:将用户程序中的逻辑地址转换为运行时 由机器直接寻址的物理地址。 – 当程序装入内存时, 操作系统要为该程序分配一个合适的 内存空间,由于程序的逻辑地址与分配到内存物理地址不 一致, 而CPU执行指令时,是按物理地址进行的,所以要进 行地址转换

源程序 0逻辑地址空间 物理地址空间 100 Load a datal Load a 200 编译连接 地址映射 Load a 200 BA=1000 3456 200 1200 datal 3456 3456 逻辑地址、物理地址和地址映射
地址映射 BA=1000 Load A 200 3456 。 。 。 1200 物理地址空间 Load A data1 data1 3456 源程序 Load A 200 3456 0 100 200 编译连接 逻辑地址空间 逻辑地址、物理地址和地址映射

逻辑地址空间 BR 物理地址空间 1000 VR 100 LOADA 200 200→+ 1100 200 3456 1200 1300 300 地址映射
0 100 200 300 . . . . . . . . . LOAD A 200 3456 逻辑地址空间 1100 1200 1300 物理地址空间 200 VR + 1000 BR 地址映射

绝对装入( absolute loading) 在可执行文件中记录内存地址,装入时直 接定位在上述(即文件中记录的地址)内存 地址 优点:装入过程简单。 缺点:过于依赖于硬件结构,不适于多 道程序系统
2. 绝对装入(absolute loading) • 优点:装入过程简单。 • 缺点:过于依赖于硬件结构,不适于多 道程序系统。 在可执行文件中记录内存地址,装入时直 接定位在上述(即文件中记录的地址)内存 地址
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 清华大学:《操作系统》课程教学资源(PPT课件)第五章 处理机管理(向勇).ppt
- 清华大学:《操作系统》课程教学资源(PPT课件)第一章 绪论(向勇).ppt
- 清华大学:《操作系统》课程教学资源(PPT课件)第二章 作业管理和用户接口(向勇).ppt
- 清华大学:《操作系统》课程教学资源(PPT课件)第三章 用户管理和配置管理(向勇).ppt
- 清华大学:《操作系统》课程教学资源(PPT课件)第四章 进程管理(向勇).ppt
- 《微机原理与接口技术》课程教学资源(PPT课件)第四章 半导体存储器(邱银安).ppt
- 《微机原理与接口技术》课程教学资源(PPT课件)第二章 微型计算机中的数制与编码(邱银安).ppt
- 《微机原理与接口技术》课程教学资源(PPT课件)第一章 微型计算机的系统结构与工作原理(邱银安).ppt
- 《微机原理与接口技术》课程教学资源(PPT课件)第三章 8086微处理器(邱银安).ppt
- 《微机原理与接口技术》课程教学资源(PPT课件)第十一章 并行I/O接口(邱银安).ppt
- 《微机原理与接口技术》课程教学资源(PPT课件)第六章 汇编语言程序设计(邱银安).ppt
- 《微机原理与接口技术》课程教学资源(PPT课件)第五章 8086指令系统(邱银安).ppt
- 《C语言程序设计》课程教学资源:目录(袁宁).ppt
- 《C语言程序设计》课程教学资源:课程介绍.ppt
- 《C语言程序设计》课程教学资源:课后习题答案(共六章).ppt
- 济南大学:《C语言程序设计》课程教学资源(PPT课件)第四章 简单构造数据类型.ppt
- 济南大学:《C语言程序设计》课程教学资源(PPT课件)第六章 磁盘数据存储.ppt
- 济南大学:《C语言程序设计》课程教学资源(PPT课件)第五章 复杂构造数据类型.ppt
- 济南大学:《C语言程序设计》课程教学资源(PPT课件)第二章 程序基本结构.ppt
- 济南大学:《C语言程序设计》课程教学资源(PPT课件)第三章 模块化程序设计.ppt
- 清华大学:《操作系统》课程教学资源(PPT课件)第七章 文件系统(向勇).ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第3章 运算符、表达式和语句.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第2章 标识符、关键字和数据类型.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第12章 Java的网络编程.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第11章 输入输出流及文件.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第10章 多线程.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第9章 Applet基础.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第八章 Java Swing与事件处理.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第七章 图形编程.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第6章 异常处理.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第5章 继承与多态.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第4章 对象和类.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第3章 字符串和数组.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第2章 Java基本编程结构.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第1章 Java概述.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第7章 图形用户界面程序设计入门(7.1)图形用户界面.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第7章 图形用户界面程序设计入门(7.2)事件驱动程序.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第7章 图形用户界面程序设计入门(7.3)创建图形用户界面.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第7章 图形用户界面程序设计入门(7.4)菜单、工具栏、对话框.ppt
- 北京大学计算机系:《Java 2实用教程》(第3版)PPT教学课件 第1章 Java 语言入门.ppt