Linux: primeiros passos

Um sistema operacional é um conjunto de programas cuja função é gerenciar os recursos do sistema (definir qual programa recebe atenção do processador, gerenciar memória, criar um sistema de arquivos, etc.), fornecendo uma interface entre o computador e o usuário. O software é a parte lógica, o conjunto de instruções e dados processado pelos circuitos eletrônicos do hardware. Por sua vez, hardware é o conjunto de componentes eletrônicos e mecânicos do computador.

Windows x Linux

Embora possa ser executado imediatamente após a máquina ser ligada, a maioria dos computadores pessoais atualmente executa o sistema operacional através de outro programa armazenado em uma memória não-volátil ROM (tipo de memória apenas de leitura) chamado BIOS (sigla em inglês para Sistema Básico de Entrada/Saída). O BIOS é um programa de computador pré-gravado em memória permanente (conhecido como firmware) executado por um computador quando ligado. Ele é responsável pelo suporte básico de acesso ao hardware, bem como por iniciar a carga do sistema operacional.

Dentre os sistemas operacionais mais utilizados atualmente estão o Windows (e suas diferentes versão como o XP, 7, 8, etc), iOS (da Apple), Android (da Google, para celulares e tablets) e as várias distribuições de Linux. Veja um infográfico com a história dos sistemas operacionais. Na década de 1960, uma equipe de desenvolvedores da AT&T Bell Labs resolveu trabalhar em um software mais objetivo e simplificado do que aquele que era utilizado nos mainframes (computador de grande porte, dedicado normalmente ao processamento de um volume grande de informações) da época. Após alguns anos, mais precisamente em 1969, o resultado foi o sistema operacional proprietário apelidado de UNIX (Serviço de Computação e Informação Uniplexada).

O UNIX em si não existe mais como um sistema operacional moderno. Vários sistemas começaram com o código-fonte UNIX, como o OpenSolaris, FreeBSD, NetBSD e OpenBSD. Outros implementaram as chamadas do sistema Unix, APIs e comandos da biblioteca, mas que não incluíam nenhum código fonte original do UNIX, como o Minix e o Linux. Se tiver curiosidade, existe uma imagem “pura” do UNIX System V versão 4.0 do “AT&T Bell Lab” (cujas imagens de disco foram convertidas diretamente do formato original do Teledisk/TD0 para as imagens .img) para download no site WinWorld – um vídeo com a instalação desse Unix em VirtualBox também está disponível no YouTube.

Vejamos mais sobre a estrutura do UNIX, base para vários sistemas operacionais atuais, para entender o Linux e suas distribuições. O sistema UNIX é formado, basicamente, de duas partes:

  • Núcleo (ou kernel), parte que relaciona-se diretamente com o hardware. Suas principais funções são escalonamento de processos, gerenciamento de memória, operações de entrada/saída, acesso ao sistema de arquivos. O acesso ao núcleo é feito por chamadas de sistema, que são funções fornecidas pelo núcleo; essas funções são disponibilizadas para as aplicações por bibliotecas de sistema C (libc).
  • Programas de sistema, fazem a interface entre o usuário e o núcleo. Formada pelo conjunto de bibliotecas (mencionadas acima), shell (ambiente que permite que o usuário digite comandos, conhecido como terminal de texto), programas utilitários diversos (gerenciador de arquivo, editor de texto, etc) e ambiente gráfico (GUI, sigle em inglês para Interface Gráfica do Usuário).
Tela do ambiente de trabalho Gnome 3 rodando na distribuição Linux Fedora.
Tela do ambiente de trabalho Gnome 3 rodando na distribuição Linux Fedora.

Um programa, para ser executado, deve ser carregado em memória. Por ser um sistema multitarefa, o Unix utiliza uma estrutura chamada tabela de processos, que contém informações sobre cada processo, tais como: identificação do processo (PID), dono, área de memória utilizada, estado (status). Apenas um processo pode ocupar o processador em cada instante – o processo encontra-se no estado “executando” (running). Os outros processos podem estar “prontos” (ready), aguardando na fila de processos, ou então estão “dormindo” (asleep), esperando alguma condição que permita sua execução.

