小黑屋
查看详细资料
TOP
T-Square很赞
天外飞仙
The Wait is Over!
大侠
再来说虚拟内存,的确"虚拟内存"这个名字容易引起误会,叫做页面文件或者页仓库会好理解得多. 页面文件是没法直接寻址的,当内存里面找不到当前页项的时候系统会触发一个page fault. page fault后unix的做法是顺序从queue里面找,见1设0,见0swap出去(程序执行时每引用一个页面系统置为1).这样的话其实可以看到虚拟内存寻址的消耗并不只是swapping的消耗这么简单,这就是大多数人的误区吧,以为虚拟内存就是拿硬盘去当内存. 这就好比一个超市,货架是内存,仓库是虚拟内存,若一个超市需要频繁从仓库里面拿东西给顾客效率可想而知了. 以上还是理想的paging模型,实际的swap要更为复杂,如本楼的例子一个tab不可能只占一个页面,这就牵扯到segment和buddy system的寻址和管理,既然是科普就不多扯了.
LOLI桶
魔神至尊
我爱全画幅
元始天尊