您的位置:首页 > 其它

Windows 的两种管理机制_注册表和服务

2015-07-16 10:03 225 查看
本文讲述了Windows的两种基本的机制,他们对于系统的管理和配置只管重要。

1, 注册表在磁盘上的内部结构?

2, 当一个应用程序请求配置信息时Windows如何获得相应的信息?

3, Windows采用了哪些手段来保护这一关键的系统数据库?

一、打开注册表:运行->regedit

二、配置数据被读取的三个时间点:

(1) 在引导过程中,系统读取有关的设置信息

(2) 在登录过程中,Explorer和其他的Windows组件从注册表中读取到每个用户的参数选择

(3) 在应用程序启动过程中,它们读取系统全局范围的设置,还读取一些针对每个用户的设置信息

三、注册表的6个根键:

(1) HKEY_CURRENT_USER:存储一些与当前登录用户有关的数据

(2) HKEY_USERS:存储有关该机器上所有账户的信息

(3) HKEY_CLASSS_ROOT:存储文件关联和组件对象模型(C0M)的对象注册信息

(4) HKEY_LOCAL_MACHINE:存储与系统有关的信息

(5) HKEY_PERFORMANCE_DATA:存储与性能有关的信息

(6) HKEY_CURRENT_CONFIG:存储关于当前硬件配置的一些信息

四、服务:几乎每一个操作系统都有一种在系统启动时刻启动进程的机制,这些进程提供了一些不依赖于任何交互用户的服务。在Windows 中,这样的进程称为服务。

五、Windows服务是由三个组件构成的:服务应用、服务控制程序(SCP),以及服务控制管理器(SCM)。

六、当安装一个包含服务的应用时,该应用的安装程序必须向系统注册它的服务。为了注册该服务,安装程序调用Windows的CreateService函数,然后就会发送一个消息给该服务将要驻留的机器上的SCM。在创建了一个服务以后,一个安装程序或者管理应用程序可以通过StartService函数来启动该服务。

七、当SCM启动一个服务进程时,该进程立即调用StartServiceCtrlDispatcher函数。该函数接收一个入口点列表,每个入口点对应于该进程中的一个服务。每个入口点是由它所对应的服务的名称来标识的。该函数创建了由一个命名管道来跟SCM进行通信,在建立了该通信管道以后,它进入一个循环,等待SCM通过该管道发送过来的命令。每次SCM启动一个属于该进程的服务时,它发送一个“服务启动”命令。该函数对于所接收到的每个启动命令,创建一个服务线程,由该线程来调用所启动服务的入口点函数,并实现该服务的命令循环。该函数一直在等待来自SCM的命令,只有当该进程的所有服务都停止时它才会将控制返回至该进程的main函数,以便服务进程在退出以前做一些资源清理工作。

八、一个服务进程内部的流程:

(1) StartServiceCtrlDispatcher激发服务线程

(2) 服务线程注册控制处理器

(3) StartServiceCtrlDispatcher在处理SCM命令时调用服务处理器

(4) 服务线程处理客户请求
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: