核心编程名词解释,加自己的理解(待补充)

1.什么是对象,什么是内核对象?

  windows操作系统是一个面向对象的操作系统,在系统中充满了对象的概念。窗口、设备环境、代表程序的实例、进程等都是对象。对象就是一个个结构体变量。而我们在使用这些对象的时候,要先得到这个对象的句柄,才能调用相应的API去操作这些对象。而内核对象一般和系统全局性的一些功能有关。

2.使用内核对象一般的模式?

  1创建对象或打开对象得到句柄;2用句柄通过API去操作对象;3关闭句柄(句柄全部关完,对象自动销毁)。

3 内核对象引用计数和句柄表?

  内核对象被进程引用会使引用计数加1,反之会使引用计数减1,只有当引用计数为0时,对象才会被销毁。

  为什么对于同一个对象来讲,在不同的进程中,句柄值是不同的?  因为每一个进程都有自己的句柄表,当某一个进程引用某一个内核对象的时候,会在该进程的句柄表中添加一个表项,存储了该内核对象的内存地址,而该表项在句柄表中的索引就是句柄。所以在不同的进程中,句柄表不同,索引值也就不同。

  

posted @ 2016-01-12 12:54  Wings_翅膀  阅读(215)  评论(0编辑  收藏  举报