五千年(敝帚自珍)

主题:【原创】Chrome进程管理(1)---启动模式 -- 素里太守

共:💬40 🌺72
全看树展主题 · 分页首页 上页
/ 3
下页 末页
家园 手机上网的几个问题

1.手机上网局限于经常去的网站,对这些网站有相当的“信任度”,因此可以降低安全方面的要求。

同意。

此外,流行的做法是在手机屏幕桌面上放个icon,作为一个shortcut完成两件任务,1. 打开手机浏览器,(更严格地说,是Layout engine),2. 访问指定的URL。

例如,iPhone上的Stock和Weather两个图标,就是分别指向Yahoo的相关网页的shortcuts。

2.手机上网避免去比较复杂效果的网站。

3.手机上网基本上是“read only”。

不完全同意。受到无线网络带宽的制约,手机应用未来的模式,或许是网络服务器和手机本地相结合的混合模式。

拿iPhone的Map说事儿,它目前是访问Google map网页的shortcut。但是在中国基本上玩不了,因为中国移动的带宽不够。能不能把地图图片的生成,求路,和黄页搜索放在手机本地处理?或者,手机本地cache一部份数据,譬如加州数据。如果用户在加州境内使用map,就用本地的数据,不必联网。但是如果出了加州,就使用网络服务器。

在这种情况下,不仅网站的功能复杂,而且在手机本地要预装插件。

家园 狂倒,Chrome任务管理器。

Windows有任务管理器,Chrome也有,但是Chrome的不怎么好使。

1.Chrome任务管理器是个Windows任务管理器的“应用与进程”混合版,两个任务管理器一起用的时候让人狂倒。比如说你开了一堆的Tab,Chrome的上面显示有30项,可Windows的进程显示有15项。这就是混合概念的问题,狂倒,狂倒。不过Chrome也不会让你狂开进程,Chrome的源码中有最大进程数目的限制。Tab多了的话,对不起,Tab(Instance)就要共享Render进程了。

2.Chrome的任务管理器不可按标签,内存,CPU重新排序;双击标签行,相应的标签页不会弹至顶端。

3.最让俺狂倒的是俺在任务管理器中结束一个“标签页进程”时,Chrome居然说:喔唷,崩溃了。拜托,俺刚才终止的是一个完全健康的“标签页进程”。

4.在Chrome的任务管理器选择关闭一组“标签页进程”,Chrome的任务管理器开始表现紊乱。明明是选择一项“标签页进程”,Chrome给你高亮两项。

家园 这么一说就好理解了。GOOGLE推Chrome的雄心

GOOGLE的雄心肯定不是浏览器那么简单了。它的目标可能就是取而代之,这样的目的,有自己的任务管理就好理解了。

你前面说的在手机上的应用,这个方向绝对值得关注。

家园 【原创】Chrome进程管理(2)---威胁模型

高效,健壮,安全,兼容性,.....这样的一个序列可以很长。这里问题的关键是,软件(系统)的设计者如何考虑其优先次序。毫无疑问,安全性是当前浏览器设计时必须考虑的首要问题(之一?)。

如何设计一个比较安全的浏览器是个非常复杂的问题?但是要设计安全的浏览器就必须要了解“威胁模型(Threat Model)”,舍此无他。

You cannot build a secure system until you understand your threats. It's as simple as that.

--- 摘自“Writing Secure Code,第二版”

真实的情况是如此的简单 --- 如果你不对“威胁”有充分的了解,建造一个安全的系统就无从谈起。

不过大家也别被“威胁模型(Threat Model)”给“威胁”了,这东西没有那么神秘。俺看看能不能用简单的语言把这个问题说道清楚。

简而言之,“威胁模型(Threat Model)” --- 软件(系统)安全之需求分析。

浏览器是个典型的网络客户端程序,主要的“威胁”来自上网。废话,打开IE,仅仅打开初始页about:blank,估计一年半载不会有任何“威胁”,但是这和戒网有区别吗?

