看完这篇 你就能理解linux socket 的系统呼叫的流程

看完这篇 你就能理解linux socket 的系统呼叫的流程

在linux系统中,使用者态切换到核心态的方式有好几种,其中最常见的就是系统呼叫,使用者态进入核心态的方法和cpu的架构有关,对于i386架构的cpu,当程序呼叫一个系统呼叫时,系统会产生int 0x80的软中断,通过产生的软中断使用者态进入核心态,使用者态程序将系统呼叫号传入核心,在核心中,有一个系统呼叫的总的入口,我们成为system_call函式,system_call函式会根据系统呼叫号作为索引,呼叫sys_call_table中的函式,这样最终的系统呼叫的函式就被执行了。

下图是套界面层,网络层,传输层的关系图:

图1

以上就是socket的系统呼叫的一系列的流程,看完这个图,你就会明白系统呼叫的流程,下回再续,谢谢。

猜你喜欢