标签:
1、内核对象
定义:内核对象的数据结构只能被内核访问,因此应用程序无法在内存中找到这些数据结构并直接改变它们的内容。CreateFileMapping函数可使系统能够创建一个文件映射对象。每个内核对象只是内核分配的一个内存块,并且只能由该内核访问。该内存块是一种数据结构,它的成员负责维护该对象的各种信息。有些数据成员(如安全性描述符、使用计数等)在所有对象类型中是相同的,但大多数数据成员属于特定的对象类型。
分类:存取符号对象、事件对象、文件对象、文件映射对象、I / O完成端口对象、作业对象、信箱对象、互斥对象、管道对象、进程对象、信标对象、线程对象和等待计时器对象等。
判别:若要确定一个对象是否属于内核对象,最容易的方法是观察创建该对象所用的函数。
2、临界区和互斥体的区别:
临界区只能用于对象在同一进程里线程间的互斥访问;互斥体可以用于对象进程间或线程间的互斥访问。
临界区是非内核对象,只在用户态进行锁操作,速度快;互斥体是内核对象,在核心态进行锁操作,速度慢。
临界区和互斥体在Windows平台都下可用;Linux下只有互斥体可用。
3、一个进程中所有线程共享的内容:地址空间,全局变量,打开文件,子进程,即将发生的报警,信号与信号处理程序和账户信息
每个线程自己的独有的内容:程序计数器,寄存器,堆栈,状态
标签:
原文地址:http://www.cnblogs.com/cxmhy/p/4743127.html