VS.NET(C#)-5.15_IIS6架构模型与进程的关系

IIS6架构模型与进程的关系

IIS 6的架构模型主要由如下三个组件构成:HTTP.SYSW3SVC以及W3Core。作为一个全新的架构,IIS6.0有如下让人值得关注的新特点:

    Ø      HTTP.SYS。全新的内核监听模式

    Ø      IIS6.0新的应用程序隔离模式-工作进程隔离模式

    Ø      应用程序池

    Ø      工作进程

    Ø      Web管理服务(W3SVC)

IIS 6的架构模型避免用户应用程序访问或者修改关键的操作系统数据,提供了两种处理器访问模式:用户模式(User Mode内核模式(Kernel Mode。如下图所示:


一般地,用户程序运行在User mode下,而操作系统代码运行在Kernel Mode下。Kernel Mode的代码允许访问所有系统内存和所有CPU指令。

关于User Mode和Kernel Mode以及一些Windows底层的一些内容,推荐大家看看《Microsoft Windows Internal》Four Edition, Authored by Mark E.Russinovich & David A. Solomon。


IIS5与IIS6架构模型对比

IIS5角度  

    从Performance上看,IIS5把IIS和application运行在不同的进程中,虽然他们之间采用了基于Named Pipe的异步通信方式,但是一个基于进程之间的通信不能从根本上解决对性能的影响。

    从Reliability上看,IIS5一台机器上只能运行一个worker process,每个Application运行在同一个进程中,虽然基于Application Domain的隔离能提供一定的Reliability,但是一旦整个个进程崩溃,所有的Application都受影响。

    从Mode来考虑,在IIS 5.x中InetInfo.exe对Request的监听和分发是在User Mode中进行。

 IIS6角度

 IIS6引入了Application Pool,ApplicationPool就是一个application的容器。在IIS 6中,我们可以创建若干Application Pool,在创建Web Application的时候,我们为它指定一个既定的application pool。 

    从Performance来考虑,IIS6同一台机器上可以同时运行多个Worker Process,在运行的时候,一个Worker Process(w3wp.exe)对应一个Application Pool。一个Application Pool包含一或多个Worker Process。

    从Reliability来考虑,将不同的Application置于不同的Application Pool中,从而基于Process级别的隔离。一个Application对应一个Application domain。Application之间能提供Application Domain级别的隔离。

    从Mode来考虑,在IIS 6中,这种工作被移植到kernel Mode中进行,所有的这一切都是通过一个新的组件:http.sys来负责










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值