Simplificação didática do fluxo interno do Linux quando executamos um comando:
1️⃣ Você digita o comando no terminal
Exemplo: ls -la
2️⃣ O Shell interpreta o que você escreveu
Ele entende qual programa deve ser executado (ls) e quais são os argumentos (-la).
3️⃣ O Shell prepara a execução
Ele localiza o programa no sistema (/bin/ls) e inicia sua execução.
4️⃣ O programa faz uma System Call
Para acessar recursos do sistema (arquivos, memória, dispositivos), o programa precisa pedir ajuda ao Kernel através de system calls.
5️⃣ O Kernel recebe a requisição
A partir daqui a execução entra no Kernel Space, onde o sistema operacional controla o acesso ao hardware.
6️⃣ O Kernel gerencia processos e memória
Ele controla:
>qual processo está rodando
>quanto de memória ele pode usar
>quais recursos estão disponíveis
7️⃣ O Kernel acessa o sistema de arquivos
Isso acontece através de uma camada chamada VFS (Virtual File System), que permite trabalhar com vários tipos de filesystem (ext4, xfs, etc.).
8️⃣ O Kernel chama os drivers necessários
Os drivers são os componentes que sabem conversar com os dispositivos físicos.
9️⃣ O driver acessa o hardware
Pode ser um:
>SSD
>HD
>NVMe
>ou outro dispositivo de armazenamento
🔟 O hardware realiza a leitura ou escrita de dados
Os dados solicitados são buscados no dispositivo.
Caminho de volta
1️⃣1️⃣ O Kernel recebe e processa os dados
Ele organiza a resposta recebida do hardware.
1️⃣2️⃣ Os dados retornam ao programa
A resposta volta pela system call que foi feita anteriormente.
1️⃣3️⃣ O programa gera a saída
O próprio programa (ls, por exemplo) organiza os dados e envia o resultado para o terminal.
1️⃣4️⃣ O usuário vê o resultado
O terminal exibe a saída do programa na tela.
1️⃣5️⃣ Tudo isso acontece em milissegundos
Ou seja, um comando simples ativa toda uma cadeia entre...
usuário -> shell -> programa -> kernel -> filesystem -> drivers -> hardware
e volta tudo de novo.

Nenhum comentário:
Postar um comentário