W task_struct, możemy znaleźć tam są:Pliki procesu, relacja między plikami w mm_struct i files_struct?
struct mm_struct *mm, *active_mm;
struct files_struct *files;
files_struct zawiera wskaźniki do maksymalnie 256 struktur danych plik, każdy opisujący plik używany przez ten proces.
struct file * fd_array[NR_OPEN_DEFAULT];
mm_struct zawiera vm_area_struct.
struct vm_area_struct * mmap; /* list of VMAs */
I vm_area_struct, możemy znaleźć:
struct file * vm_file; /* File we map to (can be NULL). */
Więc moje pytanie jest:
jaka jest relacja między plikami w fd_array i vm_file?
Czy wszystkie pliki pokazane w fd_array będą również odwzorowane w vm_area_struct w sposób podobny do tego na obrazku? Czy wszystkie pliki mapowane w vm_area_struct pojawią się w fd_array?
Dzięki,
a busy cat http://static.duartes.org/img/blogPosts/memoryDescriptorAndMemoryAreas.png