欢迎光临 Enjoy IT (ITECN.NET) 登录 | 注册 | 帮助

IE8 新特性分析:IE8的稳定性源自何处

MS宣称IE8增强了很多稳定性方面的改进,今天我抽了点时间,对这个问题进行了一个分析。

 

从Windows 2000开始,Windows提供了一种新的机制对多个进程进行统一的管理。这种机制被命名为Job(作业)。作业的一个最大特点是能够对一个进程组进行统一的管理。

对比之前IE版本的多标签页实现,之前版本的每个Tab页是基于线程的方式进行的,这种方式最大的问题是一旦某一个线程发生问题,整个IE进程都会出现问题。而且这种问题是很难彻底解决的。在IE8里面,MS终于把Job(作业)的思想进行了一次比较大规模的运用,每一个(或几个)Tab页会对应一个进程,然后有一个总的进程进行管理(如下图)

job

 

这种设计的好处就是一个Tab崩溃以后,只会影响这个Tab,对于其他的Tab是不影响的。同时,最外面的框架进程能够知道子Tab的情况,也就能够很好的实现“灾难恢复”了。

下面是父框架进程和子进程的启动参数的不同,可以看到,Job里面的进程是通过一些特殊的参数进行启动的。

job2

当然,IE8的这种结构也带来了一些问题:

  • 从开发的角度上看,带来的最大问题就是进程间的通信和管理问题,不过我相信,这一点对于恐龙级别的MS来说是小菜一碟了。
  • 从用户的角度上来看,进程对资源的消耗还是很大的。换句话说,同样的浏览模式,IE8对内存资源的消耗应该会大于IE7或者更早的版本。换来的好处是更加的稳定。

IE8,Good!

Smallfrogs
http://www.KZTechs.com

已发表 2008年8月28日 11:58 作者 smallfrogs

评论

# re: IE8 新特性分析:IE8的稳定性源自何处

2008年8月28日 15:08 by Hu2n

很客观,很充分。

# re: IE8 新特性分析:IE8的稳定性源自何处

2008年8月28日 15:09 by Hu2n

很客观,很充分。

# re: IE8 新特性分析:IE8的稳定性源自何处

2008年8月28日 18:03 by slice

我用Vista X64,但开了很多标签IE8beta2还是只有一个IE进程。

Vista下有何不同?

# re: IE8 新特性分析:IE8的稳定性源自何处

2008年8月28日 19:52 by clippit

今天安装了IE8 beta2,多了很多非常实用的功能,而且稳定性貌似比beta1强不少。以前beta1经常崩溃,有时候崩溃以后会出现一个“您的选项卡已经恢复”的提示,这样还能继续用;但是有时候就彻底僵在那里了。这个时候就只能到任务管理器里面去结束进程——第一次的时候发现居然有多个IE进程,结束了几个以后僵住的IE窗口并没有消失。后来崩溃多了就有经验了,挑那个内存占用最少的Iexplorer.exe进程,就全部结束啦~~相信这个内存占用最少的就是一个总进程吧!

不过微软做软件有时候是站在“理想状况”下考虑的,也就是内存无限,CPU无穷强悍,硬盘无限大的时候这些软件才能发挥出真正的效能。

# ???????????????????????????? » Blog Archive » Internet Explorer 8 Beta 2??????????????????

# re: IE8 新特性分析:IE8的稳定性源自何处

2008年8月29日 11:29 by Basara

IE7是崩溃王......

# re: IE8 新特性分析:IE8的稳定性源自何处

2008年9月1日 8:37 by 随风飘扬

文中内容仅对XP有效,在Vista下面不管多少个标签都只有一个IE进程,可见Vista下面的内存管理另有玄机

# re: IE8 新特性分析:IE8的稳定性源自何处

2008年9月1日 19:12 by smallfrogs

TO 随风飘扬:

1、这个特性和XP、Vista无关的,请自己调查一下

2、我的系统是Vista SP1的,难道我关闭Aero以后就不是Vista了?另外,可以从 8.0.6001 明显的看出我的系统环境就是Vista SP1。

# re: IE8 新特性分析:IE8的稳定性源自何处

2008年9月1日 20:03 by slice

TO 随风飘扬

貌似和是不是Vista无直接关系,和64位业务直接关系,我调查了一下,貌似Vista有些人也是多进程的,而有3个人和我一样是单进程的,我可以确定打开了多个标签还是不同网站,但确实是单个IE进程,搞不清楚具体啥原因出现的这种差异。

还有就是IE的崩溃恢复果然恢复的很彻底,绝对是崩溃前的状态,因为我恢复后还没来得及点它又崩溃了,呵呵,晕。

# re: IE8 新特性分析:IE8的稳定性源自何处

2008年9月2日 10:07 by bsfmig

Vista,如果打开UAC时采用管理员模式运行IE8,是单进程的。但是关闭UAC或者打开UAC直接双击IE图标,多进程。

# re: IE8 新特性分析:IE8的稳定性源自何处

2008年9月2日 10:10 by bsfmig

还有,IE7在Vista SP0和XP/2003下共享相同的文件;

IE8对所有支持的平台---XP/2003/Vista SP0 and SP1/2008同样使用相同的文件。

你可以在XP下面安装IE7,打上最新的更新,看看文件版本号,并且与同样安装最新更新的Vista SP0当中的相同文件名的文件进行比对,会发现连MD5/SHA1都是一样的。

# re: IE8 新特性分析:IE8的稳定性源自何处

2008年9月2日 15:52 by smallfrogs

To bsfmig

关于版本的区分,这一点我没有注意到。

我刚刚看了看,的确发现MS朝以同一套2进制文件为基准,采用不同的搭配方式和设置构建不同产品的模式前进的步伐非常的大。

之前,我更多的关注到Windows Vista SP1 的二进制文件和 Windows Server 2008 二进制文件一样,没有注意到IE7已经这样部署了。

# 再谈IE 8进程模型

2009年3月13日 11:33 by Asuka's Blog

今天在网上看到了微软公布了一个IE8和其他2款浏览器:Firefox和Google Chrome的速度对比的 白皮书 和 视频 ,感叹于IE8的高效和稳定。 然后结合之前Smallfrogs的 《IE8

# [????????????]??????IE 8???????????? « ??????IT???????????????IT?????????????????????????????????????????????????????????

# Windows 7 研究——IE8 松散耦合进程框架探索

2009年4月20日 14:59 by KZTechs.COM - Smallfrogs' Technical BLOG

张康宗(Smallfrogs) http://www.KZTechs.com <本文欢迎转载,但是请注明来源和作者> 在2008年8月份IE8 Beta刚刚面世不久的时候,我曾经用极短的篇幅介绍了一下IE8的新的Tab控制模型(详情见:《

# 转载: Windows 7 研究——IE8 松散耦合进程框架探索

2009年4月20日 17:47 by Felix Wang | Evangelizing the Next Web

下面是一篇介绍IE8进程框架工作原理的文章,写得很好,特地转载。 张康宗(Smallfrogs) http://www.KZTechs.com   <本文欢迎转载,但是请注明来源和作者>

# Windows 7 ????????????IE8 ?????????????????????????????? « ??????IT???????????????IT?????????????????????????????????????????????????????????

该帖子已禁止评论