【Windows】Windows服务管家婆之Service Control Manager

    Service Control Manager,服务控制管理器,人称SCM就是它!在Windows内核中,都可以看到她忙碌的身影,可以说是系统服务和驱动的管家婆了!


    SCM管家婆起早贪黑,每次系统启动,她也随着而起。她凭借着自己的努力,终于在Windows的内核占据了一席之地,调配着手下许多服务和驱动。SCM她到底具有什么能力呢?她是一种远程过程调用服务,为普通程序操控计算机的服务提供了一扇方便的门,这里还包括远程计算机喔。服务配置和控制程序通过调用一系列服务函数接口使用SCM的功能!
 
    说到底,SCM在内核中默默地发挥她的作用,才能受到众多服务的尊敬,那么她到底为Windows服务做了哪些好事呢?细细想来,SCM在内核中主要担任了五大任务:
  • 维护已安装服务的数据库
  • 在需要或系统启动的时候,打开服务或驱动服务
  • 枚举已安装的服务或驱动服务
  • 为已运行的服务或驱动服务维护状态信息
  • 将控制码传递给运行中的服务
  • 锁定/解锁服务数据库
    我们现在来说说SCM的看家本领,即上面的五大任务!
 
1. 维护已安装服务的数据库
 
1.1 什么是数据库?
 
    什么是服务的数据库?数据库?听起来那么耳熟,但其实又不是那么回事,初学者一定会和MySQL等主流的数据库混为一谈,其实不太一样。这个数据库只不过是系统注册表的一些和服务相关的数据集合而已。它的具体位置是HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services。
 
 
    它很重要,因为它存储着已安装服务的一些信息。SCM可以在需要或系统启动的时候,负责启动已安装的服务。在启动的时候,SCM需要取得驱动的基本信息数据库为设备驱动提供了需要的入口。。同时数据库可以用于SCM或者程序来添加,删除,修改或配置服务。
    那数据库到底包含了哪些重要的内容呢?
    
1.2 数据库内容
 
    我们从最外窥探到里面吧。
 
1.2.1 子键名字——服务的名字
 
    先说services下的众多子键吧,什么.NET CLR Data等等不知所云的名字其实就是服务的名字,每个服务安装后都会在这个数据库里挂个名,以防SCM在启动的时候找不到它。那这个名字是谁指定,总得说清楚吧!那还要追溯到服务出生的那个夜晚...还记得Creat
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值