1、unix/linux大部分系统功能是通过系统调用实现如open/close。
2、Unix/Linux的系统嗲用已被封装成c函数的形式,但他们并不是标准c的一部分
3、标准库大部分时间运行在用户态,
但部分函数偶尔也会调用系统调用,进入内核态。
如malloc/free。
4、程序员自己编写的代码也可以调用系统调用,
如操作系统内核交互,进入内核态。
如brk/sbrk/mmap/munmap。
5、系统调用在内核中实现,其外部接口定义在C库中。
该接口的实现借助软中断进入内核。
time ./a.out 测试程序运行时间命令
real 总时间,还包括等待IO的时间 + user + sys
user 用户空进执行时间
sys 内核时间
strace :跟踪程序的系统调用
网友评论