- 1、本文档共52页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 课件.
第七章 内存管理
第八章虚拟内存
单道程序设计系统中,内存被划分为两部分
一部分供操作系统使用(驻留监控程序、内核)
一部分供当前正在执行的程序使用
多道程序设计系统中
在内存中进一步细分出用户部分,以满足多进程要求
细分的任务由操作系统动态完成 内存管理
重定位
保护
共享
逻辑组织
物理组织
程序员并不知道进程执行时在内存的位置
进程可能被置换到磁盘,再次进入内存时将在不
同的位置,需要重定位
必须允许进程通过swapping技术在内存移动
内存索引(逻辑地址)必须转换成进程的物理内
存空间
内存管理:避免内存中的进程间有意无意的互相干
扰,防止地址越界和操作越权;
用户进程不能访问OS的任何代码或数据;
进程未经授权不能访问其他进程的内存单元,读或写
编译时不可能检查绝对地址来确保保护,必须在指令访问
内存时判断访问是否违法
此需求必须由CPU (硬件)来满足,而不是由OS
(软件)满足
允许多个进程访问内存的同一部分
多个进程属于同一个程序,每个进程访问程序同一个副本
合作完成同一个任务的进程可能需要共享访问相同的数据结构
必须允许共享区域进行受控访问
程序被组织成模块
某些模块可以独立地编写和编译
可以给模块不同程度的保护(只读、只执行)
模块化易于被多个进程共享
存储器至少分为两级,如果程序员负责组织信息流
供程序和数据使用的内存可能不足
需采用覆盖技术来组织程序和数据,不会被同时调用的共同
使用同一内存区
浪费时间
多道程序设计中,程序员并不知道可用空间的大小和
位置
内存管理:需要OS移动信息完成存储管理功能
内存管理技术:固定分区;动态分区;简单分页;
简单分段;虚拟内存分页;虚拟内存分段。
分页、分段:离散分配内存空间给进程的页或段
分区:连续分配内存空间给一个进程
固定分区
动态分区
系统将内存划分成若干边界固定的区域,
设定分区说明表;
分区大小相等:小于或等于分区大小的任
何进程可以装入可用分区
难点
程序可能太大不能放入一个分区 需
要覆盖技术
内存利用率非常低存在内部碎片
分区大小不等:放置算法
把每个进程分配到能够容纳它的最小分区
使得分区内部碎片最少
调度队列保存换出的进程
从每个分区一个队列 只提供一个队列
•容纳新进程的最小分区
•考虑优先级
•被阻塞的进程
缺点
分区数目固定,限制了活动进程数目
分区大小事先设置,小作业不能有效利用分区
空间
分区的长度和数目是可变的
进程被精确分配在相应的内存空间
20M
OS 8M OS OS OS 进程1
20M 20M 20M 14M
进程1 进程1 进程1 进程2
56M
进程2 14M 进程2 14M 18M
文档评论(0)