「学习笔记」操作系统-内存管理考点整理( 二 )


非连续分配管理方式分页存储管理方式【考点笔记4】把主存空间划分为大小相等且固定的块 , 块相对较小 , 作为主存的基本单位 。 每个进程也以块为单位进行划分 , 进程在执行时 , 以块为单位逐个申请主存中的块空间 。 进程中的块称为页 , 内存中的块称为页框(页帧) 。 外存也以同样单位进行划分 , 直接成为块 。 分页存储管理的逻辑地址结构包含两部分:页号P , 页内偏移量W 。 如图3-3所示
「学习笔记」操作系统-内存管理考点整理文章插图
系统为每个进程都建立一张页表 , 记录页面在内存中的物理块号 。 如图3-4所示 。 (页表项连续存放 , 因此页号可以是隐含的 , 不占用内存空间)
「学习笔记」操作系统-内存管理考点整理文章插图
硬件支持:页表寄存器(PTR) , 存放页表在内存的始址和页表长度 (页表项的个数/页的个数) 。
逻辑地址与物理地址的转变过程:
「学习笔记」操作系统-内存管理考点整理文章插图

  • 查页表①先将页号P与页表长度M比较:若越界 , 即P>=M , 则表示地址越界并中段 。 ②若未越界 , 则将页表始址与页号和页表项长度的乘积相加 , 变得到该表项在页表中的位置 , 从中得到该页的物理块号 , 将之装入物理地址寄存器中 。
  • 根据页表项算出物理地址将有效地址中的页内偏移量送入物理寄存器的块内地址字段中 , 即可得到要访问的内存物理地址 。
分段存储管理方式【考点笔记5】分段存储管理方式的逻辑地址由两部分组成:段号S与段内偏移量W , 如图3-6所示 。 段号字段决定了作业的最大段数 , 段内偏移量字段决定了最大段长 。
「学习笔记」操作系统-内存管理考点整理文章插图
系统为每个进程都建立了一张逻辑空间与主存空间映射的段表 , 每一个段表项对应进程的一个段 , 段表项记录该段在内存中的起始地址和段的长度 。 段表的内容如图3-7所示
「学习笔记」操作系统-内存管理考点整理文章插图
硬件支持:段表寄存器 , 用于存放段表始址和段表长度 。
逻辑地址与物理地址的转变过程:
「学习笔记」操作系统-内存管理考点整理文章插图
  • 查段表系统将逻辑地址中的段号S , 与段表长度M进行比较 。 ①若越界 , 即S>TL , 表示段号太大 , 访问越界 , 于是产生越界中断信号 。 ②若未越界 , 则根据段表的始址和该段的段号(段表始址+段号×段表项长度) , 计算出该段对应段表项的位置 , 从中读出该段在内存中的起始地址 。
  • 根据段表项算出物理地址
检查段内地址偏移量W是否超过该段的段长C 。 ①若超过 , 即W>SL , 同样发出越界中断信号 。 ②若未越界 , 则将该段的基址b与段内地址偏移量W相加 , 即可得到要访问的主存物理地址 。
分页式与分段式对比【考点笔记6】分页式存储管理方式分段式存储管理方式是从计算机的角度考虑设计的 , 以提高内存的利用率 , 提升计算机的性能为目标考虑了用户关于方便编程、信息保护和共享、动态增长及动态链接等多方面的需要在页式系统中 , 分页通常通过硬件机制实现 , 逻辑地址的页号和页内偏移量对用户是透明的段号和段内偏移量必须由用户显示提供 , 在高级程序设计语言中 , 这个工作由编译程序完成逻辑地址是一维结构逻辑地址是二维结构产生内部碎片产生外部碎片页面大小一致段长大小不等
地址空间的一维结构与二维结构的理解