當前位置:編程學習大全網 - 網站源碼 - linux 系統api 和kernel api 壹樣麽

linux 系統api 和kernel api 壹樣麽

linux kernel只提供壹種叫系統調用給應用程序,linux系統提供了glibc這樣的函數庫專門封裝了內核提供的系統調用,所以應用程序的開發就直接調用glibc庫提供的庫函數就可以了。

註:1、linux系統包括linux kernel、glibc庫等。

2、因為應用程序調用系統調用是通過匯編指令完成的,所以才有了glibc的封裝,簡化了應用開發的難度。

kernel中提供的系統調用處理函數

sys_socket、sys_open、sys_close、sys_read、sys_write等

glibc中對應的是

socket、open、close、read、write等

glibc中的socket函數就是調用了int $0x80這條匯編指令,從而使cpu切換到內核態,執行sys_socket這個函數的。

函數調用流程:

socket->int $0x80->sys_socket。

現在2.6版本的內核提供了300多個系統調用:

glibc的下載地址:

http://ftp.gnu.org/gnu/glibc/

linux kernel的下載地址:

http://www.kernel.org/pub/linux/kernel/

  • 上一篇:如何使用monitor抓取traceview文件
  • 下一篇:藍牙4.0源代碼
  • copyright 2024編程學習大全網