
虚拟内存管理
文章平均质量分 54
杨龙飞的博客
让人迷茫的原因只有一个
__ 那就是本该拼博的年纪,却想得太多,做的太少!
展开
-
虚拟存储器之存储器映射
Linux通过将一个虚拟存储器区域与磁盘上的对象关联起来,以初始化这个虚拟存储器区域的内容,这个过程称为存储器映射.虚拟存储器可以映射到两种类型对象中的一种:1):文件系统中的普通文件:一个区域可以映射到一个普通磁盘文件的连续部分,例如一个可执行目标文件.文件区被分成页大小的片,每一片包含一个虚拟页面的初始化内容.因为按需进行页面调度, 所以这些虚拟页面没有实际交换进入物理存储器,直到CP原创 2016-03-12 00:23:10 · 1769 阅读 · 0 评论 -
虚拟内存之TLB加速地址翻译
从上一篇文章中可以看到,每次CPU翻译一个地址,MMU都必须查阅一个PTE,以便将虚拟地址翻译为物理地址,如果查阅不到,就必须在高速缓存/ 主存中通过系统的调度算法找出一个牺牲页,和磁盘中的虚拟页进行交换,这将浪费很多时间,然而,许多系统都试着消除这样的开销,它们在MMU中包括了一个 关于PTE的小的缓存,称为翻译后备缓冲器.TLB是一个小的,集成在CPU中的虚拟寻址的缓存,其中每一个行都原创 2016-03-12 00:25:47 · 2271 阅读 · 0 评论 -
虚拟存储器之地址翻译
从形式上来说,地址翻译是一个N元素的虚拟地址空间(VAS)中的元素和一个M元素的物理地址空间(PAS),下图展示了MMU如何利用页表来实现这样的映射,CPU中的一个控制寄存器,页表基址寄存器指向当前页表,n位的虚拟地址包含两部分;一个p位的虚拟页面偏移和一个(n-p)位的虚拟页号.MMU利用虚拟地址(VPN)来选择适当的PTE,将页表条目中物理页号和虚拟地址中VPO串联起来,就得到了相应的物理地址原创 2016-03-12 00:26:28 · 964 阅读 · 0 评论