摘要: 前几篇大概介绍了XNU内核的概况,许多地方只有一个模糊的样子;接下来打算详细分析几个系统调用,从fork开始吧~ 比如fork系统调用,在数组sysent中,是。。。 阅读全文
posted @ 2015-03-23 20:02 FranklinYang 阅读(551) 评论(0) 推荐(0) 编辑
摘要: (苹果操作系统OSX上的执行文件格式、动态库格式、静态库格式以及其他各种格式~)Mach-O格式,比ELF格式(只有4种)有更多的文件类型常见类型有EXECUTE, CORE, DYLIB, DYLINKER , BUNDLE 阅读全文
posted @ 2015-03-23 17:59 FranklinYang 阅读(492) 评论(0) 推荐(0) 编辑
摘要: (XNU,是苹果操作系统OS X的内核)OS X系统的全部IPC方式Shared MemoryMach Messaging(Mach Ports)Distributed Object for CocoaApple Events、Distributed NotificationsSockets、Por... 阅读全文
posted @ 2015-03-23 17:53 FranklinYang 阅读(2189) 评论(0) 推荐(0) 编辑
摘要: (XNU,是苹果操作系统OS X的内核) task结构 proc结构 uthread结构 thread结构 mach thread可以看作mach task的独立可调度单元,task中使用多个thread可以显著提高性能;thread结构包括下面信息: 1.调度优先级、调度策略和相关信息 2.处理器 阅读全文
posted @ 2015-03-23 17:45 FranklinYang 阅读(1893) 评论(0) 推荐(0) 编辑
摘要: (XNU,是苹果操作系统OS X的内核)BSD风格系统调用这里的456,仅指BSD风格的系统调用数量;系统调用会经过idt64.s文件中定义的中断号到hndl_unix_scall或hndl_unix_scall64,再通过数组sysent执行不同系统调用;虽然名义上有456个,其实从代码看来相当一... 阅读全文
posted @ 2015-03-23 17:38 FranklinYang 阅读(1331) 评论(0) 推荐(0) 编辑
摘要: (XNU,是苹果操作系统OS X的内核)这个截图来自权威著作《OS X Internal: A System Approach》;有足够Mach层和BSD层的细节mach部分介绍:内核Mach部分位于最底层,作为一个“微内核”承担最基本的职责:1.进程(任务)和线程抽象2.虚拟内存3.线程调度4.进... 阅读全文
posted @ 2015-03-23 17:34 FranklinYang 阅读(1916) 评论(0) 推荐(0) 编辑