当前位置:操作系统 > Unix/Linux >>

什么叫Linux内核系统调用

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[]中的位置。

  

上一个:REDIce-Linux--灵活的实时Linux内核
下一个:用netfilter/iptables为Linux内核2.4.x配置防火墙

更多Unix/Linux疑问解答:
路由原理介绍
子网掩码快速算法
改变网络接口的速度和协商方式的工具miitool和ethtool
Loopback口的作用汇总
OSPF的童话
增强的ACL修改功能
三层交换机和路由器的比较
用三层交换机组建校园网
4到7层交换识别内容
SPARC中如何安装Linux系统(2)
SPARC中如何安装Linux系统(1)
用Swatch做Linux日志分析
实战多种Linux操作系统共存
浅析Linux系统帐户的管理和审计
Linux2.6对新型CPU的支持(2)
电脑通通透
玩转网络
IE/注册表
DOS/Win9x
Windows Xp
Windows 2000
Windows 2003
Windows Vista
Windows 2008
Windows7
Unix/Linux
苹果机Mac OS
windows8
安卓/Android
Windows10
如果你遇到操作系统难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,