第六章存储管理第六章存储管理存储管理功能内存资源管理存储管理方式外存空间管理虚拟存储系统6.16.1存储管理功能存储管理功能存储分配和去配–分配去配对象内存、外存(相同方法)–分配去配时刻进程创建、撤销、交换、长度变化存储共享–目的:节省内存、相互通讯–内容:代码、数据存储保护–防止地址越界–防止操作越权6.16.1存储管理功能存储管理功能(Cont.)(Cont.)存储扩充–内存、外存结合,虚拟存储体系–速度接近内存,容量相当外存地址映射–逻辑地址=>物理地址–硬件支持基址寄存器(base)、限长寄存器(limit)、快表;使用上述寄存器完成地址映射过程;不能正常完成地址映射时产生中断。6.26.2内存资源管理内存资源管理6.2.1内存分区–分区时刻静态分区:系统初始化时分;动态分区:申请时分。–分区大小等长分区:2i异长分区:依程序、程序单位、对象大小。–通常作法静态+等长(页式、段页式)动态+异长(段式、界地址)6.2.26.2.2内存分配内存分配静态等长分区的分配–字位映象图–空闲页面表–空闲页面链动态异长分区的分配–最先适应(FirstFit)–最佳适应(BestFit)–最坏适应(WorstFit)字位映象图(字位映象图(bitmapbitmap))100…1...10第0页第2页第1页第k页第n页......分配:自头寻找第一个为0的位,改为1,返回页号;去配:页号对应的位(bit)置为0。用一个bit代表一页状态,0表空闲,1表占用。(多单元)空闲页面表空闲页面表首页号空页数............1204特点:可以分配连续页面。占用占用120页121页122页123页......空闲页面链空闲页面链占用占用占用Head:优点:节省空间。(不适合管理外存)动态异长分区的分配动态异长分区的分配空闲区首址空闲区长度............25001500数据结构:Criteria:尽量使空闲区域连续。初始时一个连续空闲区。长度=0为表尾。最先适应算法(最先适应算法(FirstFitFirstFit))空闲区首址空闲区长度128641024256322560......空闲区:首址递增排列;申请:取第一个可满足区域;优点:尽量使用低地址空间,高区保持大空闲区域。缺点:可能分割大空闲区。Eg.申请32将分割第一个区域。最佳适应算法(最佳适应算法(BestFitBestFit))空闲区:首址递增排列;申请:取最小可满足区域;优点:尽量使用小空闲区,保持大空闲区。缺点:可能形成碎片(fragment)。Eg.申请30将留下长度为空闲区首址空闲区长度128641024256322560......最坏适应算法(最坏适...