I have an interest in Operating Systems. So I am reading the xv6 book to understand Operating Systems. This is my first book on the subject. I read a line I couldn't understand.
Internally, the xv6 kernel uses the file descriptor as an index into a per-process table, so that every process has a private space of file descriptors starting at zero.
I thought that file descriptors represent data streams that can be written into or read from. How does that tie into the process table? Isn't the file descriptor table a part of the process's memory representing its open file resources?
Thanks in advance!