关于进程结构解决思路
关于进程结构如下是我对windows操作系统下,进程结构的理解问题有两个:1。进程维护了一个内核对象的句柄表,
关于进程结构
如下是我对windows操作系统下,进程结构的理解
问题有两个:
1。进程维护了一个内核对象的句柄表,我知道内核对象的句柄是与进程相关的,那么这些被维护的内核对象是否存在于进程的地址空间中?还是说全局的空间?
2.对于用户对象的句柄系统又是如何维护的?有没有一张表存在呢?
[解决办法]
1。进程维护了一个内核对象的句柄表,我知道内核对象的句柄是与进程相关的,那么这些被维护的内核对象是否存在于进程的地址空间中?还是说全局的空间?
这些被维护的内核对象是在内核空间,也是在进程的虚拟地址空间里;只是它们在内核空间里面
2.对于用户对象的句柄系统又是如何维护的?有没有一张表存在呢?
“用户对象的句柄系统”这句话是不成立的,在操作系统中,句柄是操作系统给程序分配的;操作系统有自己的管理,要么在各个进程中,要么系统自己可能管理
[解决办法]
之前粗看过《windows核心编程》,记得里面对这问题有详细的解释。
[解决办法]
[解决办法]建议看 《windows核心编程》 -> 《windows内核原理与实现》
[解决办法]还有《windows驱动开发技术详解》
[解决办法]1.句柄最终索引到一个指针 句柄与进程关联 句柄表在进程空间 内核对象在公共空间
2. 用户模式下使用句柄 句柄在句柄表里 句柄最终指向一个内核对象
建议看<<深入解析windows操作系统>> <<windows内核情景分析>>
[解决办法][解决办法]补充一下
有哪些内核对象?
如下:存取符号对象、事件对象、文件对象、文件映射对象、I / O 完成端口对象、作业对象、信箱对象、互斥对象、管道对象、进程对象、信标对象、线程对象和等待计时器对象等。这些对象都是通过调用函数来创建的。
除了内核对象外,你的应用程序也可以使用其他类型的对象,如菜单、窗口、鼠标光标、刷子和字体等。这些对象属于用户对象或图形设备接口(GDI)对象,而不是内核对象。
来源:http://blog.csdn.net/geeeeeeee/article/details/6564661