Arquitetura Básica
O Linux, como qualquer sistema operacional, é composto de várias camadas que interagem entre si para fornecer um ambiente de trabalho completo. Aqui está uma visão geral da arquitetura básica do Linux:
- Camada de Hardware: Inclui todos os dispositivos periféricos como RAM, HDD, CPU etc.
- Kernel: É o componente central do Sistema Operacional, interage diretamente com o hardware e oferece serviços de baixo nível para os componentes de camadas superiores.
- Shell: Uma interface para o kernel, escondendo a complexidade das funções do kernel dos usuários. O shell recebe comandos do usuário e executa as funções do kernel.
- Utilitários: Programas utilitários que fornecem ao usuário a maioria das funcionalidades de um sistema operacional.
O Linux divide sua memória em dois espaços distintos:
- Espaço do Usuário: é o espaço de memória virtual onde todas as aplicações ou software do usuário serão executados.
- Espaço do Kernel: é o espaço de memória virtual, onde o núcleo do sistema operacional (kernel) é executado.
As aplicações/processos que funcionam no Linux utilizam os recursos gerenciados pelo kernel do Linux, como a leitura de arquivos, a criação de processos, etc., por meio de chamadas de sistema. Quando uma aplicação faz uma chamada de sistema ao Linux kernel, o kernel realiza as operações necessárias e depois retorna o controle ao programa que fez a chamada.
Estrutura de Arquivos do Linux
A estrutura de arquivos do Linux é hierárquica e começa no diretório raiz, também conhecido como “/”. Aqui está uma visão geral dos diretórios mais importantes no sistema de arquivos Linux e suas funções:
- /: Todo o sistema Linux está localizado sob o diretório /, conhecido como o diretório raiz.
- /bin: Contém arquivos executáveis que são parte do sistema operacional principal, como cat, ls, mkdir, cd, etc.
- /dev: Este diretório contém apenas arquivos especiais, incluindo aqueles relacionados aos dispositivos. Estes são arquivos virtuais, não fisicamente no disco.
- /var: Armazena informações de tempo de execução como registro do sistema, rastreamento de usuários, caches e outros arquivos que programas do sistema criam e gerenciam.
- /etc: O diretório /etc contém arquivos de configuração.
- /run: O diretório /run dá aos aplicativos um lugar padrão para armazenar arquivos transitórios de que necessitam, como soquetes e IDs de processo. Esses arquivos não podem ser armazenados em /tmp porque os arquivos em /tmp podem ser excluídos.
- /proc: O diretório /proc é semelhante ao diretório /dev porque não contém arquivos padrão. Ele contém arquivos especiais que representam informações do sistema e do processo.
- /sbin: Este é semelhante ao diretório /bin. A única diferença é que ele contém binários que só podem ser executados por um usuário root ou sudo.
- /tmp: Espaço temporário. Normalmente limpo na reinicialização.
- /boot: O diretório /boot contém os arquivos necessários para inicializar o sistema – por exemplo, os arquivos do carregador de inicialização GRUB e os kernels Linux são armazenados aqui.
- /root: Há um diretório /root também e ele funciona como o diretório home do usuário root.
- /home: O diretório /home contém uma pasta home para cada usuário. Por exemplo, se houver um usuário chamado ‘david’, então teremos uma pasta home localizada em ‘/home/david’.
Em resumo, os diretórios e suas funções no Linux são os seguintes:
- Diretórios home: /root, /home/username
- Executáveis do usuário: /bin, /usr/bin, /usr/local/bin
- Executáveis do sistema: /sbin, /usr/sbin, /usr/local/sbin
- Outros pontos de montagem: /media, /mnt
- Configuração: /etc
- Arquivos temporários: /tmp
- Kernels e Bootloader: /boot
- Dados do servidor: /var, /srv
- Informações do sistema: /proc, /sys
- Bibliotecas compartilhadas: /lib, /usr/lib, /usr/local/lib
Esperamos que este guia tenha ajudado você a compreender melhor a arquitetura do Linux e a estrutura de seus arquivos. Estudar o Linux é uma jornada fascinante e esperamos que você continue a explorar e aprofundar seus conhecimentos!
Sou um profissional na área de Tecnologia da informação, especializado em monitoramento de ambientes, Sysadmin e na cultura DevOps. Possuo certificações de Segurança, AWS e Zabbix.