Primeiras aulas do curso Certificação Linux LPI Essentials parte 1: Evolution and Distributions

Certificação Linux LPI Essentials parte 1: Evolution and Distributions

Linux evolution: do minix ao linux - Introdução

Neste curso, vamos começar a estudar para a prova Linux Essentials do Linux Professional Institute (LPI). A prova contém diversos objetivos, mas o objetivo real é identificar se sabemos utilizar o Linux no dia a dia.

Mas o cotidiano do usuário final com desktop ou do que utiliza um servidor web? O cotidiano dos dois, incluindo a pessoa que cuida de máquinas Linux. Seja utilizando-o na máquina pessoal, em um equivalente ao office, como o LibreOffice. Desde o meu tio utilizando um cliente de email como o Thunderbird, ou uma pessoa desenvolvendo software e "deployando" em um servidor que roda um apache HTTPD.

Em todos estes casos, eu tenho que saber utilizar no dia a dia o Linux. E tudo isto será cobrado na prova de certificação. Repare que é a base, o essencial do Linux para trabalharmos com ele. Nós não aprofundaremos em detalhes de rede ou de segurança, por exemplo.

Nós temos que abordar todos os objetivos definidos para a prova - que não serão "pegadinhas". Um exemplo de pegadinha seria: "eu estou lhe perguntando algo que, mesmo sabendo o conteúdo,você vai errar". Uma pergunta maldosa tem o propósito de induzir ao erro. A prova não tem este foco. Ela está focada em testar se já utilizamos ou sabemos como usar o Linux.

A prova irá nos mostrar questões que nós fará pensar "opa! Eu já passei por esse problema no meu cotidiano e posso resolvê-lo dessa maneira. É assim que ele funciona". Por isto, é fundamental que você use o Linux a partir de hoje.

Você pode instalar um dual boot na sua máquina, ou como uma virtual machine. Faremos o mesmo neste curso. Vamos criar quatro máquinas virtuais para instalar diferentes distribuições. Desta forma, poderemos testar diversas variações de distribuições Linux e ver como cada uma se comporta.

Se ainda não tem o Linux, instale, e assim você passará pelos problemas cotidianos. Pratique o que for executado no curso, para que na prova você veja que já passou pelo problema - e por isso, conhece a solução.

Neste primeiro curso vamos falar sobre a Comunidade Linux e a carreira no mundo open source. Vamos focar na evolução do Linux, contar um pouco o que é um sistema operacional, a história do Linux, quem o criou e outras informações. Para algumas pessoas o conteúdo pode ser um pouco desinteressante, mas é extremamente importante para a prova. Você tem a opção de ler o texto ou assistir o vídeo mais rapidamente.

No entanto, se você não conhece o conteúdo, é importante dar atenção a esta parte. Ela será cobrada na prova. Você poderá errar quatro questões por não ter estudado essa parte de evolução e história do Linux. E se a prova tiver 40 questões, errar quatro delas significa desperdiçar 10% da prova. É uma grande porcentagem.

Linux evolution: do minix ao linux - Evolução do Linux e sistemas operacionais populares

Este tópico cobrará conhecimentos sobre a evolução do Linux e dos Sistemas Operacionais Populares. Mas o que é um Sistema Operacional?

Quando falamos em sistema operacional, estamos acostumados a lembrar do Windows, pois é um sistema muito utilizado, tanto por pessoas, como por empresas. É comum dizermos: "comprei um computador Windows". Porém, computador e Windows são duas coisas totalmente diferentes. Talvez, você já tenha falado isto ou frases do tipo: "eu comprei um Mac" ou "eu comprei um Linux".

Na verdade, o que compramos é um computador, que pode ser fabricado pela Toshiba, por exemplo. Temos também computadores fabricados pela Apple, como os MacBooks Pro.

