C 在Linux中使用文件时,哪些内核模块负责?

C 在Linux中使用文件时,哪些内核模块负责?,c,linux,linux-kernel,scsi,C,Linux,Linux Kernel,Scsi,在C中调用fopen()函数时,它向内核发出系统调用。我想知道哪些内核模块负责处理系统调用并将文件描述符返回给调用程序。这些内核模块是否也负责处理read()和write()操作?如果没有,哪些模块负责 我正在忙于发出SCSI命令,希望您能提供这些信息 在C中调用fopen()函数时,它向内核发出系统调用 不完全是fopen(3)是一个库函数,它最终调用系统调用open(2) 我想知道哪些内核模块负责处理系统调用并将文件描述符返回给调用程序 没有。在Linux中,系统调用都由核心内核处理,而不是

在C中调用fopen()函数时,它向内核发出系统调用。我想知道哪些内核模块负责处理系统调用并将文件描述符返回给调用程序。这些内核模块是否也负责处理read()和write()操作?如果没有,哪些模块负责

我正在忙于发出SCSI命令,希望您能提供这些信息

在C中调用fopen()函数时,它向内核发出系统调用

不完全是
fopen(3)
是一个库函数,它最终调用系统调用
open(2)

我想知道哪些内核模块负责处理系统调用并将文件描述符返回给调用程序

没有。在Linux中,系统调用都由核心内核处理,而不是模块。请参见
fs/open.c

这些内核模块是否也负责处理read()和write()操作?如果没有,哪些模块负责

同样的交易。请参见
fs/read\u write.c

在给内核一个打开的路径时,它将首先确定您请求的文件所在的装入点。文件系统将在该装入点装入,并且该文件系统是在一个模块中实现的

文件系统在块上设备上工作。这些块设备(如SCSI、IDE)也在模块中实现

我正在忙于发出SCSI命令,希望您能提供这些信息

请看这里:

在C中调用fopen()函数时,它向内核发出系统调用

不完全是
fopen(3)
是一个库函数,它最终调用系统调用
open(2)

我想知道哪些内核模块负责处理系统调用并将文件描述符返回给调用程序

没有。在Linux中,系统调用都由核心内核处理,而不是模块。请参见
fs/open.c

这些内核模块是否也负责处理read()和write()操作?如果没有,哪些模块负责

同样的交易。请参见
fs/read\u write.c

在给内核一个打开的路径时,它将首先确定您请求的文件所在的装入点。文件系统将在该装入点装入,并且该文件系统是在一个模块中实现的

文件系统在块上设备上工作。这些块设备(如SCSI、IDE)也在模块中实现

我正在忙于发出SCSI命令,希望您能提供这些信息

请看这里:

有意义的是,它将是核心内核的一部分。谢谢您提供的信息。@Daedalus模块将在打开/读取/写入系统调用的处理过程中参与。系统调用的主要入口点在核心内核中,但不同的文件系统类型通常作为模块实现,显然,对于“正常”的文件访问,您需要在某个时候访问文件系统来处理这些系统调用。这应该是核心内核的一部分。谢谢您提供的信息。@Daedalus模块将在打开/读取/写入系统调用的处理过程中参与。系统调用的主要入口点在核心内核中,但不同的文件系统类型通常作为模块实现,显然,对于“正常”文件访问,您需要在某个点访问文件系统来处理这些系统调用。