四章节存储器管理知识讲解.pptVIP

  • 1
  • 0
  • 约3.82千字
  • 约 87页
  • 2019-11-03 发布于天津
  • 举报
第四章 存储器管理 ;4.1 程序的装入和链接 ;4.1.1 程序的装入;2. 可重定位装入方式(Relocation Loading Mode) ;4.1.2 程序的链接 ; 在将这几个目标模块装配成一个装入模块时,须解决以下两个问题: (1) 对相对地址进行修改。 (2) 变换外部调用符号。 ;2. 装入时动态链接(Loadtime Dynamic Linking) ;3. 运行时动态链接(Run-time Dynamic Linking) ;4.2 连续分配方式;4.2.2 固定分区分配 ;2. 内存分配 ;4.2.3 动态分区分配 ;2. 分区分配算法 ;3. 分区分配操作 ;2) 回收内存(四种情况) ;4.2.4 可重定位分区分配 ;2. 动态重定位的实现;2. 动态重定位的实现 ;3. 动态重定位分区分配算法 ;4.2.5 对换(Swapping) ;2. 对换空间的管理;3. 进程的换出与换入 ; (2) 进程的换入。 将换出时间(换出到磁盘上)最久的进程作为换入进程,将之换入,直至已无可换入的进程或无可换出的进程为止。 ;4.3 基本分页存储管理方式 ; 2) 页面大小 页面若太小: 内存碎片减小 但会导致进程的页表过长,占用更多的内存; 还会降低页面换进换出的效率。 若页面较大: 虽然可以减少页表的长度,提高页面换进换出的速度, 但却又会使页内碎片增大。 合适的页面大小: 应是2的幂,通常为512 B~8 KB。 ;2. 地址结构 ;3. 页表(每个进程一个页表,将页号转换为块号) ;4.3.2 地址变换机构 ;2. 具有快表的地址变换机构 (一次访存) ;快表也叫“联想寄存器”,IBM系统中也称“TLB” CPU给出有效地址,先查快表,若找到则直接读物理块,若没找到则找内存中的页表,并把表项送到快表中,若快表满则找不再需要的页表项换出。;4.3.3 两级和多级页表 ;1. 两级页表(Two-Level Page Table) ;图 4-14 两级页表结构 ;图 4-15 具有两级页表的地址变换机构 ;两级页表采用离散分配空间的方法,但并没有减少页表所占空间。 故采用只将当前需要的页表调入内存,以后再根据需要陆续调入。 在外层页表中增设一个状态位S,若为0表示页表不在内存,若为1表示在内存。; 2. 多级页表 对于64位的机器,如果页面大小仍采用4 KB,此时在外层页表中可能有4096 G个页表项, 要占用16384 GB的连续内存空间。 必须采用多级页表,将外层页表再进行分页。 对于64位的计算机,如果要求它能支持264(=1844744 TB)规模的物理存储空间,则即使是采用三级页表结构也是难以办到的;而在当前的实际应用中也无此必要。;4.4 基本分段存储管理方式 ;4.4.2 分段系统的基本原理 ;为每一个段分配一个连续分区 各个段离散地放在内存中不同的分区中 建立一段表,用于从逻辑段到物理内存区的映射 段表中的表项存放段的基址和段的长度 段表通常放在内存中;图 4-16 利用段表实现地址映射 ;图 4-17 分段系统的地址变换过程 ;4. 分页和分段的主要区别 ; (2) 页的大小固定且由系统决定,由系统把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的;   而段的长度却不固定,通常由编译程序在对源程序进行编译时,根据信息的性质来划分。 (3) 分页的作业地址空间是一维的,即单一的线性地址空间,程序员只需利用一个记忆符,即可表示一个地址;   而分段的作业地址空间则是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。 ;4.4.3 信息共享 ;图 4-19 分段系统中共享editor的示意图 ;4.4.4 段页式存储管理方式 ;图 4-21 利用段表和页表实现地址映射 ;2. 地址变换过程 ;4.5 虚拟存储器的基本概念 ;2. 局部性原理 ; 局限性又表现在下述两个方面: (1) 时间局限性。某条指令或数据一旦执行或访问,则不久以后该指令可能再次执行或访问。 典型原因:是由于在程序中存在着大量的循环操作。 (2) 空间局限性。一旦程序访问了某个存储单元,在不久之后,其附近的存储单元也将被访问,即访问可能集中在一定范围内 典型情况:程序的顺序执行。 ;3. 虚拟存储器定义 ;4.5.2 虚拟存储器的实现方法 ;4.5.3 虚拟存储器的特征 ;4.6 请求分页存储管理方式 ;2. 缺页中断机构 ;3. 地址变换机构 ;4.6.2 内存分配策略和分配算

文档评论(0)

1亿VIP精品文档

相关文档