Os computadores possuem vários periféricos conectados, como teclado, monitor, trackpad. Computadores e seus componentes são componentes físicos. O termo que utilizamos para denominá-los é hardware. Neste momento, apenas queremos deixar o termo explicado. Falaremos mais detalhes sobre o assunto em um outro momento.

Nós, usuários finais, precisamos interagir com o computador (hardware) de alguma maneira. Para isto, nós utilizamos aplicações. Podemos, por exemplo, navegar na internet através de um navegador web, como o Google Chrome. Utilizamos editores de texto, como o Microsoft Word ou editores mais simples como o Sublime Text. Existem também aplicações para ouvir músicas, ver filmes, etc. São vários tipos de aplicações que podemos rodar no computador. Perceba que existe: usuário, aplicação e hardware.

Imagine que você está com uma página aberta no Google Chrome e deseja imprimir o conteúdo da página. Você utiliza o atalho para imprimir (Ctrl + P). Observe que existem vários tipos de impressora: laser, jato de tinta, matricial, etc. Existem também diversas marcas e cada uma delas pode possuir vários modelos. Cada impressora funcionará de uma maneira diferente, e mesmo as que são do mesmo tipo, mas de marcas diferentes,podem não funcionar igual. A forma de se comunicar com cada um desses modelos, consequentemente, também é diferente.

Será que é responsabilidade dos desenvolvedores do Google Chrome saber todos os detalhes sobre como cada um dos modelos de impressora já fabricados se comportará - mantendo-se atualizados sobre novos modelos e funcionalidades? Além de impressoras, temos vários outros periféricos que o Google Chrome tem que lidar, como mouses e teclados. Imagine ter que conhecer os detalhes para se comunicar com todos esses periféricos, para assim conseguir atender diversos usuários. Praticamente impossível.

Entre o hardware e os usuários finais, existe um aplicativo. E entre o aplicativo e o hardware existe algo que irá nos ajudar de diversas maneiras. Este será responsável por operacionalizar o computador, será a ponte entre o aplicativo e o hardware. Nós chamamos esta ponte de Sistema Operacional.

Uma das coisas que o sistema operacional irá permitir, é que por exemplo, os programadores do Chrome,trabalhem de uma forma genérica. O navegador vai imprimir, mas neste momento não importa para onde. O importante será a ação Imprimir. O sistema operacional é quem se encarregará dos detalhes. O sistema operacional, trabalhará em conjunto com bibliotecas (libraries). Essas bibliotecas saberão se comunicar com os mais diversos tipos de impressoras.

Isto faz com que o programador de um aplicativo, qualquer um que tenha a função de imprimir, não precise se importar com os detalhes sobre o tipo de impressora do usuário. É indicado para o sistema operacional ter algum conteúdo para imprimir, e o sistema operacional cuidará dos detalhes para que a ação seja possível em vários tipos de equipamento.

Fazer esta ponte para facilitar a comunicação entre aplicações e o hardware é um dos papéis fundamentais do sistema operacional.

O sistema operacional fornece uma base para executar as aplicações. Cada sistema operacional fornece suporte a aplicações específicas feitas para aquele sistema. Um Mac suportará aplicações do Mac, o Linux da suporte as aplicações do Linux. O mesmo ocorre com o Windows.

Quando utilizamos o computador, é comum executarmos mais de uma aplicação ao mesmo tempo. Mas o computador possui apenas um processador, e por isso, só é possível realizar uma tarefa por vez. Cabe ao sistema operacional gerenciar o uso do processador pelos programas em execução, fazendo com que cada programa utilize o processador por um determinado tempo e dê espaço para os outros conseguirem fazê-lo. Essas trocas ocorrem muito rápido, e ficamos com a impressão de que todos os programas estão sendo executados ao mesmo tempo.

O sistema operacional também é responsável pelo gerenciamento da memória - tanto a principal (RAM), como a secundária (HD). Se estamos utilizando o Google Chrome, e abrimos uma nova aba, será necessário mais memória RAM para o navegador. Isto também é gerenciado pelo sistema operacional. Podemos querer salvar um arquivo do editor de texto no disco, algo que também será gerenciado pelo sistema operacional.

