看完這篇,你就能理解linux socket 的系統調用的流程

在linux系統中,用戶態切換到內核態的方式有好幾種,其中最常見的就是系統調用,用戶態進入內核態的方法和cpu的架構有關,對於i386架構的cpu,當進程調用一個系統調用時,系統會產生int 0x80的軟中斷,通過產生的軟中斷用戶態進入內核態,用戶態進程將系統調用號傳入內核,在內核中,有一個系統調用的總的入口,我們成為system_call函數,system_call函數會根據系統調用號作為索引,調用sys_call_table中的函數,這樣最終的系統調用的函數就被執行了。

下圖是套接口層,網絡層,傳輸層的關係圖:

看完這篇,你就能理解linux socket 的系統調用的流程

圖1

以上就是socket的系統調用的一系列的流程,看完這個圖,你就會明白系統調用的流程,下回再續,謝謝。


分享到:


相關文章: