第十二课 虚拟存储器
分区方式
分页方式
虚拟存储器
只需要保证同时需要载入的页的大小是低于主存的大小就行。对于同一个任务,其实是每个时刻只会执行部分代码段,所以只需要载入部分页进入内存就行
- 所有的任务的所有的页放入硬盘的特定区域中,也就是虚拟内存
- 每个任务正在使用的页载入主存当中
- 没命中时主存从硬盘中加载;有修改时,硬盘也会从主存加载
- 页表:对每个任务生成一个页表,记录页的状态
分页式虚拟存储器
过程
页表
物理页和虚拟页的大小是一样的。所以页内偏移量是一致的
null
磁盘没有存储VP0 VP4,对应的位置存储了其他信息PP0
物理页号:说明在主存中有载入- 指针:说明在磁盘存储器中有,但是没有载入主存中。
- 虚拟地址比物理地址更长,虚拟空间比物理空间更大,虚拟页号比物理页号的长度更长;存放位置时的指针长度比物理地址小
- 不需要额外用空间记录虚拟页号,因为是按顺序排放的
- **存放位置的长度是按照最长的物理地址存放的 **
问题
快表
CPU访存过程
分段式虚拟存储器
物理地址= 段号左移4位+段内偏移量
分页式:对权限管理很混乱,每一个页都要单独记录权限
分段式:
- 会有重复地址
- 长度不固定
总结
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 丁丁的小窝(*^_^*)!