flowchart TD
You("You
typing commands"):::userNode Shell["Shell
interprets commands"]:::shellNode Kernel["Kernel
does the actual work"]:::kernelNode You --> Shell --> Kernel classDef userNode fill:#667eea,stroke:#333,stroke-width:2px,color:#fff,font-size:16px classDef shellNode fill:#764ba2,stroke:#333,stroke-width:2px,color:#fff,font-size:16px classDef kernelNode fill:#f093fb,stroke:#333,stroke-width:2px,color:#333,font-size:16px linkStyle default stroke:#999,stroke-width:2px,font-size:16px
typing commands"):::userNode Shell["Shell
interprets commands"]:::shellNode Kernel["Kernel
does the actual work"]:::kernelNode You --> Shell --> Kernel classDef userNode fill:#667eea,stroke:#333,stroke-width:2px,color:#fff,font-size:16px classDef shellNode fill:#764ba2,stroke:#333,stroke-width:2px,color:#fff,font-size:16px classDef kernelNode fill:#f093fb,stroke:#333,stroke-width:2px,color:#333,font-size:16px linkStyle default stroke:#999,stroke-width:2px,font-size:16px
About This Diagram
This diagram shows the three-layer architecture of how user commands are processed in Linux. When you type a command, the shell interprets it and translates it into system calls that the kernel executes to perform the actual work on hardware.