- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Chrome源码剖析精编版
另有”GoogleChrome 浏览器架构解析”
Chrome 源码剖析【一】
2009-10-16 15:17
【序】
开源是口好东西,它让这个充斥着大量工业垃圾代码和教材玩具代码的行业,多了一些艺术气息和美的潜质。它使得每个人,无论你来自米国纽约还是中国铁岭,
都有机会站在巨人的肩膀上,如果不能,至少也可以抱一把大腿。。。
现在我就是来抱大腿的,这条粗腿隶属于 Chrome (开源项目名称其实是Chromium,本来Chrome 这个名字就够晦涩了,没想到它的本名还更上一层楼...),Google
那充满狼子 野心的浏览器。每一个含着金勺子出生的人都免不了被仰慕并被唾骂,Chrome 也不例外。关于Chrome 的优劣好坏讨论的太多了,基本已经被嚼成甘
蔗渣 了,没有人愿意再多张一口了。俗话说,内行看门道外行看热闹,大部分所谓的外行,是通过使用的真实感受来评定优劣的,这无疑是最好的方式。但偏
偏还是有自 诩的内行,喜欢说内行话办外行事,一看到Chrome 用到多进程就说垃圾废物肯定低能。拜托,大家都是搞技术的,你知道多进程的缺点,Google
也知 道,他们不是政客,除了搞个噱头扯个蛋就一无所知了,人家也是有脸有皮的,写一坨屎一样的开源代码放出来遭世人耻笑难道会很开心?所谓技术的优
劣,是不能 一概而论的,同样的技术在不同场合不同环境不同代码实现下,效果是有所不同的。既然Chrome 用了很多看上去不是很美的技术,我们是不是也需
要了解一下 它为什么要用,怎么用的,然后再开口说话?(恕不邀请,请自行对号入座...)。。。
人说是骡子是马拉出来遛遛,Google 已经把 Chrome 这匹驴子拉到了世人面前,大家可以随意的遛。我们一直自诩是搞科学的,就是在努力和所谓的艺术家拉开,
人搞超女评委的,可以随意塞着屁眼用嘴 放屁,楞把李天王说是李天后,你也只能说他是艺术品位独特。你要搞科学就不行,说的不对,轻的叫无知,重的叫
学术欺诈,结果一片惨淡。所以,既然代码都有 了,再说话,就只能当点心注点意了,先看,再说。。。
我已经开始遛Chrome 这头驴了,确切一点,是头壮硕的肥驴,项目总大小接近2G。这样的庞然大物要从头到脚每个毛孔的大量一遍,那估计不咽气也要吐血的,
咱又不是做Code review,不需要如此拼命。每一个好的开源项目,都像是一个美女,这世界没有十全十美的美女,自然也不会有样样杰出的开源项目。每个美
女都有那么一两 点让你最心动不已或者倍感神秘的,你会把大部分的注意力都放在上面细细品味,看开源,也是一样。Chrome 对我来说,有吸引力的地方在于
(排名分先后...):
1. 它是如何利用多进程(其实也会有多线程一起)做并发的,又是如何解决多进程间的一些问题的,比如进程间通信,进程的开销;
2. 做为一个后来者,它的扩展能力如何,如何去权衡对原有插件的兼容,提供怎么样的一个插件模型;
3. 它的整体框架是怎样,有没有很NB 的架构思想;
4. 它如何实现跨平台的UI 控件系统;
5. 传说中的V8,为啥那么快。
但Chrome 是一个跨平台的浏览器,其Linux 和Mac 版本正在开发过程中,所以我把所有的眼光都放在了windows 版本中,所有的代码剖析都是基于windows 版
本的。话说,我本是浏览器新手、win api 白痴以及并发处理的火星人,为了我的好奇投身到这个溜驴的行业中来,难免有学的不到位看的走眼的时候,各位看
官手下超生,有错误请指正,实在看不下去,回家自己牵着遛吧。。。
扯淡实在是个体力活,所以后面我会少扯淡多说问题。。。
关于Chrome 的源码下载和环境配置,大家看这里 (windows 版本),只想强调一点,一定要严格按照说明来配置环境,特别是vs2005 的补丁和windows SDK 的
安装,否则肯定是编译不过的。。。
最后,写这部分唯一不是废话的内容,请记住以下这幅图,这是Chrome 最精华的一个缩影,如果你还有空,一定要去这里进行阅读,其中重中之重是这一篇。。。
图1 Chrome 的线程和进程模型
【一】Chrome 的多线程模型
0. Chrome 的并发模型
如果你仔细看了前面的图,对Chrome 的线程和进程框架应该有了个基本的了解。Chrome 有一个主进程,称为Browser 进程,它是老大,管理 Chrome 大部分的
日常事务;其次,会有很多Renderer 进程,它们圈地而治,各管理一组站点的显示和通信(Chrome 在宣传中
您可能关注的文档
最近下载
- 2024年秋季学期新外研版(三起)英语三年级上册课件 Unit3 Part4.pptx
- 中药的性能PPT课件.ppt
- 美剧剧本绝望主妇台词本中英文对照精排版第一季第一集.pdf
- 《考研英语阅读考前60天高分.doc VIP
- 中国科学技术(大学)高等代数(线性代数与解析几何)历年考研试题.pdf
- 2021-2022年江苏苏州太仓市六年级上册期中语文试卷及答案(部编版).doc VIP
- 2024年山东省风力发电运维值班员技能竞赛理论考试题库(含答案).docx
- 绿色消费积分实施方案.docx
- 仪表说明书_RS-485光纤中继器SP433M_FW433M使用手册.pdf
- 2021-2022学年江苏苏州太仓市五年级上册语文期中试卷及答案.doc VIP
文档评论(0)