10Sep
As distribuições Linux não são apenas o kernel do Linux. Todos eles contêm outros softwares críticos, como o carregador de inicialização Grub, shell Bash, utilitários de shell GNU, daemons, servidor gráfico X.org, um ambiente de desktop e muito mais.
Todos esses diferentes programas são desenvolvidos por diferentes grupos de desenvolvimento independentes. Eles são combinados por distribuições Linux, onde eles se acumulam um para o outro para criar um sistema operacional completo "Linux".Isso é diferente do Windows, que é totalmente desenvolvido pela Microsoft.
Bootloader
Quando você liga o seu computador, o firmware do BIOS ou UEFI do seu computador carrega o software do seu dispositivo de inicialização. O primeiro programa que carrega com qualquer sistema operacional é o carregador de inicialização. Com o Linux, este é geralmente o carregador de inicialização Grub.
Se você tiver vários sistemas operacionais instalados, o Grub fornece um menu que permite escolher entre eles - por exemplo, se você tiver o Linux instalado em uma configuração de inicialização dupla, você pode escolher Linux ou Windows quando inicializar.
Grub pode arrancar o sistema Linux quase que instantaneamente se você tiver apenas um sistema operacional instalado, mas ainda está lá.O Grub lida com o processo de inicializar o Linux, emitir opções de linha de comando e permitir que você inicie o Linux de outras maneiras para fins de solução de problemas. Sem um carregador de inicialização, uma distribuição Linux simplesmente não inicializaria.
O Kernel Linux
O artigo exato do software Grub boots é o kernel do Linux. Esta é a parte do sistema que é realmente chamado de "Linux". O kernel é o núcleo do sistema. Gerencie seus dispositivos de CPU, memória e entrada / saída como teclado, mouse e displays. Como o kernel fala diretamente ao hardware, muitos drivers de hardware fazem parte do kernel do Linux e funcionam dentro dele.
Todo o outro software é executado acima do kernel. O kernel é o software de nível mais baixo, que interage com o hardware. Ele fornece uma camada de abstração acima do hardware, lidando com todas as diferentes peculiaridades de hardware, pelo que o resto do sistema pode se preocupar com elas o mínimo possível. O Windows usa o kernel do Windows NT e o Linux usa o kernel do Linux.
Daemons
Daemons são essencialmente processos em segundo plano. Eles geralmente começam como parte do processo de inicialização, então eles são uma das próximas coisas que carregam após o kernel e antes de você ver sua tela de login gráfico. O Windows refere-se a processos como "serviços", enquanto os sistemas semelhantes a UNIX se referem a eles como "daemons".
Por exemplo, o crond, que gerencia tarefas agendadas, é um daemon - o d no final significa "daemon". Syslogdé outro daemon que tradicionalmente gerencia seu log do sistema. Servidores, como o servidor sshd, são executados como daemons em segundo plano. Isso garante que eles estão sempre funcionando e ouvindo conexões remotas.
Daemons são essencialmente apenas processos em segundo plano, mas são processos ao nível do sistema que você geralmente não percebe.
Shell
A maioria dos sistemas Linux usa o shell Bash por padrão. Um shell fornece uma interface de processador de comando, permitindo que você controle seu computador digitando comandos em uma interface de texto. Os shells também podem executar scripts de shell, que são uma coleção de comandos e operações executadas na ordem especificada no script.
Mesmo se você estiver usando apenas uma área de trabalho gráfica, os shells estão sendo executados e sendo usados em segundo plano. Quando você abre uma janela de terminal, você vê um prompt do shell.
Shell Utilities
O shell fornece alguns comandos básicos embutidos, mas a maioria dos comandos shell que os usuários do Linux usam não estão incorporados no shell. Por exemplo, comandos tão críticos como o comando cp para copiar um arquivo, o comando ls para listar arquivos em um diretório e o comando rm para excluir arquivos fazem parte do pacote GNU Core Utilities. Os sistemas Linux
não funcionariam sem esses utilitários críticos. Na verdade, o shell Bash é parte do projeto GNU.É por isso que houve controvérsia sobre se o Linux deveria realmente ser chamado de "Linux" ou "GNU / Linux".Os críticos do nome do "Linux" apontaram corretamente que muito mais software entra em sistemas Linux típicos, que muitas vezes não são reconhecidos. Os críticos do nome "GNU / Linux" apontaram corretamente que um sistema Linux típico também inclui outros softwares críticos que o nome "GNU / Linux" não abrange.
Nem todos os utilitários de shell e os programas de linha de comando são desenvolvidos pelo projeto GNU.Alguns comandos e programas de terminal têm seu próprio projeto dedicado a eles.
X.org Servidor Gráfico
A parte gráfica de desktop do Linux não faz parte do kernel do Linux.É fornecido por um tipo de pacote conhecido como "servidor X", pois implementa o "sistema de janelas X" que se originou há muitos anos.
Atualmente, o servidor X mais popular - ou servidor gráfico - é X.org. Quando você vê uma janela de login ou área de trabalho gráfica, isso é X.org trabalhando sua mágica. Todo o sistema gráfico é executado pelo X.org, que interage com sua placa de vídeo, monitor, mouse e outros dispositivos. O
X.org não fornece o ambiente de trabalho completo, apenas um sistema gráfico em que os ambientes de desktop e os toolkits podem ser incorporados.
Desktop Environment
O que você realmente está usando em uma área de trabalho Linux é um ambiente de desktop. Por exemplo, o Ubuntu inclui o ambiente de desktop Unity, o Fedora inclui o GNOME, o Kubuntu inclui o KDE e a Mint geralmente inclui Canela ou MATE.Esses ambientes de desktop fornecem tudo o que você vê - o fundo da área de trabalho, os painéis, as barras de título da janela e as bordas.
Eles também geralmente incluem seus próprios utilitários construídos para se ajustarem ao ambiente de desktop como um todo. Por exemplo, o GNOME e a Unity incluem o gerenciador de arquivos Nautilus desenvolvido como parte do GNOME, enquanto o KDE inclui o gerenciador de arquivos Dolphin desenvolvido como parte do projeto KDE.
Desktop Programs
Nem todos os programas de desktop são parte de um ambiente de trabalho. Por exemplo, o Firefox e o Chrome são agnósticos desktop-ambiente. Eles são apenas programas que podem ser executados normalmente em cima de qualquer ambiente de desktop. O OpenOffice.org é outro conjunto de programas que não está vinculado a um ambiente de trabalho específico.
Você pode executar qualquer programa de desktop Linux em qualquer ambiente de trabalho, mas aqueles projetados para certos ambientes de desktop podem estar fora de lugar ou arrastar outros processos. Por exemplo, se você tentou executar o gerenciador de arquivos Nautilus do GNOME no KDE, ele ficaria fora de lugar, exigirá que você instale uma variedade de bibliotecas do GNOME e, provavelmente, inicie os processos de desktop GNOME em segundo plano quando você abriu. Mas funcionaria e seria utilizável.
distribuições Linux executam os últimos passos. Eles tomam todo esse software, combinam-no para que ele funcione bem juntos e adicione seus próprios utilitários necessários. Por exemplo, as distribuições criam seus próprios instaladores de sistemas operacionais para que você possa instalar o Linux, bem como gerentes de pacotes para instalar software adicional e manter seu software instalado atualizado.
Crédito de imagem: tao mai no Flickr