《计算机操作系统存储器管理.ppt》由会员分享,可在线阅读,更多相关《计算机操作系统存储器管理.ppt(92页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第四章存储器管理存储器管理 存储器管理4.1 4.1 程序的装入和链接程序的装入和链接 v编辑编译链接装入运行v图4.1存储器管理 存储器管理4.1.1 4.1.1 程序的装入程序的装入 v1、绝对装入:编译后,装入前已产生了绝对地址(内存地址),装入时不再作地址重定位。绝对地址的产生:(1)由编译器完成,(2)由程序员编程完成。对(1)而言,编程用符号地址。v2、可重定位装入;静态重定位:装入时完成,主要工作是对相对地址中的指令和数据地址的调整过程,例:图42 问题:如何知道哪些位置需调整?链接时产生可装入模块的具体功能?0100025005000LOAD 1,2500LOAD 1,2500
2、36536510000110001250015000作业地址空间内存空间图4-2存储器管理 存储器管理4.1.1 4.1.1 程序的装入程序的装入 v3.动态运行时装入 在装入后不能移动,该情况一般在执行时才完成相对绝对地址的转换且有硬件的支持,能保证进程的可移动性。存储器管理 存储器管理4.1.2 4.1.2 程序的链接程序的链接v1、静态链接 a对相对地址的修改 b变换外部调用符号v2、装入时动态链接 a.便于修改和更新 b.便于实现对目标模块的共享v3、运行时动态链接模块ACALL B;RETURN模块BCALL C;RETURN模块CRETURN0L-10M-10N-1(a)目标模块模
3、块AJSR L;RETURN模块BJSR L+M;RETURN模块CRETURN0L-1LL+M-1L+ML+M+N-1(b)装入模块存储器管理 存储器管理4.24.2连续分配方式连续分配方式 v单一连续分配 用于单用户,单任务中v分区式分配 固定式 可变式 可重定位分区分配存储器管理 存储器管理4.2.1 4.2.1 单一连续分区单一连续分区v v 系统区 系统区v v 用户区 用户区v v 存贮保护 存贮保护 一般不设置保护也可,因单任务。一般不设置保护也可,因单任务。存储器管理 存储器管理4.2.2 4.2.2 固定分区固定分区v特点:有n个分区,则可同时装入n个作业/任务。v一、分区大
4、小:相等:不相等:不相等利用率更高。v二、内存分配:数据结构 将分区按大小排序,并将其地址、分配标识作记录 例:dos的MCBv三、特点:简单,有碎片(内零头)存储器管理 存储器管理图图444a4a分区号大小(K)起址(K)状态1 12 20已分配2 32 32已分配3 64 64已分配4 128 128已分配存储器管理 存储器管理图图444b4b操作系统作业A作业B作业C24K32K64K128K256K分配情况存储器管理 存储器管理4.2.3 4.2.3 可变式分区(比固定式分区有改善)可变式分区(比固定式分区有改善)v一、数据结构 1空闲分区表 2空闲分区链前向指针N个字节可用 后向指针
5、N+2 N+20(分配标识)0存储器管理 存储器管理4.2.3 4.2.3 可变式分区(比固定式分区有改善)可变式分区(比固定式分区有改善)v二、分配算法 1首次适应算法FF。要求:分区按低址高址链接 特点:找到第一个大小满足的分区,划分。有外零头,低址内存使用频繁。2循环首次适应算法。从1中上次找到的空闲分区的下一个开始查找。特点:空闲分区分布均匀,提高了查找速度;缺乏大的空闲分区。3最佳适应算法 分区按大小递增排序;分区释放时需插入到适当位置。存储器管理 存储器管理4.2.3 4.2.3 可变式分区(比固定式分区有改善)可变式分区(比固定式分区有改善)v三、分区分配 1分配:图4-6 2回
6、收:(1)上邻空闲区:合并,改大小(2)下邻空闲区:合并,改大小,首址。(3)上、下邻空闲区:合并,改大小。(4)不邻接,则建立一新表项。存储器管理 存储器管理F1回收区 回收区F2F1回收区F24-7 内存回收时的情况存储器管理 存储器管理4.2.4 4.2.4 可重定位分区分配可重定位分区分配v1.动态重定位的引入 连续式分配中,总量大于作业大小的多个小分区不能容纳作业。紧凑 通过作业移动将原来分散的小分区拼接成一个大分区。作业的移动需重定位。是动态(因作业已经装入)紧凑紧凑操作系统用户程序110kb用户程序330kb用户程序614kb用户程序926kb操作系统用户程序1用户程序3用户程序
7、6用户程序9存储器管理 存储器管理22、动态重定位的实现、动态重定位的实现load 1,2500365load 1,25003650100250050002500 100001000010100+1250015000作业J处理机一侧 存储器一侧重定位寄存器 相对地址存储器管理 存储器管理图图4.104.10动态分区分配算法动态分区分配算法存储器管理 存储器管理4.2.5 4.2.5 对换对换v1 对换的引入 将阻塞进程,暂时不用的程序,数据换出。将具备运行条件的进程换入。类型:整体对换:进程对换,解决内存紧张 部分对换:页面对换/分段对换:提供虚存支持v2 对换空间的管理 外存 对换区比文件区
8、侧重于对换速度。因此,对换区一般采用连续分配。采用数据结构和分配回收类似于可变化分区分配。存储器管理 存储器管理4.2.5 4.2.5 对换对换v3 换出与换入 一、换出 1选出被换出进程:因素:优先级,驻留时间,进程状态 2换出过程:对于共享段:计数减1,是0则换出,否则不换修改PCB和MCB(或内存分配表)二、换入:1选择换入进程:优先级,换出时间等。2申请内存。3换入存储器管理 存储器管理4.34.3基本分页存储管理基本分页存储管理 v连续分配引起:碎片v碎片问题的解决:紧凑方式消耗系统开销。v离散分配 分页、分段、段页存储器管理 存储器管理v1.页面 页面和物理块:逻辑空间和内存空间 由机器的地址结构决定 页太大,页内碎片大。页太小:页表可能很长,换入/出效率低v2.地址结构 31 12 11 0 逻辑地址A;页大小L(设为1024);页内偏移dd=A mod L如:A2170B.则P=2,d=122 页面与页表页面与页表页号P 位移W 存储器管理 存储器管理3.3.页表页表0页1页2页3页4页5页n页0 21 32 63 84 950123456789用户程序页表页号 块号内存