虚拟存储系统( irtual memory 1961年曼彻斯特大学提出 CPU 程序要求的存储器空间越来越大 主存 虚存=主存+辅存 辅助硬件和软件 例:CPU地址总线64位,主存4G,磁盘100G0 辅存 多任务间的代码和数据访问保护 现代虚拟存储系统:将主存作为外存的缓存 虚存由硬件(MMU)和OS存储管理器共同管理 ·使对辅存的访问速度接近主存的速度 不同应用具有不同的地址空间和访问权限 程序的地址空间是以“0″地址起始的线性地址集合 这个空间中的地址都是相对地址,也称为逻辑地址
虚拟存储系统(Virtual memory) • 1961年曼彻斯特大学提出 – 程序要求的存储器空间越来越大 • 虚存 = 主存 + 辅存 –例:CPU地址总线64位,主存4G,磁盘100G – 多任务间的代码和数据访问保护 • 现代虚拟存储系统:将主存作为外存的缓存 – 虚存由硬件(MMU)和OS存储管理器共同管理 • 使对辅存的访问速度接近主存的速度 – 不同应用具有不同的地址空间和访问权限 • 程序的地址空间是以“0”地址起始的线性地址集合 • 这个空间中的地址都是相对地址,也称为逻辑地址
多任务系统虚存空间划分示例wnce Physical Memory CE内核 Stack 2 GB 文件系统 内核空间 GWES 驱动程序 Heap 用户虚拟内存 Data segment 内存映射文件 PC Text Segment 2 GB 用户DLLs 进程空间 进程代码 Operating system 用户虚拟内存 32K个 进程
多任务系统虚存空间划分示例-wince
程序逻辑地址空间与内存物理地址空间 Virtual address space Physical address space xo0000000 0x00010000 text 0x00000000 0x10000000 data Oxooffffff stack I page belonging to process Ox ffFf page not belonging to process
程序逻辑地址空间与内存物理地址空间
Demand Paging(按需分配) swap out ol2口3 十5 valid- invalie3 8口9口10口1口 0 A frame 12口13口14口15口 A B swpn16日171819 202口22 2 C C 3 D 26 4E E 5 58V HARD DISK 6 G 11 Some Address OKFFFFFFFF 7 H logical memory 12 13 ome Address ace in RAM 虚实页大小相等。 PhysicalMemory RAM OS在创建进程时,为其建立页表和disk上的VA空间。 HW translates virtual addresses to physical addresses via an OS-managed tab the page map
Demand Paging (按需分配) 虚实页大小相等。 OS在创建进程时,为其建立页表和disk上的VA空间。 HW translates virtual addresses to physical addresses via an OS-managed tab, the page map
Backing Store Main memory Disk Main memory Disk P ages P ages 0 3 Swap area 0 3 Swap area 46 6 P Pac table table Disk map (a) Paging to static swap area (b) Backing up pages dynamically
10 Backing Store (a) Paging to static swap area (b) Backing up pages dynamically