Windows内核中的关键组件

本文介绍了Windows内核的关键组件,包括HAL(硬件抽象层),其目的是隐藏硬件差异,实现平台间的移植。内核层负责处理器的调度与管理,执行体则包含多种组件如进程管理器、内存管理器等,以及对象管理器、LPC设施等支持函数,确保系统的高效运行。
摘要由CSDN通过智能技术生成

Windows操作系统虽然算不上真正意义上的微内核结构,但是它的内核部分有良好的设计以及清晰的模块结构

HAL(硬件抽象层)

HAL的设计目的是将硬件的差别隐藏起来,从而为操作系统的上层提供一个抽象的,一致的硬件资源模型,以使Windows更容易被移植到不同的硬件平台上。理想的情形是,只要硬件厂商能够提供一个HAL,Windows就能够在相应的硬件平台上运行。因此,HAL使得上层的模块无须考虑硬件的差异,它们通过HAL而不是直接访问硬件。

在Windows中,HAL是一个独立的动态链接库。尽管Windows随带了多个主流机器的HAL,但是在系统安装的时候只有一个会被选中,并拷贝和改名为hal.dll。HAL提供了一些例程供其他内核模块或设备驱动程序调用,这使得一个驱动程序可以支持同样的设备在各种硬件平台上运行。

内核层

这一层的核心任务是,让系统中的所有处理器尽可能地忙和高效。内核层可在多个处理器上并发执行,它的代码以C语言为主,也包含一部分汇编代码。

Windows的内核实现了抢占式线程调度机制,按照优先级顺序将线程分配到处理器上,并且允许高优先级的线程中断或抢占低优先级的线程。每个处理器上的线程切换也是由内核来完成,它按照调度规则让处理器放弃当前线程,选择下一个要执行的线程。每个线程都有一个基本优先级值,这是由程序在创建线程时指定的;每个线程还有一个动态优先级值,这是由程序在创建线城时指定的;每个线程还有一个动态优先级值,这是线程执行过程中根据条件在基本优先级基础上由内核来调整的,目的是让系统更快的响应用户的动作,以及在系统服务和其他低优先级进程之间平衡处理器资源的分配。

执行体

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值