windows与内核

 微内核的概念与单一内核的概念是相互对立的。单一内核,一般是将系统的主要核心组件全部在内核实现。例如,内存管理器、进程管理器和I/O管理器等。可以想象,这样设计的内核各组件之间的关联很大,也就是常说的耦合性很大,不利于模块化设计。但优点也显而易见,就是速度快。各组件之间的通信全部在内核模式下完成,没有进程间的切换,也没有从用户模式到内核模式的切换。典型的单一内核的操作系统就是Linux操作系统。

    和单一内核相反,微内核定义,操作系统的主要组件(例如,内存管理器、进程管理器和I/O管理器)运行在独立的进程中,它们有自己私有的地址空间,在组件之上是微内核提供的一组服务原语。原语是通过进程间通信组成的,频繁的进程间通讯需要以消耗昂贵的CPU时间为代价。而这种代价,换来的是操作系统核心模块的耦合性降低。例如,如果想改变进程模块中进程调度的算法,只需更换进程调度模块,保持原有的原语接口。而在单一内核的操作系统中,各个模块的数据结构紧密结合,牵一发而动全身,即有一个地方稍有改动,则需要进行较大的改动。

    Windows NT在设计之初,曾考虑设计成为一个纯粹的微内核操作系统。Windows的所有程序,全部依赖于Win32核心子系统的3大模块,即Kernel32.dll、User32.dll、Gdi32.dll。其中,User32.dll负责对窗口消息的分发处理等,GDI32.dll负责对窗口的图形操作。以前这部分的实现完全是在用户模式下实现的,而在Windows NT 4.0之后,这两个dll的核心代码被放进内核模式下的Win32k.sys,同时也保留了用户模式下的原有的dll。这使得User32.dll和Gdi32.dll变得很小,它们只是负责调用内核模式下的Win32k.sys。这样提高了Windows的绘制图形的效率。因此,Windows能在众多操作系统中,图形能力表现得非常出色。

    由此可以看出,Windows不是纯粹的微内核系统,但它在内核的各个组件,达到了相对小的耦合性,同时在效率上克服了微内核效率低的特点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值