什么叫Linux内核系统调用[转]

翱翔天空♂鹏 发表于 2008-11-18 11:37:35

Linux内核系统调用(systemcall)
  
    所有的操作系统在其内核里都有一些内建的函数,这些函数可以用来完成一些系统级别的功能。Linux系统使用的这样的函数叫做“系统调用”,英文是systemcall。这些函数代表了从用户空间岛内和空间的一种转换,例如在用户空间调用open函数,则会在内核空间调用sys_open。一个已经安装的系统的支持的所有的系统调用可以在/usr/include/bits/syscall.h文件里面看到。下面是我系统的该文件的开头几行:
  
  [hwang@langchao hwang]$ head /usr/include/bits/syscall.h
  /* Generated at libc build time from kernel syscall list. */
  #ifndef _SYSCALL_H
  # error "Never use directly; include instead."
  #endif
  #define SYS_stime __NR_stime
  #define SYS_getresuid __NR_getresuid
  #define SYS_rt_sigqueueinfo __NR_rt_sigqueueinfo
  #define SYS_mmap2 __NR_mmap2
  
    每个系统调用都有一个定义好的数字,这些数字是用来构造这些系统调用的。内核通过0x80中断来管理这些系统调用。这些系统调用的对应的数字和一些参数都在调用的时候送到某些寄存器里面。
  
    系统调用的数字实际上是一个序列号,表示其在系统的一个数组sys_call_table[]中的位置。


收藏: QQ书签 del.icio.us 订阅: Google 抓虾

最新评论

发表评论

* 昵称

已经注册过? 请登录

新用户请先注册 以便能显示头像及追踪评论回复

Email
网址
* 评论
表情
 
 

分类小组论坛
杂谈, 娱乐、八卦, 文学、艺术, 体育, 旅游、同城, 象牙塔, 情感, 时尚、生活, 星座, 科技

请注意遵守中华人民共和国法律法规, 如威胁到本站生存, 将依法向有关部门报告, 同时本站的相关记录可能成为对您不利的证据.

相关法律法规
全国人大常委会关于维护互联网安全的决定
中华人民共和国计算机信息系统安全保护条例
中华人民共和国计算机信息网络国际联网管理暂行规定
计算机信息网络国际联网安全保护管理办法
计算机信息系统国际联网保密管理规定