那些黑客是怎样“威胁”使用浏览器的上网客户?很简单。先架设一个服务器,比如www.黑黑河.com,用各种方法吸引人们来访问这个网站,然后根据某个浏览器的漏洞放置某个特殊的网页。如果用那个浏览器打开那个网页 --- BINGO,你中招了。除去威胁浏览器,还有“威胁”用户个人隐私,财务的很多办法。据称,大约花55美元能让50万用户中招。

现在的主要问题是如何在浏览器内部和浏览器外部保护用户的安全。

“威胁”浏览器内部的目的通常有以下几个:1.通过浏览器安装软件“劫持”用户机器。2.盗取用户键盘输入信息。3.窃取用户机器中的敏感数据与文件。

即使浏览器本身的安全了也不意味着上网就是安全的。来自浏览器运行机器外部的“威胁”主要包括:网页仿冒诈骗(phishing),防火墙回绕,网站交叉...;来自浏览器运行机器内部的威胁包括其他程序的安全,比如其它的(浏览器)程序。想想看,如果Chrome自己是“安全”的但是IE让人劫持了,IE监测全部的用户键盘输入信息,哪你能放心地在Chrome上使用你的网上银行?更有甚者,你使用了一台"不安全"的机器上网。比如俺的一个“小朋友”在某个网吧玩了一次联机游戏,然后他在游戏中“超级兵器”就统统不见了

------据说损失价值达上千RMB。

切记切记,即使考虑了各种安全因数设计的软件也不是永远安全的,道高一尺,魔高一丈,猫捉老鼠的“游戏”永远没有尽头;而且好猫也有“打盹”的时候 --- 没有不生虫的软件,没有没有漏洞的系统。

预告:Chrome进程管理(3)--- 进程,进程,还是进程

关键词(Tags): #Chrome#进程#威胁模型#Threat#Model
家园 Chrome任务管理器

打开Chrome,右上角有两个图标,左边的长得像书页,把鼠标移上去,显示这个图标名字叫“控制当前页”。右边的图标像个扳手,名字比较长,叫“此功能表用来自制及控制谷歌浏览器”。

点击左边的图标,出现一个菜单,再点击菜单中“开发人员”,又出现一个菜单,菜单中有“任务管理器”一个选项。点击之,就看到让太守抓狂的东东了。

如太守所言,Chrome的任务管理器的确很有意思。打开Chrome,不访问任何URL。Chrome任务管理器显示有两个任务,一个是“浏览器”,内存占用18,884K,CPU占用是1,估计是1%的意思。另一个任务是“新网页”,内存占用12,284K,CPU占用是0。

别做任何其它事情,打开Windows的任务管理器。与Chrome有关的任务只有一条,“Chrome.exe”,内存占用17,352K,CPU 0%。

按Chrome自带的任务管理器自己的说法,Chrome消耗了31K的内存,而Windows慷慨地认为,Chrome只用了17K。

莫说太守痴,更有痴似太守者。

家园 周一再见

过一会儿出差,周一才回来,期间与Internet隔绝。

期待太守好文。

家园 道高一尺魔高一丈

好文,如果能把几个典型的威胁战术,仿冒诈骗,回绕防火墙,网站交叉等等,展开解释一下,就更有意思了。

有一句没有完全明白,

网站交叉...。想想看,如果Chrome自己是“安全”的但是IE让人劫持了,IE监测全部的用户键盘输入信息,哪你能放心地在Chrome上使用你的网上银行?

如果IE会盗窃了用户隐私信息,那么正确的防范措施似乎是,禁用IE,改用Chrome。为什么连使用Chrome也不安全了呢?

家园 双宝

恭喜:你意外获得【通宝】一枚

谢谢:作者意外获得【通宝】一枚

鲜花已经成功送出。

此次送花为【有效送花赞扬,涨乐善、声望】

