You are required to study the important system components, including important data structures, important functions and algorithms, and the various organizational, structural, logical and execution relationships between them, in one or more subsystems of the Linux kernel which provide some basic kernel functionality and clearly explain them. An important requirement is that you should try to draw as many as possible of your own diagrams, which illustrate, as many as possible of the following information:
1. The names of the fields that connect the various data structures.
2. Examples of data values in the various data structures which show their logical and structural connections.
3. Which part of the system they belong, or are executed in. For example, kernel-space/user-space; in-memory/on-disk; kernel-mode/user-mode, etc.
4. Organizational and structural relationships.
5. Logical relationships.
6. Flow of execution and/or decision making.
7. Changes in data values and/or organization structure at different stages of execution.
8. Any other organizational, structural, logical and execution relationships between the system components that may aid understanding of any important aspect of the subsystem.