存储管理
RAM
分层存储体系 memory hierachy
无存储器抽象
早期直接去访问存储器,无抽象
无法两个程序共同使用
一种存储器抽象:地址空间
地址空间是一个进程可用于寻址内存的一套地址集合。每个进程都有一个自己的地址空间,并且这个地址空间独立于其他进程的地址空间
地址空间的概念
基址寄存器与界限寄存器
给CPU配置两个特殊的硬件寄存器,基址寄存器与界限寄存器。
交换技术
所有进程运行所需要的内存,
空闲内存管理
位图和链表
虚拟内存
虚拟内存主要是用来解决程序的需要空间大于内存,早期使用覆盖(overlay)的方法来解决。
分页
虚拟地址空间按照固定大小划分成页面(page)的若干
如果虚拟页面访问一个没有映射的页面,会发生缺页中断。
页表
虚拟地址 = 虚拟页号 + 偏移量
页表的目的是把虚拟页面映射为页框。可以把页表理解成一个函数,输入的是虚拟页号,输出框号。
加速分页过程
大多数程序总是对少量的页面进行多次访问。
TLB
针对大内存的页表
多级页表
倒排页表
页面置换算法
当发生缺页中断时,操作系统会选择一个页面将其换出内存。