操作系统--总结(4)--存储器

4.存储器

4.1存储器的层次结构

传统存储管理:连续分配、离散分配

4.2连续分配存储管理方式

包括单一连续分配和分区式分配

4.2.1单一连续分配

4.2.2固定分区分配

4.2.3动态分区分配

  • 数据结构
  • 分区分配算法:顺序式搜索算法、索引式搜索算法

    • 1)顺序式搜索算法:
      首次适应算法:把空闲分区链以地址递增的次序链接,从链首开始顺序查找
      循环首次适应算法:不是每次都从链首开始查找,而是从上次找到的空闲分区的下一个空闲分区开始查找。
      最佳适应算法:以从小到大的顺序形成以空闲分区连,找第一个满足要求的。
      最坏适应算法:挑选最大的空闲去,分割一部分使用。
    • 2)索引式搜索算法
  • 分区的分配与回收

4.2.4动态可重定位分区分配

4.3分页存储管理方式

4.3.1基本方法

1)页面和物理块
分页存储管理,是将一个进程的逻辑地址空间分成若干个大小相等的片,称为页面或页,并为各页加以编号,从0开始,如第0页、第1页等。相应地,也把内存空间分成与页面相同大小的若干个存储块,称为(物理)块或页框(frame), 也同样为它们加以编号,如0#块、1#块等等。在为进程分配内存时,以块为单位将进程中的若干个页分别装入到多个可以不相邻接的物理块中。由于进程的最后一页经常装不满一块而形成了不可利用的碎片,称之为“页内碎片”。
页面:
页面小:内存利用率提高,页表过长,占用大量内存
页面大:使页内碎片增大

2)地址结构

这里写图片描述

3)页表
页号 块号
这里写图片描述

4.3.2 地址变换机构

地址变换机构:从逻辑地址到物理地址的映射
页表:从页号到块号

页表寄存器:存放页表在内存的始址、页表的长度
页表
由页号,找出对应的块号,找出物理地址
1)基本的地址变换机构
这里写图片描述

地址变换过程:
给出一个逻辑地址,
->自动分为页号和页内地址,比较页号与页表寄存器中的页表长度
->求该页号在内存中的位置:页表始址+页号*页表项长度
->找到内存中的页号,找到对应的物理块号(将块号送入物理地址寄存器中)
->页内地址对应内存中块内地址

2)具有快表的地址变换机构
页表是存放在内存中的,CPU每次存取一个数据时,都要两次访问内存(找内存中的页表:找到页号对应的块号->根据块号再次访问内存读取数据)

快表/联想寄存器:为提高地址变换速度,在地址变换机构中增设一个具有并行查询能力的特殊告诉缓冲寄存器。

地址变换过程:
给出一个逻辑地址,
->自动分为页号和页内地址,(比较页号与页表寄存器中的页表长度)
->将该页号与快表中所有页号比较,若表中有相匹配的页号,直接从快表中读出该页对应的物理块号;如未找到,从内存中找:页表始址+页号*页表项长度,并将该页表项存入快表中,若快表满则置换页表项
->找到内存中的页号,找到对应的物理块号(将块号送入物理地址寄存器中)
->页内地址对应内存中块内地址

4.3.3两级页表

4.4分段存储管理方式

4.5段页式存储管理方式

猜你喜欢

转载自blog.csdn.net/void_worker/article/details/80919691
今日推荐