admin 管理员组

文章数量: 1184232

(1)Native API Native API函数一般都是在Win32 API上加前Nt如Win32 API下的CreateFile对应的Native API的函数为NtCreateFile。 所有的Native API都在Ntdll.dll中实现,而Win32子系统的三个核心dll文件都依赖于Ntdll.dll。 Win32 API从Windows NT到Windows 2000,再到Windows XP基本保持不变,变化的是只是Native API。 (2)系统调用 Native API从用户模式穿越进入内核模式,调用系统服务。从用户模式进入到内核模式,是通过软件中断进入的。 软中断会将Native API中的 参数和系统服务号的参数一同传进内核模式,不同的Native API会对应不同的系统服务号。在系统服务组件中,有一个系统服务描述符表(System Service Descriptor Table)。根据这个系统服务号为索引,从表中可以查出对应系统服务函数的函数地址。 某些黑客软件或计算机病毒,往往更改系统描述符表,将标准的系统服务函数的地址,替换成有恶意代码的地址。 在系统调用中,会检验参数的合法性,这也是操作系统最后一道屏障。以后的任何操作,操作系统都不会做任何检查,任何错误都会导致系统的崩溃。 (3)硬件抽象层 Windows的设计者用硬件抽象层隔绝了操作系统与硬件的直接连接,而在中间插入了硬件抽象层。它使OS和具体硬件进行通信,其中硬件抽象层对各种硬件操作进行了抽象。 各个平台的硬件操作不尽相同,不同平台提供不同的硬件

本文标签: 系统 架构图 Windows