疑问:关于使用计数。
偶看Windows高级编程指南,
里面提到
“内核知道有多少个进程在使用某一内核对象的原因是每个对象都有一个使用计数。使用计数是所有内核对象都拥有的一个数据成员。当对象被创建时,它的使用计数被设为1。当另一进程也访问该对象时,它的使用计数被加1。当进程终结时,内核会自动地把该进程使用的所有内核对象的使用计数减1。当某一对象的使用计数变成0时,内核就释放该对象。”
我想问的是:
1、“对象被创建时,使用计数被设为1”为什么啊?仅仅是因为这个内核对象必须在一个进程或者线程里创建的吗?而由于这个创建它的进程或者线程的存在所以使用计数就是1么?
2、“当进程终结时,内核会自动地把该进程使用的所有内核对象的使用计数减1。”
这里的内核是指操作系统还是操作系统的Kernel.dll啊?
3、内核、内核对象到底是什么概念?他们之间的关系以及他们和进程和线程的关系到底是怎样的呢?