本文章是作者在学习《windows内核原理与实现》一书时的读书笔记
第三篇:windows内核中的公共管理设施
3.1 对象管理
windows中对资源的管理采用了面向对象的思想。对象管理器是执行体中的组件,主要管理执行体对象。每一个对象都由对象头和对象体构成,对象头具有统一的格式,包括对象名称,类型,引用计数以及安全描述等对象管理所需要的基本信息。每一个对象都有一个对应的类型对象(这个如同java中类和实例的感觉),有31种系统定义的对象种类。
3.2 注册表和配置管理器
逻辑上来看注册表是个树状结构,存储结构是一组储巢构成,储巢相当于一个磁盘分区,基本分配单元称为块,储巢的第一个块为基本块,包含了储巢文件标识、最新序号、最后一次写操作的时间、储巢版本格式号、校验和以及储巢的内部文件名。配置管理器实现了对注册表的管理。
3.3 事件追踪
ETW:直接由内核支持的事件记录机制,有三种组件,控制器,提供者和消费者。事件追踪能力对于诊断系统的性能问题尤为重要。
3.4 安全性管理
windows既实现了以对象为基础的自主访问控制又实现了系统级的强制访问控制。涉及到安全性管理的核心组件:winlogn,SRM和lsass,其中winlogn和lsass是两个用户模式进程,SRM是执行体中的组件。winlogn负责系统登陆,包括对用户身份的认证;lsass负责管理系统本地安全策略,并将策略及时通知给内核中的SRM,在内核中SRM负责实现基于对象的访问控制以及系统全局安全策略的实施。