进程、线程及内核对象

进程、线程及内核对象笔记

 

内核对象

每个内核对象只是内核分配的一个内存块,并且只能由该内核访问,这个内存块是一种数据结构,他的成员负责维护该对象的各种信息,如进程对象有一个进程ID、一个基本优先级和一个退出代码。

由于内核对象的数据结构只能被内核访问,so应用程序是无法在内存中找到这些数据结构的并直接改变其内容的。Windows提出这个限制为了确保内核对象结构保持状态的一致,也是为了保证Microsoft能够在不破坏应用程序的情况下在这些内核对象的结构中添加、删除、修改这些数据成员;

 

内核对象使用引用计数

  内核对象由内核所有,而不是进程所有,举例说明,在做单进程限制时,我们一般会CreateMutex来创建一个命名的Mutex,再另外一个进程中再来创建或者打开相同命名的Mutex来检验有相同进程被创建。也可以这么说进程调用一个创建的内核对象函数,进程终止了但是内核对象不一定被撤销;

 

进程内核对象的句柄表

当一个进程被初始化时,

你可能感兴趣的:(操作系统,线程,内核,操作系统,对象)