漫谈操作系统之虚拟存储器
虚拟存储器的目标
1 将内存看作硬盘的高速缓存
1.1 内存中只保存程序的活动区域
1.2 根据需要在硬盘和内存之间传送数据
2 为每个进程提供一个一致的地址空间
3 保护每个进程的地址空间不被其他进程破坏
内存管理的要求
1 批处理
1.1 程序顺序执行
1.2 程序依次装入内存运行
1.3 一个新装入的程序会完全覆盖老的程序
2 分时系统
2.1 多个程序并发执行
2.2 要把尽可能多的程序装入内存
2.3 程序在内存中要区分开
如何在内存中装入多个程序?
分页的一些细节问题
1 每个进程都要有一个页表
1.1 进程PCB有指向页表的指针
1.2 一个进程能访问另外一个进程的地址吗?不可以
2 页表访问要非常快
硬件缓存来拯救:转换缓冲区(TLB)
3 页表可能非常大
2的23次方的内存空间,每个页2的12次方,页表中需要2的20个页表条目,假设每个条目4Byte,需4M空间来存放页表 每个进程都需要
23分。。。