Imagine que o usuário Lucas salvou um arquivo no disco. O usuário Guilherme, será capaz de ler este arquivo? As permissões também são responsabilidades do sistema operacional. Ele será o responsável por definir que um determinado usuário pode fazer qualquer coisa no sistema, pois ele é o administrador, ou super usuário. Um outro usuário pode acessar apenas algumas funcionalidades, mas, pode não ser capaz de instalar aplicativos, por exemplo. O controle de permissões também é feito pelo sistema operacional.

Vimos que o sistema operacional tem diversas funções. Se verificarmos a página da Wikipédia sobre sistemas operacionais podemos ver uma ilustração sobre o seguinte: O hardware se comunica diretamente com o sistema operacional, o sistema operacional se comunica com a aplicação, e a aplicação se comunica com o usuário.

O sistema operacional em utilização pode variar, e um determinado hardware pode rodar sistemas operacionais diferentes. Um computador da Apple é capaz de rodar o Mac OS. Já um computador da marca Toshiba, por exemplo, pode ser capaz de rodar os sistemas operacionais Windows e Linux. Não precisamos necessariamente ficar preso a sistema operacional.

Podemos até mesmo ter os dois sistemas operacionais instalados na mesma máquina de forma simultânea: dividimos o disco (HD) em dois pedaços - cada pedaço é chamado de partição - e em uma partição instalamos o Windows, na outra, o Linux. Também poderiam ser duas versões diferentes do Linux, por exemplo. No momento que iniciamos o computador, podemos escolher se queremos utilizar o sistema operacional da primeira ou da segunda partição. Chamamos esse procedimento de dual boot.

Quando compramos uma máquina, não necessariamente ela passará todo o tempo de vida com o sistema operacional que veio de fábrica. Se a máquina veio com Windows 7, podemos substituir por uma nova versão do Windows, como o Windows 10. Outra opção é substituir o Windows totalmente por um Linux. Em todos os casos o que estamos fazendo é trocando o sistema operacional da nossa máquina.

Existem diversos tipos de sistemas operacionais, os mais conhecido são o Linux, o Mac OS e o Windows. Agora sabemos o real papel do sistema operacional: não temos máquinas Windows ou máquinas Linux. O que temos são máquinas que rodam um determinado sistema operacional, que pode inclusive ser substituído por outro.

Aqui vamos nos aprofundar no Linux, qual o seu papel no dia a dia e quais as variações que encontramos.

Linux evolution: do minix ao linux - Os componentes do Linux

A partir de agora vamos focar no sistema operacional Linux. Neste momento vamos nos dedicar a responder o que é o Linux e do que ele é composto.

Primeiro, temos o Linux da menor forma que é compartilhado e desenvolvido. Essa menor forma do Linux, o cerne, é chamado de Kernel. É possível encontrar o kernel no site https://www.kernel.org/. Aqui conseguimos baixar todas as versões, sejam versões estáveis ou instáveis.

Mas como falamos, ao baixar o Kernel, você estará baixando o "coração" do Linux, apenas a base principal, que é o sistema operacional em si, sem muitas adições. Você não será capaz de se comunicar com impressoras específicas. Não será capaz também de interagir via alguma interface gráfica, como está acostumado normalmente.

Imagine a situação, sobre a qual já comentamos anteriormente, em que imprimimos um arquivo. Temos várias marcas, além de vários tipos e modelos de impressora. E cada uma delas pode se comunicar de maneira diferente com o computador (via usb ou bluetooth, por exemplo). Imagine se os programadores do kernel precisassem escrever um código que fosse capaz de se comunicar com cada uma das impressoras que existem no mundo.

