- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一、存储体系 存储系统设计三个问题: 容量、速度和成本 容量:需求无止境 速度:能匹配处理器的速度 成本问题:成本和其它部件相比应在合适范围之内 内存 由存储单元(字节或字)组成的一维连续的地址空间,简称内存空间。用来存放当前正在运行程序的代码及数据,是程序中指令本身地址所指的、亦即程序计数器所指的存储器 分为: 系统区:用于存放操作系统 用户区:用于装入并存放用户程序和数据 二、存储管理的任务 (1)内存空间的管理、分配与回收 记录内存的使用情况 ——设置相应的内存分配表 (内存分配回收的依据) 内存空间划分问题? 静态或动态,等长或不等长 存储管理的任务(续1) 内存分配表 位示图:用一位(bit)表示一个空闲页面(0:空闲,1:占用) 空闲页面表:包括首页面号和页面个数,连续若干的页面作为一组登记在表中 空闲块表:空闲块首址和空闲块长度,没有记录的区域即为进程所占用 空闲块链表:将所有的空闲块链成一个链表 存储管理的任务(续2) 确定分配算法 连续性 离散性 驻留性 交换性 一次性 多次性 实施内存分配 内存回收 内存分配:静态方式 与 动态方式 存储管理的任务(续3) (2)存储共享 两个或多个进程共用内存中相同区域 目的: 节省内存空间,提高内存利用率 实现进程通信(数据共享) 共享内容: 代码共享,要求代码为纯代码 数据共享 存储管理的任务(续4) (3)存储保护 为多个程序共享内存提供保障,使在内存中的各道程序,只能访问它自己的区域,避免各道程序间相互干扰,特别是当一道程序发生错误时,不致于影响其他程序的运行 通常由硬件完成保护功能,由软件辅助实现 存储管理的任务(续5) 保护过程防止地址越界 每个进程都有自己独立的进程空间,如果一个进程在运行时所产生的地址在其地址空间之外,则发生地址越界。即当程序要访问某个内存单元时,由硬件检查是否允许,如果允许则执行,否则产生地址越界中断,由操作系统进行相应处理 一般由硬件提供一对寄存器: 基址寄存器:存放起始地址 限长寄存器:存放长度 (或 上界寄存器/下界寄存器) 存储管理的任务(续6) 保护过程防止操作越权 对于允许多个进程共享的存储区域,每个进程都有自己的访问权限。如果一个进程对共享区域的访问违反了权限规定,则发生操作越权 即读写保护 存储管理的任务(续7) (4)内存扩充 通过虚拟存储技术实现 用户在编制程序时,不应该受内存容量限制,所以要采用一定技术来“扩充”内存的容量,使用户得到比实际内存容量大的多的内存空间 具体实现是在硬件支持下,软硬件相互协作,将内存和外存结合起来统一使用 存储管理的任务(续8) (5)地址转换 又称地址重定位、地址映射 逻辑地址(相对地址,虚地址) 物理地址(绝对地址,实地址) 地址映射 存储管理的任务(续9) 逻辑地址(相对地址,虚地址) 用户的程序经过汇编或编译后形成目标代码,目标代码通常采用相对地址的形式,其首地址为0,其余指令中的地址都相对于首地址而编址 不能用逻辑地址在内存中读取信息 物理地址(绝对地址,实地址) 内存中存储单元的地址,可直接寻址 存储管理的任务(续10) 地址转换 为了保证CPU执行指令时可正确访问存储单元,需将用户程序中的逻辑地址转换为运行时由机器直接寻址的物理地址,这一过程称为地址映射 原因: 当程序装入内存时, 操作系统要为该程序分配一个合适的内存空间,由于程序的逻辑地址与分配到内存物理地址不一致, 而CPU执行指令时,是按物理地址进行的,所以要进行地址转换 存储管理的任务(续12) 静态地址转换 当用户程序被装入内存时,一次性实现逻辑地址到物理地址的转换,以后不再转换 一般在装入内存时由软件完成 动态地址转换 在程序运行过程中要访问数据时再进行地址变换(即在逐条指令执行时完成地址映射。一般为了提高效率,此工作由硬件地址映射机制来完成。硬件支持,软硬件结合完成) 硬件上需要一对寄存器的支持 三、分区存储管理方案 系统把内存用户区划分为若干分区,分区大小可以相等,也可以不等。一个进程占据一个分区 固定分区 可变分区 1. 固定分区 预先把可分配的内存空间分割成若干个连续区域,每一区域称为分区 每个分区的大小可以相同也可以不同,分区大小固定
文档评论(0)