Windows服务编写原理及探讨(一).doc
Windows服务编写原理及探讨共分为4部分: Windows服务编写原理及探讨(一).doc Windows服务编写原理及探讨(二).doc Windows服务编写原理及探讨(三).doc Windows服务编写原理及探讨(四).doc ### Windows服务编写原理及探讨知识点总结 #### 一、服务基础知识 **1.1 什么是服务及其特征** 服务是一种特殊的应用程序,它可以在后台运行,为本地或远程用户提供支持和服务,不受用户是否登录到计算机的影响。Windows服务的主要特点包括: - **用户授权级管理能力**:服务具有用户级别的权限管理,可以根据不同的用户身份执行相应的任务。 - **无界面运行**:大多数服务不需要用户界面,因为它们通常在后台或服务器环境中运行。 - **远程管理能力**:服务可以通过Windows NT/2000等操作系统提供的工具进行远程管理。 **1.2 服务的定义与创建** - 在Windows NT/2000中,服务被视为一种受到操作系统特别对待的程序。它本质上是一个Win32可执行文件。 - 创建一个功能完善的服务通常需要具备以下技能:动态链接库(DLLs)、结构异常处理、内存映射文件、虚拟内存、设备I/O、线程及其同步、Unicode等。 - 即便不具备上述高级技能,仍然可以通过简单的步骤创建一个基本的服务,实现安装、运行、启动和停止等功能。 **1.3 服务的用户界面问题** - 由于服务主要在无人值守的环境下运行,因此一般不需要用户界面。 - 如果服务确实需要与用户交互,则通常以控制台应用程序的形式编写,其入口点函数为`main()`而非`WinMain()`。 - 虽然服务程序很少包含用户界面,但在某些情况下(例如,需要与用户桌面进行信息交互时),服务程序可能会使用`WinMain()`作为入口点。 #### 二、服务的安全性 **2.1 安全机制概述** - Windows NT/2000等操作系统中的安全性基于用户账户。 - 进程、线程、文件、注册表键等对象都归属于某个用户。 - 当进程在特定用户账户下运行时,它会继承该用户的访问权限。 - 系统账户是一个特殊账户,赋予了最高级别的访问权限,但不能用于网络资源访问。 **2.2 服务的安全运行环境** - 服务默认在系统账户下运行,这意味着它们具有最高的权限级别。 - 可以选择让服务在普通用户账户下运行,这样服务将继承该用户的权限。 #### 三、服务的组成部分 **3.1 Service Control Manager (SCM)** - 每个Windows NT/2000系统都有一个SCM,它是Service.exe的一部分。 - SCM负责控制服务的启动、停止等操作,并且存储已安装服务的信息。 - SCM作为一个RPC Server,允许远程安装和管理服务。 **3.2 服务本身** - 服务程序必须具备接收来自SCM的信号和命令的能力,并能够向SCM报告其状态。 - 服务程序的核心在于其响应SCM指令的功能实现。 **3.3 Service Control Dispatcher (SCP)** - SCP是一个用户界面程序,允许用户管理和控制服务。 - SCP通过与SCM通信来实现对服务的操作。 - Windows 2000中的“服务”管理工具就是一个典型的SCP实例。 #### 四、设计服务的步骤 **4.1 入口点函数** - 服务的入口点通常是`main()`函数,这是服务程序的标准起点。 - 服务程序通常不使用`WinMain()`作为入口点,除非需要与用户桌面进行信息交互。 #### 总结 通过以上内容的梳理,我们了解到Windows服务是一种重要的后台运行的应用程序,它能够为用户提供持续的服务和支持,而无需用户直接干预。服务的设计涉及到安全性、架构组成等多个方面,开发者需要根据实际需求来确定服务的具体实现方式。此外,还需要关注服务的安装、启动和停止等操作的实现方法,以确保服务能够稳定可靠地运行。
- hadaxio2012-08-31不错,简明扼要,适合服务编程初学者
- 粉丝: 2
- 资源: 10
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助