Por outro lado, imagine pegar o código que se comunica com um impressora específica e incluir em todos os Linux existentes. Um código específico de uma impressora, estaria na máquina de todos que usassem Linux. Porém, nem todo mundo usaria a impressora. Então, não faria sentido o código estar no "coração" do Linux, lembrando que o kernel é o sistema operacional em si.

Estas outras bibliotecas de comunicação, que por exemplo, se comunicam com hardwares específicos, são a outra parte de uma distribuição Linux. Isso quer dizer que temos o kernel, e também temos as bibliotecas, conhecidas como libraries, como bibliotecas de livros. Mas no nosso caso, as bibliotecas se comunicam com diversas coisas diferentes e fazem diversas tarefas diferentes. Existem diversas bibliotecas e nós podemos colocá-las junto com o sistema operacional do Linux.

Já vimos que temos o kernel e as bibliotecas. Mas além destes, temos também alguns utilitários (utilities). Quando utilizamos um sistema operacional, podemos ter utilities que mostram quais os processos estão rodando na nossa máquina. Em alguns momentos é muito útil gerenciar processos, por exemplo, quando um programa como o Chrome trava e você quer "matar" o processo dele. Estas ferramentas não são o sistema operacional em si, mas nós queremos e precisamos de ferramentas para trabalhar com algumas questões básicas.

Além dos componentes que vimos até agora, existe outro muito importante, que nos permite comunicar com o computador: a interface de usuário (user interface). Quando falamos em interface gráfica, não estamos necessariamente falando sobre a tela de um programa. Este tipo - como a janela de um navegador, por exemplo - nós chamamos de interface gráfica de usuário (graphical user interface ou GUI).

Interface de usuário é um termo mais genérico, e representa qualquer interface com o usuário, não necessariamente uma interface gráfica. Um terminal por exemplo, é uma interface via texto. A janela do navegador, onde visualizamos as informações é uma interface de saída via texto. Temos também interfaces de entrada, como teclado, mouse, microfone, câmera. Todos esses componentes são interfaces de entrada com o usuário.

No geral, quando falamos em interface com o usuário, logo pensamos na gráfica, imaginamos a saída que temos no monitor. Mas o conceito é mais abrangente e se refere a interação entre o ser humano e a máquina, e como vimos, esta interação pode se dar por diversas interfaces.

Sobre o curso Certificação Linux LPI Essentials parte 1: Evolution and Distributions

O curso Certificação Linux LPI Essentials parte 1: Evolution and Distributions possui 244 minutos de vídeos, em um total de 76 atividades. Gostou? Conheça nossos outros cursos de Linux em DevOps, ou leia nossos artigos de DevOps.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda Linux acessando integralmente esse e outros cursos, comece hoje!

Plus

  • Acesso a TODOS os cursos da plataforma

    Mais de 1200 cursos completamente atualizados, com novos lançamentos todas as semanas, em Programação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

  • Alura Língua (incluindo curso Inglês para Devs)

    Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.

12X
R$85
à vista R$1.020
Matricule-se

Pro

  • Acesso a TODOS os cursos da plataforma

    Mais de 1200 cursos completamente atualizados, com novos lançamentos todas as semanas, em Programação, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.

  • Alura Challenges

    Desafios temáticos para você turbinar seu portfólio. Você aprende na prática, com exercícios e projetos que simulam o dia a dia profissional.

  • Alura Cases

    Webséries exclusivas com discussões avançadas sobre arquitetura de sistemas com profissionais de grandes corporações e startups.

  • Certificado

    Emitimos certificados para atestar que você finalizou nossos cursos e formações.

  • Alura Língua (incluindo curso Inglês para Devs)

    Estude a língua inglesa com um curso 100% focado em tecnologia e expanda seus horizontes profissionais.

12X
R$120
à vista R$1.440
Matricule-se
Conheça os Planos para Empresas

Acesso completo
durante 1 ano

Estude 24h/dia
onde e quando quiser

Novos cursos
todas as semanas