深入研究WINDOWS内部原理笔记(1/16)

win nt架构

主要分成:

用户模式

内核模式

系统文件:

Ntoskrnl.exe:

执行体和内核

主要负责:

1.执行体功能:

进程和线程管理器

虚拟内存管理器

安全引用监视器

I/O管理

即插即用管理器

电源管理器

缓存管理器

其他一些服务组件,例如对象管理器,LPC,一些库函数和支持函数

2.内核功能

提供其他组件使用的低层操作系统原语

线程调度

中断处理

多处理器的同步

Ntkrnlpa.exe:

支持PAE(物理地址扩展)的执行体和内核(在支持大于4G内存的系统上用到)

主要负责:

Hal.dll:标准PC

Halacpi.dll:高级配置和电源接口(ACPI)PC

Halapic.dll:高级可编程中断控制器(APIC)PC

Halaacpi.dll:APIC ACPI PC

Halmps.dll:多处理器PC

Halmacpi.dll:多处理器ACPI PC

硬件抽象层

主要负责

把内核部分根底下的硬件抽象开来,把底层硬件屏蔽开来,使得NT内核可以在不同的硬件环境下保持可移植性

对硬件平台的细节进行了抽象,包括I/O接口,中断控制器

NT架构支持的硬件结构

1.Hal.dll

Win32k.sys:

Win32子系统的内核模式部分

主要负责:

1.窗口管理器

控制窗口显示

管理屏幕输出

收集来自键盘,鼠标和其他设备的输入

把用户消息传递给应用程序

2.图形设备接口GDI

一个针对图形输入设备的函数库,包括画线,文本和各种图形的函数,以及一些用于控制图形操作的函数

 

Ntdll.dll

内部支持函数和执行体函数的存根函数

(中间层)

主要负责

将用户模式的请求转译成内核模式的服务

在该层,处理器进行环境切换

(context switch)(sysenter/sysexit)

 

Kernel32,Advapi32,User32,GDI32等DLL

核心的Win32子系统DLL

 

 

windows子系统:

1.环境子系统(csrss.exe):

设计之初是为了兼容运行其他系统例如OS/2 POSIX等系统的程序,但后来由于windows3.0的成功使得windows更专注于对win子系统的支持,使得其兼容支持减弱。

职责:

控制台窗口

创建或删除进程或线程

对16为虚拟DOS机的支持

其他一些支持

2.内核模式驱动程序Win32k.sys

职责:

窗口管理器

图形设备接口GDI

3.子系统DLL

Kernel32.dll, Advapi32.dll, User32.dll和Gdi32.dll等

4.图形设备驱动程序

硬件相关的图形显示器驱动程序,打印机驱动程序和视频微端口驱动程序

 

系统进程和系统线程

会话管理器(Smss.exe)

登陆管理器WinLogon(Winlogon.exe)

服务控制管理器(Services.exe)

本地安全策略(LSASS.exe),管理活动目录,SAM服务器,事件记录器,LSA服务器

 

本笔记绝大多数内容出自technet网络广播之深入研究windows内部原理课程。

你可能感兴趣的:(windows)