- 1、本文档共115页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 存储器管理 第四章 存储器管理 4.1 存储器的层次结构 理想中的存储器 速度快 容量大 价格便宜 目前无法同时满足三个条件 多级存储器结构 4.1 存储器的层次结构 CPU寄存器 速度快,容量小,价格昂贵 主存储器 高速缓存:速度较快,容量较大,价格较高 一级:速度稍高,容量稍小,价格稍贵 二级:速度稍低,容量稍大,价格稍低 主存储器:速度较快,容量较大,价格稍高 磁盘缓存 利用主存储器的空间,暂存磁盘读写的信息。 辅存 磁盘,光盘 第四章 存储器管理 4.2 程序的装入和链接 引入概念一: 源程序--?目标程序--?可执行程序 编译 链接 4.2 程序的装入和链接 引入概念二: 物理地址: 内存由若干存储单元组成,每个存储单元有一个编号,称为物理地址。 物理空间: 物理地址的集合称为物理空间。 逻辑地址: 逻辑空间中每条指令的地址和指令中要访问的操作数地址统称为逻辑地址。 32位机每个程序最大的逻辑地址空间为4G=232。 逻辑空间: 源程序经过编译后,形成目标程序。每个目标程序都是以0为基址进行顺序编址,这样的目标程序占据一定的地址空间,称为逻辑空间。 一个编译好的程序存于它自己的逻辑地址空间中,运行时,要把它装入内存空间,便具有了相应的物理地址。 4.2 程序的装入和链接 4.2.1 程序的装入 程序以进程形式在内存运行,所以程序运行时就要将程序代码和数据装入内存。 (1)绝对装入方式 (2)可重定位装入方式 (3)动态运行时装入方式 4.2 程序的装入和链接 4.2.1 程序的装入 (1)绝对装入方式 Absolute Loading Mode 适用于单道程序环境 程序每次装入内存的起始位置是固定的,所以编译程序可以产生含绝对地址的目标代码。该目标代码装入内存后,可直接根据绝对地址进行存取,不需要进行逻辑地址到物理地址的转换。 4.2 程序的装入和链接 4.2.1 程序的装入 (2) 可重定位装入方式 Relocation Loading Mode 可用于多道程序环境 可执行程序中的地址通常将0作为起始地址。 可执行程序整体装入内存,同时确定目标程序在内存中的起始地址。 在程序装入时对可执行程序中指令和数据的地址进行修改的过程称为重定位。 4.2 程序的装入和链接 4.2.1 程序的装入 (3)动态运行时装入方式 Dynamic Run-time Loading 可用于多道程序环境 方式2不允许程序运行时在内存中移动位置。 实际上运行时程序在内存中的位置要经常改变,所以要采用动态运行时装入方式。 把可执行程序装入内存后,并不立即把逻辑地址转换为物理地址,而是把地址转换推迟到程序真正要执行时才进行。 4.2 程序的装入和链接 4.2.2 程序的链接 目标程序经过链接生成可执行文件,与目标程序中使用的库函数有关系。 根据链接时间不同,分为:(1)静态链接(2)装入时动态链接(3)运行时动态链接 4.2 程序的装入和链接 4.2.2 程序的链接 (1)静态链接 将可执行程序与它们所需要的库函数链接成一个完整的可执行程序。 4.2 程序的装入和链接 4.2.2 程序的链接 (2)装入时动态链接 可执行程序执行时,装入内存时边装入边链接。 装入时,如果该程序调用库函数,则将相关库函数所在模块装入内存。 4.2 程序的装入和链接 4.2.2 程序的链接 (3)运行时动态链接 对方式2的改进,近几年流行。 方式2只要调用库函数,就装入相关模块。但是并不是所有的库函数都在一次执行过程中都运行的。 运行时动态链接是指在程序执行过程中调用库函数,再将相关模块装入内存,链接到执行的程序的。 加快程序装入过程,节省内存空间。 第四章 存储器管理 4.3 连续分配方式 程序执行时,要占用一定内存,将内存分配给程序主要有以下几种方式 连续分配方式 (4.3 ) 基本分页存储管理方式 (4.4 ) 基本分段存储管理方式 (4.5 ) 请求分页存储管理方式 (4.7 ) 请求分段存储管理方式 (4.9) 4.3 连续分配方式 连续分配方式 是指为一个用户程序分配一个连续的内存空间。广泛用于早期操作系统中。 4.3.1 单一连续分配 4.3.2 固定分区分配 4.3.3 动态分区分配 4.3.4 动态重定位分区分配 4.3 连续分配方式 4.3.1 单一连续分配 最简单的存储管理方式 只能用于单用户、单任务的操作系统中。 把内存分为系统区和用户区两部分 系统区仅提供给OS使用,通常是放在内存的低地址部分; 用户区是指除系统区以外的全部内存空间,提供给用户使用。 4.3 连续分配方式 4.3
您可能关注的文档
- C语言程序设计和数据结构.doc
- C语言程序设计教程第9章.doc
- C语言程序设计考试题(全题).doc
- c语言程序设计上机课件(89页).doc
- C语言程序设计试卷1(含答案).doc
- C语言程序设计试卷5(含答案).doc
- C语言程序设计试题(A)吴生武.doc
- C语言程序设计填空题及答案复习用.doc
- C语言程序设计作业2答案.doc
- c语言大纲.doc
- 2025年一级建造师考试《水利水电工程管理与实务》冲刺必刷卷.docx
- 2025年一级建造师考试《水利水电工程管理与实务》逆袭破题卷1.docx
- 2025年一级建造师考试《市政工程管理与实务》冲刺必刷卷 .docx
- 2025年一级造价工程师考试《建设工程计价》预习卷.docx
- 2025年一级造价工程师考试《建设工程造价管理》预习卷.docx
- 2025年一级造价工程师考试《建设工程造价案例分析(安装专业)》预习卷.docx
- 2025年一级造价工程师考试《建设工程造价案例分析(土建专业)》预习卷.docx
- 2025年中级会计考试《会计实务》冲刺提分卷.docx
- 2025年中级会计考试《财务管理》冲刺提分卷.docx
- 2025年中级会计考试《财务管理》全真模拟卷.docx
文档评论(0)