家园 关于“威胁”的补充说明

仿冒诈骗,回绕防火墙,网站交叉

这几个东西基本上不是浏览器“本身”的问题。这里简单的举两个例子。

仿冒诈骗这个好解释 --- “山寨”网站。比如老铁有xxhere.com,俺就搞个xxxhere.com,而且页面文件“高仿”。哪天你不小心进来了,输入用户名“邓侃”,口令“邓侃的口令",你在xxhere.com的帐户就归俺了。如果把网银.com换成网瘾.com,通过类似的过程俺就可以从你的帐号向俺的帐号转钱了。

网站交叉的问题有点复杂,其中有若干个分类。其中之一是仿冒诈骗的一个“变种”。比如某些网站(特别是论坛程序)允许用户直接“嵌入”HTML。最简单的方式是用frame“嵌入”一个网页。这样网站交叉变成了“仿冒诈骗”,不过这次“威胁”的目的可以但不限于盗取用户口令,引入的网页中可以嵌入很多JAVASCRIPT或者ActiveX的东西,然后 。。。。。。

即使浏览器本身的安全了也不意味着上网就是安全的。浏览器外部的“威胁”主要包括:网页仿冒诈骗(phishing),防火墙回绕,网站交叉...。想想看,如果Chrome自己是“安全”的但是IE让人劫持了,IE监测全部的用户键盘输入信息,哪你能放心地在Chrome上使用你的网上银行?

这段写的不好,俺把原文改一下。

回绕防火墙就不说了。

家园 解释得非常清楚

两个问题解释得非常清楚。多谢太守。

网上欺诈行为很有意思,不知道河里谁愿意写写。

Freakonomics是一本畅销的经济学读物。之所以畅销,原因之一是作者用经济学原理,解释了很多犯罪行为。

家园 I have the same question

This URL: check it out:

http://glandium.org/blog/?p=204

家园 转帖过来

ERROR

The requested URL could not be retrieved

While trying to retrieve the URL: http://glandium.org/blog/?

The following error was encountered:

* Connection to 88.165.248.19 Failed

The system returned:

(113) No route to host

The remote host or network may be down. Please try the request again.

Your cache administrator is webmaster.

能不能麻烦中人转帖一下相关内容?

家园 当然=)

前些天太忙,现在终于可以上西西河了。还是觉得计算内存所需不应该是特别困难的问题。只是每个产品的规则不一样。

原文基本上是对于One Process Per Tab的RAM的疑问。具体来说:

Assuming IE binary code and libraries fit in 10 MB and if say user opens 10 tabs. The result:

10 MB x 10 = 100 MB

This is wrong because memory is shared. 100MB is just the virtual memory.

结论是很难正确的计算CHROME的内存所需.

其他人的跟帖:

跟帖1.I think you’re incorrect in your assumptions and I sincerely hope google will prove you incorrect. Actually, the linux philosophy often is ‘less is more’ and this can very well be applied to google chrome. If they split up in the right parts they end up with single window renderers as seperate applications and more stuff split into small binaries. Something I suspect microsoft is doing is loading instances of plugins for all pages, even if they don’t need them. But google is not microsoft. The way google employees work on open source projects seems way better than anything I’ve ever seen from microsoft, and I suspect that google will again deliver a good product.

I can imagine google chrome eating more resources than midori, epiphany or firefox (3), but I don’t think it will be the next microsoft product memory usage wise.

跟帖 2: What causes issues for me with firefox is not how much memory a tab uses, but that closing a tab doesn’t cause the memory use to go down. I have to restart firefox a few times a day otherwise it will slowly eat all the free memory and swap space on my system.

家园 【原创】Chrome进程管理(3)--- 进程,进程,还

Chrome进程管理(3)--- 进程,进程,还是进程

