- 1、本文档共45页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
笫四章 存储管理 4.1 存储器 4.2 连续存储空间管理 4.3 分页式存储管理 4.4 分段式存储管理 4.5 虚拟存储管理 4.6 Intel x86分段和分页存储结构 4.7 Linux虚拟存储管理 4.8 Windows2003虚拟存储管理 存储管理的功能 分配和去配: 进程可请求对主存区的独占式使用,主存区的请求和释放(即分配和去配)操作由存储器管理完成。 抽象和映射: 主存储器被抽象,使得进程认为分配给它的地址空间是一个大且连续地址所组成的数组;同时建立抽象机制支持进程用逻辑地址来映射到物理主存单元,实现地址的转换。 隔离和共享: 系统负责隔离已分配给进程的主存区,互不干扰,确保进程对存储单元的独占式使用,以实现存储保护功能;系统允许多个进程共享主存区。 存储扩充: 物理主存容量不应限制应用程序的大小 4.1 存储器 4.1.1存储器的层次 4.1.2地址转换与存储保护 4.1.1 存储器的层次 存储器的层次结构 4.1.2 地址转换与存储保护(1) 程序的编译、链接、装入和执行 1)静态链接: 在装入内存前链接成一个大的装入模块module。但需要解决两个问题,即: (1) 修改相对地址。 (2) 变换外部调用符号。 2)装入时动态链接: 边装入边链接,即装入一个模块时,便去找它的调用模块,如有便再装入,同时修改目标模块中的相对地址。 由于分开装入:便于模块更新修改;便于模块的共享。 3)运行时动态链接: 将对某些目标模块的链接推迟到执行时才进行。 凡在执行过程中未被用到的目标模块,都不会被调入内存或被链接到装入模块上,这样不仅可加快程序的装入过程,而且可节省大量的内存空间。 1)绝对装入:只能将目标模块装入指定的内存位置 缺点: (1)在程序中必须由程序员给出绝对地址。或者说此时的相对地址和绝对地址一样; (2)要求程序员对内存使用情况非常熟悉。事先知道自己的程序将要装在什么地方; (3)只适合于单道程序环境。 例如:某个程序员想在内存200处编一个程序: 2)可重定位的装入: 装入时将逻辑地址转换为物理地址(重定位),逻辑地址从0开始。 适合于多道程序环境。 地址变换在装入时一次性完成,以后不变,可看作是静态重定位。 3)动态运行时装入: 模块装入内存后没有立即重定位,仍然是相对地址;只有当CPU执行到具有相对地址的代码时才去重定位,因此是动态重定位。 地址转换与存储保护(2) 存储保护(涉及防止地址越界和控制正确存取。) 通常进程运行时所产生的所有主存访问地址都应进行检查,确保进程仅访问自己的主存区,这就是地址越界保护。依赖硬件,常用有有界地址和存储键。 进程在访问分配给自己的主存区时,要对访问权限(如允许读、写、执行等)进行检查。 4.2 连续存储空间管理 4.2.1 固定分区存储管理 4.2.2 可变分区存储管理 4.2.3 伙伴系统 4.2.4 主存不足的存储管理技术 4.2.2 固定分区存储管理 固定分区存储管理的基本思想: 主存空间被划分成数目固定不变的分区,各分区的大小不等,每个分区只装入一个作业。若多个分区中都装有作业,则它们可以并发执行。系统一启动后就已经分好了分区。(支持多道程序设计的最简单的管理技术) 固定分区存储管理的数据结构: 主存分配表,记录主存储器中划分的分区及其使用情况。 4.2.2 固定分区存储管理 作业进入固定分区排队策略(2种): 一种是每个分区有单独的作业等待队列,调度程序选中作业后,创建用户进程并将其排入一个能够装入它的最小分区的进程等待队列尾部,当此分区空闲时,就装入队首进程执行。 另一种是所有等待处理的作业排成一个等待队列,每当有分区空闲时,就从队首起依次搜索分区长度能容纳的作业以便装入执行,为了防止小作业占用大分区,也可以搜索分区长度所能容纳的最大作业装入执行。 固定分区存储管理的地址转换和存储保护 4.2.2 可变分区存储管理 可变分区 存储管理是按作业的实际大小来划分分区,且分区个数也是随机的,实现多个作业对主存的共享,进一步提高主存资源利用率。系统刚启动时并不分区。 系统把作业装入主存时,根据其所需要的主存容量查看是否有足够的空间,如有,则按需要分割一个分区分配给此作业;若无,则令此作业等待主存资源。 可变分区存储管理数据结构 用来描述空闲分区和已分配分区的情况。常用的数据结构有以下两种形式: 空闲分区链:以链表形式记录每个空闲分区的情况。 空闲分区表:以表结构形式记录每个空闲分区的情况。 可变分区回收算法 链表空闲区管理方法 空闲区开头单元存放本空闲区长度及下个空闲区起始地址,把所有空闲区都链接起来,设置第一块空闲区地址指针,让它指向第一块空闲区地址。 申请
您可能关注的文档
- Best of Ixiqi-2010爱稀奇年度最佳之20佳的设计.doc
- bl7432lv 2k位eeprom逻辑加密存储卡.pdf
- Blumberq在两名多次接受输血治疗病人血清中.doc
- Building 主要的设计参数.pdf
- BW 数据archive功能性测试验证.docx
- BX120109刘嘉琦实验4 继承与派生.doc
- BYD-1水草收割船液压系统的设计.doc
- C 反应蛋白检测临床应用.pdf
- C# WinForm版通用开发框架源码.pdf
- C__程序的设计实验指导书.doc
- 场地脚手架工程施工方案(3篇).docx
- 2024年浙江省丽水市松阳县玉岩镇招聘社区工作者真题及参考答案详解一套.docx
- 2024年河南省郑州市惠济区古荥镇招聘社区工作者真题及答案详解一套.docx
- 2024年浙江省杭州市淳安县文昌镇招聘社区工作者真题及完整答案详解1套.docx
- 2024年浙江省台州市三门县小雄镇招聘社区工作者真题带答案详解.docx
- 2024年浙江省宁波市余姚市河姆渡镇招聘社区工作者真题及完整答案详解1套.docx
- 2024年浙江省丽水市景宁畲族自治县雁溪乡招聘社区工作者真题及答案详解一套.docx
- 2024年浙江省杭州市临安市板桥乡招聘社区工作者真题及答案详解一套.docx
- 2024年湖北省宜昌市点军区土城乡招聘社区工作者真题及答案详解一套.docx
- 2024年浙江省台州市路桥区桐屿街道招聘社区工作者真题附答案详解.docx
文档评论(0)