这几个术语在用户和编程的不同上下文中不着不同的意思,比如 service可能指OS中可调用的例程,设备驱动程序或者服务器进程,下面的列表描述了这些术语在本书中的表示的意义
- 例程
- windows API函数:
windows API文档中的可调用的子例程,包括CreateProcess, CreateFile 和 GetMessage
- 原生系统服务(或可执行系统服务)
未文档化的OS底层服务,可以从用户态调用,比如NtCreateProcessEx是CreateProcess函数调用的内核系统服务,用以创建新进程
- 内核支持函数(或例程)
仅供内核态调用的OS内部子例程,比如ExAllocatePoolWithTag是设备驱动从win操作系统堆(通常称为池)中分配内存时调用的例程。
- windows服务
由windows服务控制管理器启动的进程(虽然注册表将windows设备驱动定义为"服务",但在这里我们不这样称呼它们),比如说运行在用户态进程中的任务调度服务,它用
来支持at命令
- DLLs
作为二进制文件链接在一起的一组可调用的子例程,应用程序能够动态地装载并使用其中的子例程,包括Msvcrt.dll和Kernel32.dll, DLL相对于静态库的优势在于应用能够
共享DLL,而且windows能够保证在内存中为众多引用某DLL的应用只保存一份DLL的代码。