函數庫調用
|
系統調用 |
在所有的ANSI C編譯器版本中,C庫函數是相同的 | 各個操作系統的系統調用是不同的 |
它調用函數庫中的一段程序(或函數) | 它調用系統內核的服務 |
與用戶程序相聯系 | 是操作系統的一個入口點 |
在用戶地址空間執行 | 在內核地址空間執行 |
它的運行時間屬於“用戶時間” | 它的運行時間屬於“系統時間” |
屬於過程調用,調用開銷較小 | 需要在用戶空間和內核上下文環境間切換,開銷較大 |
在C函數庫libc中有大約300個函數 | 在UNIX中大約有90個系統調用 |
典型的C函數庫調用:system fprintf malloc | 典型的系統調用:chdir fork write brk; |