Sistema de arquivos é uma estrutura lógica que possibilita o armazenamento e recuperação de arquivos. No Unix, arquivos são contidos em diretórios (ou pastas), os quais são conectados em uma árvore que começa no diretório raiz (designado por /). O processo de conectar a árvore de diretórios de um dispositivo de armazenamento à árvore de diretórios raiz é chamado de “montar dispositivo de armazenamento” (montagem). Veja na figura a seguir a estrutura de diretórios (fonte: Cledir Justo):

estrutura_unix

Na década de 1980, quase todo o software era proprietário, o que significa que ele possuía donos que proibiam e evitavam a cooperação dos usuários. Assim surgiu o Projeto GNU, com o objetivo de criar um sistema operacional (chamado GNU) baseado em software livre. A GPL (GNU General Public License) baseia-se na liberdade para executar o programa (com qualquer propósito), para estudar o software, para redistribuir cópias do programa de modo que você possa ajudar ao seu próximo e liberdade para modificar o programa e distribuir estas modificações, de modo que toda a comunidade se beneficie.

Em 1991 o sistema operacional já estava quase pronto, mas restava o núcleo do sistema operacional. Então, um jovem finlandês chamado Linus Torvalds havia criado um núcleo que poderia usar todas as peças do sistema operacional GNU. Este núcleo ficou conhecido como Linux, contração de Linus e Unix (já GNU é um acrônimo para “GNU is Not Unix“). Toda essa história da criação o Unix até o Linux é contada em detalhes nesse link do site Muitas Dicas da UFPA.

Atualmente, um Sistema Operacional Linux completo é uma coleção de softwares livres (e por vezes não-livres) criados por indivíduos, grupos e organizações de todo o mundo, incluindo o núcleo Linux, conhecida como distribuição Linux.

Companhias como a Red Hat (com sua derivação gratuita, o CentOS), a SuSE, a Mandriva (união da Mandrake com a Conectiva) e a Canonical (desenvolvedora do Ubuntu), bem como projetos de comunidades como o Debian ou o Gentoo, compilam o software e fornecem um sistema completo, pronto para instalação e uso.

Ambiente de trabalho

O ambiente de trabalho de um computador consiste de um ambiente gráfico adequado ao usuário, onde ele possa abrir algumas janelas de programas e efetuar operações básicas sobre as janelas abertas e sobre o ambiente em si. Há ambientes gráficos (gerenciadores de janelas), que permitem ao usuário ter mais de uma área de trabalho ao mesmo tempo, a permitir-lhe boa distribuição das janelas dos programas abertos entre as áreas de trabalho para uma melhor organização.

O KDE foi o primeiro projeto de ambiente de trabalho gráfico, mas ele escolheu usar o conjunto de ferramentas gráficas Qt, que não era software livre na época, e o GNOME foi iniciado com base no conjunto de ferramentas GTK+. Alguns exemplos de áreas de trabalho gráfica simples e leves são o Xfce, também baseado no GTK+, e o LXDE. O MATE é a continuação do GNOME 2, bem mais leve que o GNOME 3.

Clique no link para ver alguns Programas com interface gráfica do Linux.

GRUB

O GRUB (GRand Unified Bootloader) é um multi-carregador de um sistema operacional criado pelo projeto GNU. É utilizado, normalmente, quando se deseja que um computador tenha dual booting, ou seja, que o usuário possa escolher ao iniciar a máquina, um sistema operacional dentre dois ou mais sistemas instalados. Outro boot manager, bem menos presente, é o LILO (LInux LOader).

Conclusão

O Linux é um sistema operacional gratuito, livre, de qualidade, seguro, etc. Possui muitas qualidade e vale a pena você testar. O Linux pode funcionar direto de um pen drive (veja como fazer isso clicando no link). Veja outros posts sobre Linux nesse site. A Bóson treinamentos oferece cursos de Linux, hardware, servidor, lógica de programação, Python, etc, gratuitamente no youtube.

Compartilhe :)

9 comments

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.