首页 > 其他 > 详细

XNU内核(二):系统调用

时间:2015-03-23 17:50:25      阅读:428      评论:0      收藏:0      [点我收藏+]

BSD系统调用

技术分享

  1. 这里的456,仅指BSD风格的系统调用数量;
  2. 系统调用会经过idt64.s文件中定义的中断号到hndl_unix_scall或hndl_unix_scall64,再通过数组sysent执行不同系统调用;
  3. 虽然名义上有456个,其实从代码看来相当一部分不会去实现。
 
Mach系统调用
技术分享
  1. Mach的“系统调用”叫作mach trap
  2. 与BSD风格系统调用不同,进入hndl_mach_scall或hndl_mach_scall64,再通过数组mach_trap_table调用不同MACH_TRAP
  3. Mach trap不多,也不常用

 

其他两类系统调用

技术分享

  1. 还有二种类型的“系统调用”
  2. 通过hndl_mdep_scall或hndl_mdep_scall64进入数组machdep_call_table/machdep_call_table64,然后再调用不同MACHDEP_CALL_ROUTINE
  3. 通过hndl_diag_scall64作为起点开始执行

 

XNU内核(二):系统调用

原文:http://www.cnblogs.com/andypeker/p/4360514.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!