为什么存在 Windows 服务主机?

为什么存在 Windows 服务主机?

我目前正在尝试调试 Windows 部署服务的一个问题,当将其设置为向 DHCP 服务器询问多播地址范围时,WDS 服务将无法启动,因为它会从 DHCP 收到“拒绝访问”响应。

我找不到任何文档来解释发生了什么。但我熟悉使用 Windows SysInternals进程监控检查各个正在运行的进程中发生的情况以找出问题所在。

但微软运行服务的方式让这个问题很难诊断。微软不是直接在单独的进程中运行每个系统服务,而是将它们全部作为服务主机的代理来运行。

而且,在某些情况下,单个服务主机在其下运行多个系统服务,而不是每个服务都有自己的服务主机进程 ID。

因此,使用任务管理器和进程监视器,很难分辨哪个服务主机正在运行 WDS,并且它可能与同一进程 ID 下的其他不相关的服务分组在一起。

(单一服务主机进程 ID 下何时发生进程共享的逻辑并不明显。)

我不明白为什么微软决定间接运行这样的服务,尽管这是一个非常古老的操作系统设计决策,至少可以追溯到 Windows NT。

也许微软的工程师甚至都不知道了,这只是他们正在继续进行的熟悉但过时/不必要的系统设计,但他们实际上不需要这样做。

服务主机似乎只会使操作系统的功能更加模糊,并且在出现问题时更难以调试。

这种混淆是出于某种原因而故意为之,也许是为了隐藏其反盗版许可机制的运作?

相关内容