|
函数库调用
|
系统调用 |
| 在所有的ANSI C编译器版本中,C库函数是相同的 | 各个操作系统的系统调用是不同的 |
| 它调用函数库中的一段程序(或函数) | 它调用系统内核的服务 |
| 与用户程序相联系 | 是操作系统的一个入口点 |
| 在用户地址空间执行 | 在内核地址空间执行 |
| 它的运行时间属于“用户时间” | 它的运行时间属于“系统时间” |
| 属于过程调用,调用开销较小 | 需要在用户空间和内核上下文环境间切换,开销较大 |
| 在C函数库libc中有大约300个函数 | 在UNIX中大约有90个系统调用 |
| 典型的C函数库调用:system fprintf malloc | 典型的系统调用:chdir fork write brk; |