读书笔记之深入理解操作系统(10)
2015-09-09 23:05
183 查看
虚拟存储器
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换出
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换出
相关文章推荐
- CodeForces 337A - Puzzles
- (转)简明 Vim 练级攻略
- Codeforces Round #318 (Div. 2) D - Bear and Blocks
- TimeoutFutureTask实现
- 智力 Apple Watch 游戏 一、《上下棋手 Up-Down Chess》
- 虚函数的原理
- 认识wxWidgets2
- wxhl ios bj 49期 张浩 学习文章连载 第9章
- Android4.4版本后 限制第三方应用读写外置SD卡的权限问题
- hdu 5349 MZL's simple problem
- C++数据结构之Linked Stack(链式栈)
- 北大ACM1127——Jack Straws
- HDU 2846 Repository(字典树)
- 个人风采
- 软件测试
- 怎么在ubuntu中设置windows为默认启动项
- Android之vertical和horizontal的区别
- Zoj 3646 Matrix Transformer 二分图完美匹配
- java thread
- 每日编程训练20150909:typedef void (* unitest_func_t) (void);