主题:【原创】Chrome进程管理(1)---启动模式 -- 素里太守
开10个tab并不意味着ie bin code & lib会放10个copy到内存.
首先ie bin code会被共享,其次大多数lib在windows下是以dll(dyn link lib)的形式存在,用到的时候才进内存,而且不会永远在那里.比起这些来browser用来缓存网页更加吃内存,对付多媒体和JS的render都很成熟了,这些code远没有它们处理的数据占空间.
chrome真正革新的地方是既考虑了不同tab/site之间的parallelism并用不同的process来处理,又在数据共享上提供灵活性,宏观进程管理也有突破.
目前试用的效果还不错,除了一些小问题.希望各大网站的testing也能跟上.
要不我把我的build log 给你一份?
几个老大可能已经知道了,try
about:stats
about:network
about:internets
about:dns
Google 确实野心不小, Chrome 已经不能算是单纯的browser 了, 难道真的要向M$(CE?) 发难了?
more
http://en.wikipedia.org/wiki/About:_URI_scheme
没错。不过对于每一个TAB来说,BIN Code 是AVAILABLE的,不知道这样算不算Virtual Memory?
不好意思问一句,缓存网页英文是什么?
不是说CHROME的战略意义是ONLINE PC 吗,这样来看的话,注重速度和EFFICIENCY是CHROME的重点。
近期目标是对Firefox的威胁;远期可能是对MS的威胁。
1.x:\chrome\src\chrome\browser\resources目录下有若干个HTML文件,其中有about_memory.html,about_stats.html,......在Chrome中作为资源链接到DLL中,由browser_about_handler.cc中的类装入并提供相应的资源。
2.Chrome至今没有类似Firefox Add-ons的公开开发文档出现(也许俺还没有看到?)。但resources目录下的HTML文件暴露了Chrome的一个野心 --- 采用Firefox Add-ons的思路将Firefox的第三方开发人员“拉“到自己的门下。毕竟Firefox有着丰富的第三方Add-ons,如果Chrome能提供一个类似的API的话......
3.第三方完全可以采用Chrome的思路将自己的HTML文件“硬”编码到一个定制的“Krome”中,比如“西rome”。当然,相应的C++类要修改或者定义新的C++类。用AJAX + C++的方式是不是比纯C++的方式更加灵活,高效?如果把这个“Krome”仅限于某(些)个特殊的服务器,你说它是不是个应用程序而不是浏览器?
生动形象,深入浅出。
差一点漏掉这篇文章。我说呢,怎么这太守怎么这么长时间不动笔了?去太守家园的院子转了转,才发现这篇文章。
写长文不容易坚持下去。我琢磨着是不是可以把篇幅缩小一点,而且也不必追求结构完整。每篇短文只sell one or two points。这样写起来或许轻松点,轻松点就能长久点。
邓侃兄的"Google集群"系列已经暂停了,这个系列难道也要暂停?
你们都不好好相应铁老大打造IT专版的号召啊……
太守说了:“WINDOWS上进程这个东西理论上可以开很多很多,但受计算机速度和内存容量的限制,这个数目还是有相当的限制”。限制归限制,理论上说还是成千上万的。但是,如果你是搞计算机的,而且没有研究过Windows CE,当你知道迄今为止所有的Windows Mobile系统的进程数限制时,一般还是要很震惊一下的。当年我就是这样的。当我看到时,而且确认没有印错时。我是着实感叹了MS的“伟大”。那么,到底是多少呢?
32!!!!
WM是基于WindowsCE的。迄今为止所有的WM都是基于CE5.0或更老的版本。CE6.0的进程数理论上来说可以到32K。但CE6.0虽然已经出来两年了,基于CE6.0的WM7还是要有的等的。所以,不管你的WM手机外表多酷,你家CE的居民楼就只有32个单元,甭管你是男女老少,亲疏远近,黑GG,白MM统统必须住到这32户里。当然了线程数并没有限制,你要是不怕你的程序慢的让蜗牛笑话,一个单元可以开成千上万的房间。
打住,打住。我们还是听太守兄唠他的克里木嗑。
还真是不好意思,俺也是WINDOWS的老用户了,还真是不知道CE 5.0有这么个限制 --- 从来没有玩过CE。
按理讲进程的限制也不是什么大了不起的事情。不就是OS内部核心某个数据结构的数目大小。这里面商业层次的决策恐怕大于技术方面的决策,一如不同Windows Edition支持内存数量的大小。早年微软的客户没少提意见:你那个Windows NT Workstation和Windows NT Server用的不是一个内核吗?那个SERVER凭什么就卖那么贵的价钱?$MS真是从善如流,所以现在Workstation就叫XP和VISTA,SERVER就叫server 2003和2008。
回到正题上来,这个Chrome系列。
俺现在真是忙的四脚朝天。不为别的,还是这个Chrome。主要是围绕着Chrome做某种应用框架的开发,业余时间基本上都耗在这上面了。书到用时方恨少,写帖子是一码事,写码子又是另外一码事。有时候俺也自己问自己,Chrome的文档和代码都读懂了吗(实际上是应该读懂的部分,全部读懂基本上是MISSION IMPOSSIBLE)?因此这个系列基本上搁置下来,等俺把那个框架开发的有些眉目,也许俺会以一个全新的视角写这个系列。
相比IE 8,CHROME的发布速度还是很快的,0.4.X.X一步就到了1.X.X.X(正式版).IE 8还不知何年正式发布?