与维基百科相比,文件描述符的更简化描述是什么?为什么需要它们?比如说,以shell进程为例,它是如何应用的呢?
进程表是否包含多个文件描述符。如果是,为什么?
简单来说,当您打开一个文件时,操作系统会创建一个条目来表示该文件并存储有关该打开文件的信息。因此,如果您的操作系统中打开了 100 个文件,那么操作系统中将有 100 个条目(在内核中的某个位置)。这些条目由整数表示,例如 (…100, 101, 102…)。这个条目号是文件描述符。所以它只是一个整数,唯一地代表进程打开的文件。如果您的进程打开 10 个文件,那么您的进程表将有 10 个文件描述符条目。
同样,当你打开一个网络套接字时,它也用一个整数来表示,它被称为 Socket Descriptor。我希望你明白。