读书笔记之深入理解操作系统(10)

来源:互联网 发布:缩略图软件下载 编辑:程序博客网 时间:2024/05/29 17:18
虚拟存储器
1.内存中的每个字节都有一个唯一的物理地址,cpu访问存储器最自然的方式就是使用物理地址,我们把这种方式称为物理寻址
2.cpu执行这条加载指令时,她会生成一个有效的地址,通过存储器总线,把它传递给主存。主存取出从物理地址4处开始的4字节的字,并将它返回给cpu,cpu会将它放在一个寄存器里
3.cpu通过生成一个虚拟地址来访问主存,这个虚拟地址在被送到存储器之前转换成适当的物理地址。将一个虚拟地址转换为物理地址的任务叫做地址翻译,MMU负责地址翻译
4.地址空间是一个非负整数地址的有序集合,如果地址空间中的整数是连续的,那么我们就说他是一个线性地址空间
5.cpu从一个有2的n次幂的地址空间生成虚拟地址,这个地址空间称为虚拟地址空间

6.一个地址空间的大小是由表示最大地址所需要的位数来描述的,一个包含2的n次幂的地址的虚拟地址空间叫做一个n位地址空间

7.虚拟页面的集合分为三个不相交的子集:未分配(创建)的,缓存的,未缓存的。
8.我们用sram表示位于cpu和主存之间的高速缓存,dram缓存表示虚拟存储器系统的缓存
9.同任何缓存一样,虚拟存储器系统必须有某种方法来判定一个虚拟页是否放在dram中的某个地方。如果不命中,系统必须判断这个虚拟页存放在磁盘的哪个位置,在物理存储器中选择一个牺牲页,并将虚拟页从磁盘拷贝到dram中,替换这个牺牲页
10.页表将虚拟页映射到物理页,页表是存放在物理存储器中一个数据结构
11.页表就是页表项目pte的数组,每个页在页表中一个固定的偏移量处都有一个pte

12.dram缓存不命中称为缺页,缺页异常调用内核中的缺页处理程序,该程序会选择一个牺牲页
13.在虚拟存储器的习惯说法中,块被称为页,在磁盘和存储器之间传送页的活动叫做交换或者页面调度,页从磁盘换入dram和从dram换出

0 0