下面看看files_struct是如何使用默认的fdtab和fd_array的,init是Linux的第一个进程,它的文件表是一个全局变量,代码如下:C语言是不支持函数重载的,为什么open的系统调用可以有两个这样的open原型呢?也就是说,所有的系统调用都要先经过glibc才会进入操作系统。也就是说,所有的系统调用都要先经过glibc才会进入操作系统。前文已经说过,内核使用fd_install将文件管理结构file与fd组合起来,具体操作请看如下代码:
下面看看files_struct是如何使用默认的fdtab和fd_array的,init是Linux的第一个进程,它的文件表是一个全局变量,代码如下:C语言是不支持函数重载的,为什么open的系统调用可以有两个这样的open原型呢?也就是说,所有的系统调用都要先经过glibc才会进入操作系统。也就是说,所有的系统调用都要先经过glibc才会进入操作系统。前文已经说过,内核使用fd_install将文件管理结构file与fd组合起来,具体操作请看如下代码: