关于线程、进程、用户态、内核态的不严谨体会
2009-09-04 15:42
316 查看
1.进程对象,维护一个虚拟内存到物理内存的映射表,以便达到不同进程对相同虚拟内存的操作映射到对不同物理内存的操作。
2.线程对象,维护两套栈(内核态,用户态),以便不同线程的PUSH,POP堆栈操作,针对各自的虚拟内存。至于两套栈,是为了用户态和内核态切换时使用的,如系统调用。
3.用户态与内核态:用户态的线程只能访问用户态的内存空间,要想访问内核态空间,必须发生切换;
而内核态的线程,不仅可以访问内核态空间,也可以访问用户态空间,所以可以直接读写用户态空间的数据或执行用户态空间的函数,而不需要发生状态切换。
Windows32GUI编程中的WndProc()就是作为回调函数,是可以被内核态线程调用(处理SendMessage())的,也就是说位于用户空间的函数运行在了内核态。
一个线程处于哪种态,不在于执行的指令函数位于哪个空间,而在于特权寄存器是否被设置。
2.线程对象,维护两套栈(内核态,用户态),以便不同线程的PUSH,POP堆栈操作,针对各自的虚拟内存。至于两套栈,是为了用户态和内核态切换时使用的,如系统调用。
3.用户态与内核态:用户态的线程只能访问用户态的内存空间,要想访问内核态空间,必须发生切换;
而内核态的线程,不仅可以访问内核态空间,也可以访问用户态空间,所以可以直接读写用户态空间的数据或执行用户态空间的函数,而不需要发生状态切换。
Windows32GUI编程中的WndProc()就是作为回调函数,是可以被内核态线程调用(处理SendMessage())的,也就是说位于用户空间的函数运行在了内核态。
一个线程处于哪种态,不在于执行的指令函数位于哪个空间,而在于特权寄存器是否被设置。
相关文章推荐
- 关于appdomain, assembly, 进程,线程的概念体会
- 关于appdomain, assembly, 进程,线程的概念体会
- 关于appdomain, assembly, 进程,线程的概念体会
- inux内核学习之进程和线程
- 进程,轻量级进程,线程,内核线程
- windows创建进程的用户态和内核态交互----小话windows(1)
- 获取当前进程/线程的ID、句柄和内核地址
- 内核遍历进程中所有的线程
- Windows系统的四个重要概念——进程、线程、虚拟内存、内核模式和用户模式
- 关于程序、进程和线程
- 关于进程和线程
- 关于进程与线程的理解
- 关于线程中的wait、notify以及sleep的一些学习体会
- 线程、进程内核对象引用计数问题
- 关于SQL线程、进程、连接、.net连接池等方面的资料
- 关于进程与线程的区别
- 关于android中线程,进程,组件,app的理解
- 关于进程和线程以及句柄
- 关于Java中线程和进程的讨论1(创建线程和线程特点分析)
- 关于进程、线程、协程、管程、纤程、超线程的对比理解