struct embedded_fd_set {

unsigned long fds_bits[1];

fd_array contains a pointer to an instance of struct file for every open file; I will discuss this structure in a moment.

By default, the kernel allows each process to open nr_open_default files. This value is defined in include/linux/sched.h with the default setting of BITS_PER_LONG. On 32-bit systems, the initial number of files is therefore 32; 64-bit systems can handle 64 files simultaneously. If a process attempts to open more files at the same time, the kernel must increase the memory space for various elements of files_struct that are used to manage information on all files associated with the process.

The most important information is contained in fdtab. The kernel defines another data structure for this purpose.

Continue reading here: Info

Was this article helpful?

0 0