CH4-4.1存储器工作原理4.2连续存储管理.ppt

CH4-4.1存储器工作原理4.2连续存储管理.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统教程(第5版) 第4章 存储管理 高等教育出版社 2014年1月 笫四章 存储管理 4.1 存储器工作原理 4.2 连续存储管理 4.3 分页存储管理 4.4 分段存储管理 4.5 虚拟存储管理 4.6存储管理方案和虚存页面替换算法小结 4.7 Linux虚拟存储管理 存储管理的功能 分配和去配: 抽象和映射: 隔离和共享: 存储扩充: 4.1 存储器工作原理 4.1.1存储器层次 4.1.2地址转换与存储保护 4.1.1 存储器层次 寄存器 高速缓存 内存储器 磁盘缓存 固定磁盘 可移动存储介质 各级存储器性能 4.1.2 地址转换与存储保护(1) 程序的编译、链接、装载和执行 链接 动态重定位 静态重定位 … 源程序模块1 源程序模块2 源程序模块n … 目标代码1 目标代码2 目标代码n 可重定位目标代码(装载代码)(外存) 编译 装载 执行 程序名字空间 逻辑地址空间 物理地址空间 可执行二进代码(内存) 静态链接系统库 可执行二进代码(内存) 动态链接系统库 编译、链接、装载(1) 编译程序负责记录引用发生的位置,编译或汇编的结果产生相应的多个目标代码模块,每个都附有供引用使用的内部符号表和外部符号表。符号表中依次给出每个符号名及在本目标代码模块中的名字地址,在模块被链接时进行转换。 链接需要解析内部和外部符号表,把对符号名字引用转换为数值引用,要转换每个涉及名字地址的程序入口点和数据引用点成为数值地址。 装入时根据指定的内存块首地址,再次修改和调整被装载模块中的每个逻辑地址,将逻辑地址绑定到物理地址。 编译、链接、装载(2) 链接程序(linker)的作用是根据目标模块之间的调用和依赖关系,将主调模块、被调模块、以及所用到的库函数装配和链接成一个完整的可装载执行模块。 根据程序链接发生的时刻和链接方式,可分成三种: (1)静态链接 (2)动态链接 (3)运行时链接 编译、链接、装载(3) 装载程序(loader)把可执行程序装入内存方式有三种: (1)绝对装载。装载模块中的指令地址始终与其内存中的地址相同,即在模块中出现的所有地址都是内存绝对地址。 (2)可重定位装载。根据内存当时使用情况,决定将装载代码模块放入内存的物理位置。模块内使用的地址都是相对地址。 (3)动态运行时装载。为提高内存利用率,装入内存的程序可换出到磁盘上,适当时候再换入到内存中,对换前后程序在内存中的位置可能不同,即允许进程的内存映像在不同时候处于不同位置,此时模块内使用的地址必为相对地址。 编译、链接、装载(4) 可执行程序逻辑地址转换 (绑定)为物理地址的过程称地址重定位 、地址映射或地址转换,基于上述程序装载方式,可区分三种地址重定位。 (1) 静态地址重定位 (2) 动态地址重定位 ( 3 ) 运行时链接地址重定位 存储保护 涉及:防止地址越界和控制正确存取。 各道程序只能访问自己的内存区而不能互相干扰,必须对内存中的程序和数据进行保护,以免受到其他程序有意或无意的破坏。可对进程执行时所产生的所有内存访问地址进行检查,确保进程仅访问它自己的内存区,这就是地址越界保护,越界保护依赖于硬件设施,常用的有:界地址和存储键。 进程访问分配给自己的内存区时,要对访问权限进行检查,如允许读、写、执行等,从而确保数据的安全性和完整性,防止有意或无意的误操作而破坏内存信息,这就是信息存取保护。 4.2 连续存储空间管理 4.2.1 固定分区存储管理 4.2.2 可变分区存储管理 4.2.3 内存不足的存储管理技术 4.2.1 固定分区存储管理 固定分区存储管理的基本思想: 固定分区存储管理的数据结构: 作业进入固定分区排队策略: 固定分区存储管理地址转换和存储保护 B 下限寄存器 逻辑地址 CPU 绝对地址 操作系统区 用户分区1 用户分区2 用户分区3 B+L2 上限寄存器 B+L2 越界中断 用户分区4 用户分区5 用户分区6 4.2.2 可变分区存储管理 可变分区 存储管理是按作业的实际大小来划分分区,且分区个数也是随机的,实现多个作业对内存的共享,进一步提高内存资源利用率。 可变分区方式内存分配示例 ? 操作系统 作业1 空闲区 作业2 空闲区 4KB 10KB 46KB 52KB 128KB 操作系统 作业1 空闲区 作业2 空闲区 4KB 10KB 40KB 46KB 52KB 128KB 作业3 操作系统 作业1 空闲区 4KB 10KB 40KB 128KB 作业3 可变分区存储管理数据结构 可变分区内存分配表可由两张表格组成, “已分配区表” “未分配区表” 可变分区回收

文档评论(0)

资深分析师 + 关注
实名认证
服务提供商

文档修改,行业分析,IT咨询

1亿VIP精品文档

相关文档