漫谈操作系统之虚拟存储器

虚拟存储器的目标

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分。。。