有同好的吗?一起聊聊吧~
(XNU,是苹果操作系统OS X的内核)
task结构
- mach层,没有进程概念,只有与进程对应的task
- mach task可以看作一个机器无关的thread执行环境的抽象;或者一个包括虚拟地址空间、IPC空间、处理器资源、调度控制、thread的容器。
thread结构 mach thread可以看作mach task的独立可调度单元,task中使用多个thread可以显著提高性能;thread结构包括下面信息:
1.调度优先级、调度策略和相关信息
2.处理器使用率统计
3.thread级port(ports实现信息传送),比如内核port和异常port
4.机器状态(thread状态依赖机器状态)
proc结构
- 这是BSD层的进程结构,扩展了mach层的task结构
- 也就是说,task结构是proc结构的一部分
uthread结构 - 这是BSD层的uthread结构,扩展了mach层的thread结构
- thread结构是uthread结构的一部分
附赠 这个截图来自权威著作《OS X Internal: A System Approach》
|