现代操作系统笔记——第三章内存管理

第三章内存管理

基址寄存器和界限寄存器

交换技术

进程完整调入内存,然后运行一段时间再存回磁盘。

当换入或移动进程时为它分配一些额外的内存,以解决进程空间动态增长。

使用链表的存储管理

首次适配、下次适配、最佳适配、最差适配、快速适配。

 

虚拟内存

分页

虚拟地址空间的页面对应物理内存的页框。

缺页中断

若虚拟地址空间中的地址没有被映射到物理空间中,CPU就会陷入操作系统,称为缺页中断或缺页错误。操作系统找到一个很少使用的页框并把它的内容写入磁盘,随后把需要访问的页面读到刚才回收的页框中,修改映射关系,再重启引起陷阱的指令。

MMU(内存管理单元)原理

输入的16进制被分为4位的页号和12位偏移量,4位页号表示16个页面,12位偏移表示一页内4096个字。可用页号作为页表的索引,以得出对应于该虚拟页面的页框号,如果在不在位为0,就会引起操作系统陷进,为1就将在页表中查到的页框号复制到输出寄存器的高3位中,再加上输入虚拟地址中的低12位偏移量就构成15位物理地址。

页表

保护位指出一个页允许什么类型的访问。

修改位:写入一页时自动设置修改位,重新分配页框时,如果一个页面已经被修改过,就必须把它写入磁盘,否则直接丢弃即可。

加速分页过程

当将一个寄存器中的数据复制到另一个时,不适用分页只访问一次内存,而使用分页会访问两次。

解决方案

 

多级页表

避免全部页表保存在内存中

倒排页表

减少存储空间,增加查找时间

 

页面置换算法

  1. 最优页面置换算法

将每个页面首次被访问前所要执行的指令数作为标记,置换标记最大的页面。

无法实现!!!

  1. 最近未使用页面置换算法NRU

  1. 先进先出页面置换算法FIFO

  1. 第二次机会页面置换算法

5、时钟页面置换算法

6、最近最少使用页面置换算法LRU

7、最不常使用页面置换算法NFU

记录每页的访问次数,次数最小的换出。

缺页中断处理的过程

 

 

 

 

 

分段

每个段由一个从0到最大线性地址序列构成,长度可以是0到某个允许的最大值之间的任何一个值,可在运行期间动态改变。段是一个逻辑实体,可能包含一个过程、一个数组、一个堆栈、一组数值变量,一般不会同时包含多种类型的内容。

优点

  1. 简化对长度经常变动的数据结构的管理
  2. 如果段的过程被修改并重新编译也不需要对其它的过程进行修改
  3. 有助于在几个进程之间共享数据和过程

分段与分页结合

发布了124 篇原创文章 · 获赞 17 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_36718317/article/details/89111347
今日推荐