用户登录(即使是终端服务)到Windows中时,操作系统为用户建立一个会话,每个子系统会话都有自己的会话空间,属于某一会话的资源将从该会话空间中分配。
通常我们运行的图形界面应用程序运行在默认桌面上。交互式窗口站有独立的剪贴板、键盘、鼠标、显示器等,在它们三个桌面中,任一时刻只有一个是激活的,输入输出设备归激活的桌面所有。
Windows子系统会话有一个RIT(Raw Input Thread)线程,负责从输入设备读取原始的输入事件,然后生成消息,寄送到正确的线程消息队列中。
DirectX(包括DirectDraw和Direct3D)允许应用软件绕过GDI图形引擎直接操纵显示器硬件。
进程(process)定义了一个执行环境,包括自己私有的地址空间、一个句柄表,以及一个安全环境;线程(thread)是一个控制流,有自己的调用栈(call stack),记录了它的执行历史,每个线程代表一个指令执行序列,同时也是一个调度单元。Windows是一个多进程操作系统环境,但它对处理器资源的分配是按照线程来进行调度的。
Windows内核结构中,进程和线程的核心机制是在微内核中实现的,而管理机制是在执行体中实现的。这正符合“机制与策略分离”的原则。线程调度由微内核完成,而线程和进程的创建、各种管理属性的设置由执行体来完成。