Prévia do material em texto
<p>Introdução ao LinuxIntrodução ao Linux</p><p>Thiago Yukio Kikuchi Oliveira</p><p>stratus@lgmb.fmrp.usp.br</p><p>O que é Linux???O que é Linux???</p><p>Definição: Linux é um sistema operacional criado em 1991</p><p>por Linus Torvalds na universidade de Helsinki na Finlândia.</p><p>Mas, o que é um Sistema Operacional??</p><p>O que é Sistema Operacional (S.O.)?O que é Sistema Operacional (S.O.)?</p><p>Definição: software responsável pela criação do ambiente de trabalho da</p><p>máquina. Consiste na camada intermediária entre o aplicativo e o hardware da</p><p>máquina. É o interpretador básico de comandos, e é a interface pela qual o</p><p>usuário tem acesso aos recursos que o hardware oferece.</p><p>Sistema Operacional</p><p>Hardware</p><p>Software</p><p>Windows ou Linux ou Mac OSX, etc..</p><p>Kernel (núcleo) de um Sistema OperacionalKernel (núcleo) de um Sistema Operacional</p><p>Kernel de um sistema operacional é</p><p>entendido como o núcleo deste ou,</p><p>numa tradução literal, cerne. Ele</p><p>representa a camada mais baixa de</p><p>interface com o Hardware, sendo</p><p>responsável por gerenciar os</p><p>recursos do sistema computacional</p><p>como um todo. É no kernel que estão</p><p>definidas funções para operação</p><p>com periféricos (mouse, disco,</p><p>impressora, interface serial/interface</p><p>paralela), gerenciamento de</p><p>memória, entre outros.</p><p>OBS: o kernel por si só não tem</p><p>muitas funcionalidades.</p><p>Sistema Operacional</p><p>Hardware</p><p>Software</p><p>Kernel</p><p>Exemplos de S.O.sExemplos de S.O.s</p><p>UNIX - 1969</p><p>DOS</p><p>Windows</p><p>Mac OSX</p><p>LINUX - 1991</p><p>Sistema Operacional: UNIXSistema Operacional: UNIX</p><p>Um sistema operacional multiusuário e multitarefa</p><p>desenvolvido por Ken Thompson e Dennis Ritchie no Bell</p><p>Laboratories da AT&T em 1969, para ser usado em</p><p>minicomputadores. O UNIX é considerado um sistema</p><p>operacional poderoso que, pelo fato de ter sido escrito na</p><p>linguagem C, é mais portável , isto é, menos preso a uma</p><p>determinada máquina.</p><p>Era (e ainda é) muito utilizado em servidores.</p><p>S.O. Comercial (caro) e com código-fonte fechado</p><p>Mas.. o que é código-fonte fechado???</p><p>Código-FonteCódigo-Fonte</p><p>Os computadores não entendem a linguagem humana. Somente entendem</p><p>números. (Linguagem binária formada por 0 e 1).</p><p>Ao escrever um software deveríamos escrever em binário para que os</p><p>computadores pudessem entender. Exemplo: 11111111 00010011</p><p>Para evitar isso, foram desenvolvidos os compiladores.</p><p>Compiladores são uma espécie de “tradutores” de linguagem humana para</p><p>linguagem de máquina.</p><p>Código do</p><p>programa</p><p>Linguagem A</p><p>Linguagem de</p><p>máquina (excutável)</p><p>Código do</p><p>programa</p><p>Linguagem B</p><p>Código do</p><p>programa</p><p>Linguagem C</p><p>Compilador</p><p>Linguagem A</p><p>Compilador</p><p>Linguagem B</p><p>Compilador</p><p>Linguagem C</p><p>Código-Fonte FechadoCódigo-Fonte Fechado</p><p>Código fonte fechado significa que somente o executável do</p><p>programa (linguagem de máquina) é distribuído.</p><p>Problemas causados pelo código fonte fechado:</p><p>Sem o código-fonte não conseguimos modificar o software</p><p>Não se pode aprender como o software realmente funciona:</p><p>um estudante de mecânica pode desmontar o motor do seu carro</p><p>para saber como ele funciona por dentro;</p><p>um estudante de computação não pode ver como o Windows</p><p>funciona por dentro.</p><p>Mas no começo da década de 80 não existia Windows... quem</p><p>predominava era o Unix...</p><p>... e pirataria de software não era fácil como hoje!</p><p>E os estudantes precisavam aprender a usar um sistema Unix</p><p>Surge então, o Minix...</p><p>Surge o MinixSurge o Minix</p><p>Para poder dar aula sobre Sistemas Operacionais, um professor</p><p>holandês chamado Andrew Tannebaum criou um pequeno</p><p>sistema operacional similar ao Unix.</p><p>O pequeno sistema operacional foi batizado de Minix.</p><p>Graças ao Minix os estudantes poderiam instalar um sistema</p><p>similar ao Unix em casa para poder “brincar” com ele. E o</p><p>melhor, de graça!</p><p>Logo o Minix tornou-se popular e começou a ser utilizado na</p><p>maioria dos cursos de computação na matéria de Sistemas</p><p>Operacionais.</p><p>Problema: Apesar de o Minix ser gratuito e ter o código-fonte</p><p>aberto o mesmo era limitado. Além disso o código-fonte não</p><p>podia ser modificado e redistribuído.</p><p>Surge então, a Free Software Fundation, a GPL e o sistema</p><p>operacional GNU</p><p>Free Software Foundation e S.O. GNUFree Software Foundation e S.O. GNU</p><p>A Free Software Foundation (FSF, Fundação para</p><p>o Software Livre) é dedicada à eliminação de</p><p>restrições sobre a cópia, redistribuição,</p><p>entendimento e modificação de programas de</p><p>computadores. Criadora e mantenedora da</p><p>licença GPL</p><p>Faz isso promovendo o desenvolvimento e o uso</p><p>de software livre (código fonte aberto) em todas</p><p>as áreas da computação mas, particularmente,</p><p>ajudando a desenvolver o sistema operacional</p><p>GNU.</p><p>GNU: Projeto de Sistema Operacional iniciado em</p><p>1984 visando desenvolver um S.O. compatível</p><p>como padrão UNIX e com código-fonte aberto.</p><p>Problemas no desenvolvimento do S.O. GNU: o</p><p>kernel do sistema (batizado de HURD) estava</p><p>sendo desenvolvido lentamente em relação aos</p><p>demais softwares GNU.</p><p>Richard Stallman</p><p>Fundador da FSF</p><p>GPL – GNU Public LicenseGPL – GNU Public License</p><p>GNU General Public License (Licença Pública Geral),</p><p>GNU GPL ou simplesmente GPL, é a designação da</p><p>licença para software livre idealizada por Richard</p><p>Stallman no final da década de 1980, no âmbito do</p><p>projecto GNU da Free Software Foundation (FSF).</p><p>Em termos gerais, a GPL baseia-se em 4 liberdades:</p><p>A liberdade de executar o programa, para qualquer propósito</p><p>(liberdade nº 0)</p><p>A liberdade de estudar como o programa funciona e adaptá-</p><p>lo para as suas necessidades (liberdade nº 1). O acesso ao</p><p>código-fonte é um pré-requisito para esta liberdade.</p><p>A liberdade de redistribuir cópias de modo que você possa</p><p>ajudar ao seu próximo (liberdade nº 2).</p><p>A liberdade de aperfeiçoar o programa, e liberar os seus</p><p>aperfeiçoamentos, de modo que toda a comunidade se</p><p>beneficie deles (liberdade nº 3). O acesso ao código-fonte é</p><p>um pré-requisito para esta liberdade.</p><p>História do Linux: o nascimento do kernelHistória do Linux: o nascimento do kernel</p><p>Em 1991, Linus Torvalds um estudante de computação da</p><p>faculdade de Helsinki, cansou de usar o Minix.</p><p>Linus alegava que o Minix era muito limitado. Resolveu</p><p>então, fazer o seu próprio clone do Unix. Começou então a</p><p>desenvolver o kernel do sistema.</p><p>Linus postou uma mensagem em um fórum na Internet,</p><p>chamando outras pessoas para ajudá-lo a desenvolver o</p><p>kernel. Para isso, teve que abrir o código do kernel e o</p><p>lançou sob a licença GPL.</p><p>O kernel precisava de um nome, e todos os envolvidos</p><p>concordaram em chamá-lo de LINUX. E resolveram usar</p><p>um pingüim como mascote.</p><p>Problema: Foi desenvolvido somente o kernel, com alguns</p><p>comandos básicos. O usuário tinha que encontrar ou</p><p>codificar outros programas.</p><p>Linus Torvalds</p><p>GNU encontra o Linux GNU encontra o Linux</p><p>Linux encontra o GNU Linux encontra o GNU</p><p>Linus Torvalds</p><p>Richard Stallman</p><p>Fundador da FSF</p><p>GNU: Projeto de Sistema Operacional</p><p>iniciado em 1984 visando desenvolver um</p><p>S.O. Compatível como padrão UNIX e</p><p>com código-fonte aberto.</p><p>Problemas no desenvolvimento do</p><p>S.O. GNU: o kernel do sistema (batizado</p><p>de HURD) estava sendo desenvolvido</p><p>lentamente em relação aos demais</p><p>softwares GNU.</p><p>Linux: Kernel desenvolvido por Linus</p><p>Torvalds e outros colaboradores</p><p>Problemas do Linux: Foi desenvolvido</p><p>somente o kernel, com alguns comandos</p><p>básicos. O usuário tinha que encontrar ou</p><p>codificar outros programas.</p><p>Nasce o GNU/LinuxNasce o GNU/Linux</p><p>Junção dos softwares GNU com o kernel</p><p>Linux formaram o GNU/Linux. Atualmente,</p><p>mais conhecido como Linux.</p><p>Características do sistema</p><p>Gratuito</p><p>Código-fonte aberto (GPL – General Public</p><p>License)</p><p>Sistema Multiusuários</p><p>Sistema Multitarefa</p><p>Baixa vunerabilidade à vírus</p><p>Pode ser executado em 10 arquiteturas diferentes</p><p>(Intel, Macintosh, Alpha, Arm, etc.).</p><p>Distribuições LinuxDistribuições Linux</p><p>Atualmente, o que é chamamos de “Linux” é o kernel + um conjuntos</p><p>enorme de software. Essa combinação resulta no que chamamos de</p><p>Distribuições Linux.</p><p>As distribuições mais conhecidas são:</p>