系统相关
首页 > 系统相关> > windows内核开发学习笔记三十二:windows子系统

windows内核开发学习笔记三十二:windows子系统

作者:互联网

        windows支持三个环境子系统:OS/2、POSIX和windows(win32)。win32子系统是必须运行的,没有它windows无法运行,其他两个系统则被配置成按需启动。到了XP版本以后,只有win32子系统随系统发布。

        在windows平台上,可执行文件(exe、dll、sys等)的格式为PE格式文件,其头部域subsystem指定了该程序运行在哪个子环境系统中,在微软开发工具的链接器(Linker )支持/SUBSYTEM命令选项来指定子系统类型。其中:为2时,说明是一个GUI应用程序;为3时是CUI控制台程序。

   windows子系统中既有用户模式部分,也有内核模式部分。

        win32k.sys一方面向用户代码提供服务,另一方面也跟windows内核紧密地融合在一起。它通过向内核注册一组出调(callout)函数,以便介入内核的线程和进程管理等处理逻辑中,同时也可以接收电源事件。对于每个线程,一旦它调用了win32k.sys的任何一个系统服务,就变成了一个GUI线程,从而纳入到了windows子系统的线程和进程管理范畴。windows内核的线程和进程数据结构为Windows子系统预留了一些域,从而win32k.sys可以方便地操作它的线程和进程。

标签:三十二,windows,dll,sys,线程,内核,子系统
来源: https://blog.csdn.net/jyl_sh/article/details/118256216