转自http://www.cnblogs.com/weiym/p/3280313.htmlSession我们平常所说的Session是指一次终端登录, 这里的终端登录是指要有自己的显示器和鼠标键盘等, 它包括本地登录和远程登录。在XP时代每次终端登录才会创建一个Session,但是在Vista后所有的服务程序都运行在Session 0, 其他终端会依次运行在session 1, session 2...Logon Session登录Session是指不同帐号的登录,它包括System登录, 网络登录及活动交互登录等。 我们在任务管理器里可以看到各种进程运行在不同的帐号下,比如System, L Read More
posted @ 2013-09-25 17:52 AtuAtu Views(359) Comments(0) Diggs(0)
1 要注意在线程刚创建但还没开始第一次运行时(如果是给了CREATE_SUSPENDED就不会这样了),如果给线程投递APC(QueueUserAPC),那么只要APC函数没执行完,真正的线程函数就不会执行。大家可以写个例子,创建完线程立即给它不停的发APC,它将一直执行APC函数。2QueueUserAPC函数一般不会出错(参数正确的话),出错的话就是ERROR_NOT_ENOUGH_MEMORY。3 当线程函数开始执行以后,如果进入了alertable state,则系统会检查线程的APC队列,如果队列中有东西,则依次执行里面的项,每执行一项就从队列中删除一项,当通过执行清空APC队列后线 Read More
posted @ 2013-09-25 16:14 AtuAtu Views(561) Comments(0) Diggs(0)
内核层次架构windows程序运行分为内核模式和用户模式,内核模式可以访问所有的内存地址空间, 并且可以访问所有的CPU指令。一般程序运行在用户模式, 通过系统调用切换到内核模式执行系统功能,Windows系统通过这种方式来确保系统的安全和稳定。下面是内核的层次划分:硬件抽象层(Hardware Abstraction Layer) (HAL) (hal.dll)最底层隔离硬件的, 底层的第三方驱动程序就运行在这层。内核 (Kernel)实现操作系统的一些底层服务,比如线程调度, 多处理器的同步,中断/异常处理等。执行体 (Executive)(ntoskrnl.exe)实现基本的操作系统服务 Read More
posted @ 2013-09-25 15:45 AtuAtu Views(353) Comments(0) Diggs(0)