虚拟存储器技术的关键问题 ·访存过程:映射、查找、读写、替换 程序的虚空间存在于辅存中,主存只是其镜像,称“页框” 映射:虚拟存储器地址空间管理方式 页式管理:虚存和主存都划分成固定大小的页 段式管理:段为程序的逻辑单位 段表结构:段名、地址、装入位、段长、访问方式 段表基址寄存器:指明段表的启始地址。 段页式管理 ·虚存管理实现机制:由MMU+OS实现,对应用透明 查找TTW:基于表进行地址变换和查找 保证不同进程的虚拟地址不会映射到相同的物理地址上 地址变换速度:TLB( Translation Look-Aside Buffers) Page Fault:页面失效,缺页 决定把作业的虚拟地址空间的哪一部分装入主存,以及放在主存的 替换:主存空间不够时把哪-部分置换岀主存
虚拟存储器技术的关键问题 • 访存过程:映射、查找、读写、替换 – 程序的虚空间存在于辅存中,主存只是其镜像,称“页框” • 映射:虚拟存储器地址空间管理方式 – 页式管理:虚存和主存都划分成固定大小的页 – 段式管理:段为程序的逻辑单位 • 段表结构: 段名、地址、装入位、段长、访问方式 • 段表基址寄存器:指明段表的启始地址。 – 段页式管理 • 虚存管理实现机制:由MMU+OS实现,对应用透明 – 查找TTW:基于表进行地址变换和查找 • 保证不同进程的虚拟地址不会映射到相同的物理地址上 • 地址变换速度:TLB(Translation Look-Aside Buffers) – Page Fault:页面失效,缺页 • 决定把作业的虚拟地址空间的哪一部分装入主存,以及放在主存的 什么位置; – 替换:主存空间不够时把哪一部分置换出主存
例:页式虚存,内存,外存 虚存页=内存页=外存扇区 外存地址空间 存储单元(字)地址=页基址十偏移 虚拟地址空间 交换区 swap 共享页 独占页 独占页 内存地址空间 文件区 交换区( swapIng) 以文件形式驻留在disk上 大小=所有进程的虚空间之和? ·(每个进程的虚空间都驻留在disk上) 按页与内存进行交换
虚拟地址空间 内存地址空间 虚存页= 内存页= 外存扇区 外存地址空间 存储单元(字)地址 = 页基址 + 偏移 例:页式虚存,内存,外存 交换区 swap 独占页 共享页 独占页 交换区(swaping): •以文件形式驻留在disk上 •大小=所有进程的虚空间之和? •(每个进程的虚空间都驻留在disk上) •按页与内存进行交换 文件区
页表:虚实映射 实现虛地址与内存地址或磁盘地址的映射 虚实页大小相等 ·OS创建:每个进程一个,存放于内存中 保证每个进程的不同虛拟地址不会映射到相同的物理地址! 同时运行的多个进程的物理内存尽量不要相互重叠! VIrtual page number Page table page table entry format Physical page or Physlcal memory Valid disk address 控制位 vaid:装入 未装入页:dsk址 rty Count/Ref Access Right read/write/modify 作用:页保护 page frame number(PFN) DIsk storage Disk address VPN is the index of the tab virtual page number(VPN 盘机号「柱面号头号「扇区号 页表含多少项?多大?
页表:虚实映射 • 实现虚地址与内存地址或磁盘地址的映射 – 虚实页大小相等 • OS创建:每个进程一个,存放于内存中 – 保证每个进程的不同虚拟地址不会映射到相同的物理地址! – 同时运行的多个进程的物理内存尽量不要相互重叠! • page table entry format – 控制位 • Valid:装入 – 未装入页:disk地址 • Dirty • Count/Ref – Access Rights • read/write/modify • 作用:页保护 – page frame number (PFN) • Disk address • VPN is the index of the tab – virtual page number (VPN) • 页表含多少项?多大?
Address Translation: TTW 0151631 Virtual Address Multiple Virtual Address Process Virual Address Virtua! Address Virtual Virtral Address 1516 Address I Physical Page Onset Referenced Da Ranges f Physical Adores Virtual Address P Virtua! Address Virtual Address basica Access Virtual Address e PErmissions One virtual Physical Memory Address Range Per Process Page Table Figure 2 In a virtual memory system, addresses in each user's virtual address space are translated to reference code and data in physical memory
Address Translation:TTW
例 page table entry format& tt 634847 12110 Virtual Address: 0x0000 171b3fb067a74 all bits ves VA[47? Address Translation no Ac no PTE violation valid? fault ves no erms yes alid? 63625251 121198 PPUR D Ignored Address of 4KB page frameIgn. GADA cw//v Physical Address: 0x437276f a74 T DTS 39 12110
例:page table entry format & TTW