毛主席教导我们:路线是个纲,纲举目张。CHROME告诉我们:进程是个纲,纲举网(页)张。实际上IE8也教导我们了,可惜IE8那个BETA版不怎么好用。(俺在Windows Server 2008上安装试用的效果不佳。和别的软件混在一起,居然把俺的2008给搞蓝屏了---还是非常稳定的蓝屏。怎么启动都是蓝屏,瞎子害眼 --- 没治了。)

什么是进程与线程?

如果说OS(比如WINDOWS)是个大居民楼的话,进程就是大楼中的单元房,那个线程就是单元房中的睡房。通常情况下,用户启动一个(应用)程序就开启了一个进程,比如启动一个Microsoft Word,这就相当大楼里面的某个单元入住了一个(户)人(家)。传统的浏览器用的是大单元房的概念,一个Firefox就是一个进程,一个页面的TAB(睡房)就对应了一(多)个线程。这样做的好处是省资源。你想,如果一个大单元就一个厨房和厕所,住人的地方(睡房)不就多了吗?缺点吗,没有隐私,也不是很安全,特别是不是一家人住在一个单元内。想想看也是,隔壁睡房的张三带女朋友来幽会,动静闹得大了点,这不是给俺这王老五添堵吗;李四的前男友上门讨债来了,手上还牵了条大狼狗,俺就是呆在自己的小睡房也怕的要死,可惜睡房门口不能装防盗门(单元房门口到是可以装防盗门,整个单元房还可以装安全监控装置)。要是每个单元房都只有一个睡房,一个厨房,和一个厕所那就理想了。不过这样的话,大家都要有多多的米(建筑成本高)。

与大居民楼中的单元房的概念类似,进程是OS(比如WINDOWS)安全设计中最基本的原始单位。一般而言,进程和进程不共享(虚拟)内存,彼此之间互不干扰。

大居民楼里增加单元房的事情不是太好办。如果要加的话通常只能在楼顶上加盖的办法,受地基,结构,供电,给排水系统的限制,能增加的数目非常有限。计算机相对好办些,WINDOWS上进程这个东西理论上可以开很多很多,但受计算机速度和内存容量的限制,这个数目还是有相当的限制。否则,你的计算机不会比老蜗牛快多少。把时间回溯5年,那时的计算机基本上是单CPU,小于1 GB的内存。所以那个时候的应用(程序)大多是单进程的设计(别和俺抬杠服务器的事情)。当然即使现在,应用(程序)依然大多是单进程设计,不为别的原因,多进程的应用(程序)设计起来太复杂,实现的难度大了很多。想想看也是,如果兄弟家,父母家,岳父母家都住在一个大楼的不同单元内一定会增加很多的“沟通成本”;如果沟通不好的话,还会平白无故会生出很多事非。

现在的情况和以前大不相同。现在买个计算机起码都是双(核)CPU, 2 GB的内存。游戏发烧友3,4(核)CPU,4 GB内存的机器都用上了。由于上网浏览成为计算机病毒流行和安全的头号威胁,采用多进程的设计的浏览器就变得既有必要又为可行。

于是乎,GOOGLE宣布张三李四的那些问题解决了:Chrome中张三住的单元(Render Process)就他一人,他幽会的动静大了也吵不到别人;李四的男友可以上门讨债,但是那条大狼狗要寄放在大楼的拴狗房(Plugin Process);慢着,还有关键的一条 --- 进哪个单元前到门房(Browser Process)登记一下,每个单元只能会客一位(次),这样张三的女朋友林小姐和薛小姐也就相安无事了;当然,大狼狗进拴狗房,小京八也进拴狗房,牛进牛棚,叫驴有驴槽。

预告:Chrome进程管理(4)--- 进程的分类,管理,和通信。

关键词(Tags): #PLUGIN#线程#进程#Chrome#Chrome浏览器元宝推荐:铁手,
家园 我VS2008 Build 失败了

好像都是跟一个inline function 有关 :(

全看树展主题 · 分页首页 上页
/ 3
下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河