» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

[心得] 对于IOS4.21的虚拟内存我开始不解了...

1.ios暂时没有虚拟内存
2.atomic具体实现不明,猜测是类似把内存中的位图快照存入nand,需要时读出来调用设备显示,跟虚拟内存两码事
3.虚拟内存也不是银弹,苹果到现在还不加也是有理由的,以前爱撕衣回过一贴
http://bbs.saraba1st.com/2b/read ... age-1.html#13789437
引用:
再来说虚拟内存,的确"虚拟内存"这个名字容易引起误会,叫做页面文件或者页仓库会好理解得多.
页面文件是没法直接寻址的,当内存里面找不到当前页项的时候系统会触发一个page fault.
page fault后unix的做法是顺序从queue里面找,见1设0,见0swap出去(程序执行时每引用一个页面系统置为1).这样的话其实可以看到虚拟内存寻址的消耗并不只是swapping的消耗这么简单,这就是大多数人的误区吧,以为虚拟内存就是拿硬盘去当内存.
这就好比一个超市,货架是内存,仓库是虚拟内存,若一个超市需要频繁从仓库里面拿东西给顾客效率可想而知了.
以上还是理想的paging模型,实际的swap要更为复杂,如本楼的例子一个tab不可能只占一个页面,这就牵扯到segment和buddy system的寻址和管理,既然是科普就不多扯了.
[ 本帖最后由 mayokaze 于 2011-2-16 12:27 编辑 ]


TOP

发新话题
     
官方公众号及微博