您的位置:首页 > 其它

Mac操作系统XNU内核(二)系统调用

2015-03-23 17:38 85 查看
[b](XNU,是苹果操作系统OS X的内核)[/b]

BSD风格系统调用



这里的456,仅指BSD风格的系统调用数量;

系统调用会经过idt64.s文件中定义的中断号到hndl_unix_scall或hndl_unix_scall64,再通过数组sysent执行不同系统调用;

虽然名义上有456个,其实从代码看来相当一部分不会去实现。

Mach风格系统调用



Mach的“系统调用”叫作mach trap

与BSD风格系统调用不同,进入hndl_mach_scall或hndl_mach_scall64,再通过数组mach_trap_table调用不同MACH_TRAP

Mach trap不多,也不常用

其他两类系统调用



还有二种类型的“系统调用”

通过hndl_mdep_scall或hndl_mdep_scall64进入数组machdep_call_table/machdep_call_table64,然后再调用不同MACHDEP_CALL_ROUTINE

通过hndl_diag_scall64作为起点开始执行
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: