Kernel
O kernel gerencia recursos. Os recursos incluem tempo do processador, memória e periféricos. Ele faz isso comunicando-se diretamente com os recursos e expondo uma interface ao espaço do usuário.
Ferramentas de espaço do usuário (às vezes inclui ferramentas e utilitários GNU)
As Ferramentas do Espaço do Usuário incluem utilitários básicos como ls, cat, dd, ln, mount, etc. Eles permitem que um usuário trabalhe com recursos que o kernel fornece. O Linux (em oposição ao BSD, OSX e outros Unices) é o principal usuário das ferramentas GNU, mas nem todos os sistemas Linux os usam; um conjunto alternativo de ferramentas para o Linux é fornecido pelo Busybox.
Shell
O shell fornece o ambiente que permite ao usuário usar as Ferramentas do Espaço do Usuário. Exemplos de shells incluem bash, ksn, zsh e fish. Eles normalmente fornecem um prompt no qual o usuário pode inserir comandos que iniciam as ferramentas do espaço do usuário.
Gerenciador de Janelas
Esta é uma camada muito mais alta, normalmente existe um servidor de exibição, que é responsável pelo gerenciamento de recursos gráficos, de áudio e de E / S e fornece uma interface para ferramentas de nível superior. Geralmente, um gerenciador de exibição é a camada acima do servidor de exibição e pode fornecer itens como gerenciamento de login de usuário e gerenciamento de sessão. Acima disso, normalmente é um gerenciador de janelas. O gerenciador de janelas fornece regiões nas quais os aplicativos podem renderizar seu conteúdo, além de permitir que o usuário interaja com essas regiões, movendo, redimensionando e reordenando-as.