• Nenhum resultado encontrado

Sistema GNU/Linux

N/A
N/A
Protected

Academic year: 2021

Share "Sistema GNU/Linux"

Copied!
46
0
0

Texto

(1)

FACULDADE DE TECNOLOGIA OSWALDO CRUZ

FACULDADE DE TECNOLOGIA OSWALDO CRUZ

SISTEMAS DE INFORMAÇÃO

SISTEMAS DE INFORMAÇÃO

SISTEMA GNU/LINUX

SISTEMA GNU/LINUX

André Luiz Ribeiro Simões

André Luiz Ribeiro Simões

Renato Pinheiro Destro

Renato Pinheiro Destro

Danilo Amaral Mota

Danilo Amaral Mota

Alexandre Ideo Suzuki

Alexandre Ideo Suzuki

Ivanildo Souza

Ivanildo Souza

São Paulo São Paulo 17/11/2005 - 16h33 17/11/2005 - 16h33

(2)

SUMÁRIO

SUMÁRIO

1 INTRODUÇÃO...3 1 INTRODUÇÃO...3 1.2 UM KERNEL...3 1.2 UM KERNEL...3

2 A HISTÓRIA DO SISTEMA LINUX...5

2 A HISTÓRIA DO SISTEMA LINUX...5

2.2 UM BREVE HISTÓRICO DO UNIX...5

2.2 UM BREVE HISTÓRICO DO UNIX...5

2.3 O PADRÃO POSIX...6

2.3 O PADRÃO POSIX...6

2.4 O MINIX...7

2.4 O MINIX...7

2.5 A 2.5 A HISTÓRIA DO SOFTWHISTÓRIA DO SOFTWARE LIVRE...ARE LIVRE...8...8

2.6 O PROJETO GNU...10 2.6 O PROJETO GNU...10 2.7 O KERNEL LINUX...13 2.7 O KERNEL LINUX...13 2.8 TUX, O MASCOTE...15 2.8 TUX, O MASCOTE...15

2.9 SISTEMA LINUX OU SISTEMA GNU/LINUX?...16

2.9 SISTEMA LINUX OU SISTEMA GNU/LINUX?...16

3 CARACTERÍSTICAS DE UM SISTEMA LINUX...17

3 CARACTERÍSTICAS DE UM SISTEMA LINUX...17

3.2 SISTEMA MODULARIZADO...18 3.2 SISTEMA MODULARIZADO...18 3.3 GERENCIAMENTO DE PROCESSOS...19 3.3 GERENCIAMENTO DE PROCESSOS...19 4 O SISTEMA DE ARQUIVOS...20 4 O SISTEMA DE ARQUIVOS...20 4.2 ESTRUTURA DE DIRETÓRIOS...21 4.2 ESTRUTURA DE DIRETÓRIOS...21

5 INTERFACE COM O USUÁRIO...22

5 INTERFACE COM O USUÁRIO...22

5.2 INTERATIVA...23 5.2 INTERATIVA...23 5.3 NÃO-INTERATIVA...23 5.3 NÃO-INTERATIVA...23 6. USUÁRIOS E GRUPOS...24 6. USUÁRIOS E GRUPOS...24

7. ARQUIVOS E SUAS PERMISSÕES...25

7. ARQUIVOS E SUAS PERMISSÕES...25

8. X WINDOW (AMBIENTE GRÁFICO)...26

8. X WINDOW (AMBIENTE GRÁFICO)...26

8.1 O QUE É X WINDOW?...26

8.1 O QUE É X WINDOW?...26

8.2 INICIANDO O X...26

8.2 INICIANDO O X...26

8.3 TERMINAL VIRTUAL (CONSOLE)...27

8.3 TERMINAL VIRTUAL (CONSOLE)...27

9. COMO OBTER AJUDA NO SISTEMA...28

9. COMO OBTER AJUDA NO SISTEMA...28

9.1 PÁGINAS DE MANUAL...28

9.1 PÁGINAS DE MANUAL...28

9.2 INTERNET...30

9.2 INTERNET...30

9.2.1 PÁGINAS DE 9.2.1 PÁGINAS DE REFERÊNCIA NA REFERÊNCIA NA INTERNETINTERNET...30...30

10. SURGIMENTO DAS DISTRIBUIÇÕES...31

10. SURGIMENTO DAS DISTRIBUIÇÕES...31

10.2. PADRONIZAÇÃO...31

10.2. PADRONIZAÇÃO...31

10.3. DIFERENÇAS ENTRE AS DISTRIBUIÇÕES...32

10.3. DIFERENÇAS ENTRE AS DISTRIBUIÇÕES...32

10.31. PRINCIPAIS DISTRIBUIÇÕES DE GNU/LINUX...33

10.31. PRINCIPAIS DISTRIBUIÇÕES DE GNU/LINUX...33

10.3.1. DEBIAN...33

10.3.1. DEBIAN...33

10.3.2. RED HAT...34

(3)

10.3.3. FEDORA...34 10.3.3. FEDORA...34 10.3.4. MANDRIVA...35 10.3.4. MANDRIVA...35 10.3.4.1 MANDRAKE...35 10.3.4.1 MANDRAKE...35 10.3.4.2 CONECTIVA...36 10.3.4.2 CONECTIVA...36 10.3.5.SUSE...36 10.3.5.SUSE...36 10.3.6. SLACKWARE...37 10.3.6. SLACKWARE...37

10.3.7. LINUX FROM SCRATCH...38

10.3.7. LINUX FROM SCRATCH...38

10.3.8. GENTOO...39 10.3.8. GENTOO...39 11. O GERENCIADOR DE PACOTES...39 11. O GERENCIADOR DE PACOTES...39 11.1. OS PACOTES RPM...39 11.1. OS PACOTES RPM...39 11.2. OS PACOTES DEBIAN...41 11.2. OS PACOTES DEBIAN...41

111.3. FERRAMENTAS DE GERENCIAMENTO DE 1.3. FERRAMENTAS DE GERENCIAMENTO DE PPACOTES...ACOTES...42...42

11.3.1. O DPKG...42 11.3.1. O DPKG...42 11.3.2. O APT...42 11.3.2. O APT...42 12. BIBLIOGRAFIA...43 12. BIBLIOGRAFIA...43 13. CONCLUSÃO...44 13. CONCLUSÃO...44 ÍNDICE DE ILUSTRAÇÕES ÍNDICE DE ILUSTRAÇÕES FIGURA 1: HARDWARE FIGURA 1: HARDWARE, KERNEL E SHELL..., KERNEL E SHELL...4...4

FIGURA 2: DENNIS RITCHIE (ESQUERDA), KEN THOMPSON (DIREITA) E O MAINFRAME ONDE FIGURA 2: DENNIS RITCHIE (ESQUERDA), KEN THOMPSON (DIREITA) E O MAINFRAME ONDE NASCEU O UNIX ... 5

NASCEU O UNIX ... 5

FIGURA 3: DR. ANDREW STUART TANENBAUM, AUTOR DO LIVRO SISTEMAS FIGURA 3: DR. ANDREW STUART TANENBAUM, AUTOR DO LIVRO SISTEMAS OPERACIONAIS...7

OPERACIONAIS...7

FIGURA 4: RICHARD STA FIGURA 4: RICHARD STALLMAN, FUNDADOR DO PROJETO GNU...LLMAN, FUNDADOR DO PROJETO GNU...8...8

FIGURA 5: O PDP-10 DA DEC EXIGIA A ASSINATURA DE UM NDA PARA FIGURA 5: O PDP-10 DA DEC EXIGIA A ASSINATURA DE UM NDA PARA UTILIZAÇÃO...9

UTILIZAÇÃO...9

FIGURA 6: LOGOTIPO DO PROJETO GNU... FIGURA 6: LOGOTIPO DO PROJETO GNU...11...11

FIGURA 7: LINUS TORV FIGURA 7: LINUS TORVALDS, CRIADOR ALDS, CRIADOR DO KERNEL LINUX...13DO KERNEL LINUX...13

FIGURA 8: TUX, O MASCOTE E SIMBOLO DO SISTEMA...15

FIGURA 8: TUX, O MASCOTE E SIMBOLO DO SISTEMA...15

FIGURA 9: HARDWARE, KERNELLINUX E FIGURA 9: HARDWARE, KERNELLINUX E APLICAAPLICATIVOS GNU...16TIVOS GNU...16

FIGURA 10: TIPOS DE TERMINAIS DE UM SISTEMA LINUX...18

FIGURA 10: TIPOS DE TERMINAIS DE UM SISTEMA LINUX...18

FIGURA 1 FIGURA 11: PROCESSAMENTO INTERNO 1: PROCESSAMENTO INTERNO DO KERNEL-LINUX...20DO KERNEL-LINUX...20

FIGURA 12: OS ESTADOS DE UM PROCESSO E OS COMANDOS DO ESCALONADOR DE FIGURA 12: OS ESTADOS DE UM PROCESSO E OS COMANDOS DO ESCALONADOR DE PROCESSOS...20

PROCESSOS...20

FIGURA 13: ESQUEMA DE RELAÇÃO ENTRE OS PROCESSOS E O FIGURA 13: ESQUEMA DE RELAÇÃO ENTRE OS PROCESSOS E O SERVIDOR X...27SERVIDOR X...27

(4)

1 INTRODUÇÃO

1 INTRODUÇÃO

Este trabalho tem como objetivo dar uma visão geral da arquitetura de um sistema Este trabalho tem como objetivo dar uma visão geral da arquitetura de um sistema operacional GNU/Linux. Vamos abordar desde a sua criação, sua arquitetura, suas operacional GNU/Linux. Vamos abordar desde a sua criação, sua arquitetura, suas motivações, objetivos e arriscar

motivações, objetivos e arriscar algumas previsões.algumas previsões.

Não pretendemos que este sistema é melhor que seus concorrentes mas quermos Não pretendemos que este sistema é melhor que seus concorrentes mas quermos mostar que nos dias atuais o

mostar que nos dias atuais o GNU/Linux é tão funcional quanto seus concorrentes.GNU/Linux é tão funcional quanto seus concorrentes.

1.2

1.2 UM

UM KERNEL

KERNEL

Todo sistema operacional é formado por um

Todo sistema operacional é formado por um kernel kernel 11, que é o núcleo do sistema, que é o núcleo do sistema

operacional responsável pela comunicação com o

operacional responsável pela comunicação com o hardwarehardware, ele é composto por , ele é composto por 

chamadas de acesso aos recursos da

chamadas de acesso aos recursos da máquina.máquina. O

O kernel kernel pode ser entendido com uma série de arquivos escritos em linguagem C epode ser entendido com uma série de arquivos escritos em linguagem C e

em linguagem Ass

em linguagem Assembly que constituem o núcleo do embly que constituem o núcleo do sistema operacional. É o kernelsistema operacional. É o kernel que controla todo o acesso ao hardware do computador. Ele pode ser visto como que controla todo o acesso ao hardware do computador. Ele pode ser visto como uma interface entre os programas e todo o hardware. Cabe ao kernel as tarefas de uma interface entre os programas e todo o hardware. Cabe ao kernel as tarefas de permitir que todos os processos sejam executados pela CPU e permitir que estes permitir que todos os processos sejam executados pela CPU e permitir que estes consigam compartilhar a

consigam compartilhar a memória do computador.memória do computador. A camada seguinte é a

A camada seguinte é a interfaceinterface, é o nome genérico dado ao interpretador de, é o nome genérico dado ao interpretador de

comandos, esta camada é formada por uma classe de programas específicos. comandos, esta camada é formada por uma classe de programas específicos. Exi

Existestem m gragrandendes s difdifereerençanças s ententre re asas interfacesinterfaces da da sissistemtemas as opeoperacracionionais ais dada Microsoft 

Microsoft , como o DOS e Windows e os sistemas que seguem o padrão POSIX, como o DOS e Windows e os sistemas que seguem o padrão POSIX

(Unix) que usam uma

(Unix) que usam uma interfaceinterfacedo tipodo tipo shell shell ..

(5)

Pode parecer estranho começar falando do

Pode parecer estranho começar falando do kernel kernel mas o objetivo é mostar que estamas o objetivo é mostar que esta

é uma das partes mais importantes de um sistema operacional. A alguns anos o é uma das partes mais importantes de um sistema operacional. A alguns anos o

kernel 

kernel  erera a um um cocompmpleleto to dedescscononhehecicido do ataté é memesmsmo o papara ra mumuititos os tétécncnicicos os dede

informática, mas nos últimos 14 anos um sistema fez deste ilustre desconhecido o informática, mas nos últimos 14 anos um sistema fez deste ilustre desconhecido o pivô de um dos maiores debates ideológicos, comerciais e filosóficos dos últimos pivô de um dos maiores debates ideológicos, comerciais e filosóficos dos últimos tempos.

tempos.

Sem exageros podemos dizer que por causa de um

Sem exageros podemos dizer que por causa de um kernel kernel de sistema operacionalde sistema operacional

est

está á proprovodvodandando o mudmudananças ças drádrástisticas cas em em metmetedoedologlogias ias de de tratrabalbalho, ho, visvisão ão dede ne

negócgóciosios, , parparadiadigmgmas as de de desdesenvenvolvolvimeimento nto e e comcomercercialializaização ção de de propropripriedaedadede intelectual, desde pequenas comunidades a grandes corporações multinacionais. intelectual, desde pequenas comunidades a grandes corporações multinacionais. É um pouco desta história que estamos vivendo, muitas vezes sem se dar conta, É um pouco desta história que estamos vivendo, muitas vezes sem se dar conta, que pretendemos mostrar com este trabalho.

que pretendemos mostrar com este trabalho.  Figura 1:

 Figura 1: HardwarHardware, Kernel e e, Kernel e Shell.Shell. Hardware Hardware Hardware Hardware Kernel Kernel Kernel Kernel Interface Interface Interface Interface

(6)

2

2 A

A HISTÓRIA

HISTÓRIA DO SISTEMA

DO SISTEMA LINUX

LINUX

Para compreender melhor a arquitetura, a forma de desenvolvimento, a comunidade Para compreender melhor a arquitetura, a forma de desenvolvimento, a comunidade e a filosofia do sistema GNU/Linux é necessário conhecer a sua historia desde o e a filosofia do sistema GNU/Linux é necessário conhecer a sua historia desde o início.

início.

2.2

2.2 UM

UM BREVE HI

BREVE HISTÓRICO

STÓRICO DO UN

DO UNIX

IX

Porque citar o Unix se

Porque citar o Unix se o objetivo da pesquisa é o o objetivo da pesquisa é o sistema GNU/Linux? Porque contar sistema GNU/Linux? Porque contar  a origem do sistema do pinguim sem citar seus modelos seria como contar a história a origem do sistema do pinguim sem citar seus modelos seria como contar a história do Brasil ignorando toda história anterior

do Brasil ignorando toda história anterior a independência.a independência.

As raízes do sistema UNIX encontram-se no final da década de 1960 e início da de As raízes do sistema UNIX encontram-se no final da década de 1960 e início da de 1970, o ambiente dominante na época eram os

1970, o ambiente dominante na época eram os mainframesmainframes2 2  com uma série decom uma série de

terminais ligados a ele. Esta arquitetura era caríssima e de difícil acesso, por isso terminais ligados a ele. Esta arquitetura era caríssima e de difícil acesso, por isso era necessário um sistema operacional multitarefa e principalmente multiusuário. era necessário um sistema operacional multitarefa e principalmente multiusuário.

22 MainfrMainframe é um supercame é um supercomputaomputadordor, ou comput, ou computador de grande portador de grande porte, dedicade, dedicado normalmo normalmente aoente ao processamento de um volume grande de informações.

(7)

Para compreenção da evolução deste sistema observe sua cronologia do UNIX: Para compreenção da evolução deste sistema observe sua cronologia do UNIX:

• 1965: Os Laboratórios Bell com o MIT e a General Eletric começam um1965: Os Laboratórios Bell com o MIT e a General Eletric começam um

programa grandioso de criar um novo sistema operacional, o

programa grandioso de criar um novo sistema operacional, o Multics.Multics.

• 1970: A AT&T insatisfeita com o progresso do Multics cortou o projeto e1970: A AT&T insatisfeita com o progresso do Multics cortou o projeto e

al

alguguns ns prprogograramamadodoreres s da da BeBell ll quque e trtrababalalhahavavam m no no prprojojeteto, o, enentãtão o eleleses implementaram a primeira versão do sistema de arquivos do UNIX em um implementaram a primeira versão do sistema de arquivos do UNIX em um computador PDP-7 com alguns usuários, Brian Kernighan deu o nome do computador PDP-7 com alguns usuários, Brian Kernighan deu o nome do novo sistema de UNIX como deboche em relação ao

novo sistema de UNIX como deboche em relação ao Multics.Multics.

• 1970: Tempo zero do UNIX.1970: Tempo zero do UNIX. •

• 1973: O UNIX é reescrito em C, uma nova linguaguem de programação,1973: O UNIX é reescrito em C, uma nova linguaguem de programação,

sendo de alto nível fi

sendo de alto nível ficava fácil portar novas máquinas.cava fácil portar novas máquinas.

• 1974: At&T licencia o UNIX para 1974: At&T licencia o UNIX para universidades e empresas.universidades e empresas. •

• 1977: cerca de 500 computadores com UNIX no 1977: cerca de 500 computadores com UNIX no mundo todo.mundo todo. •

• 1981984: 4: CerCerca ca de de 100100.00.000 0 comcomputputadoadores res co co UNIUNIX X rodrodandando o em em difdifereerententess

plataformas. plataformas.

• 1988: A 1988: A AAT&T T&T Sun se unem para desenvolver SolarSun se unem para desenvolver Solaris e UnixWare.is e UnixWare.

 Figura 2: Dennis Ritchie (esquer

 Figura 2: Dennis Ritchie (esquerda), da), Ken Thompson (dirKen Thompson (direita) e oeita) e o Mainframe onde nasceu o Unix.

(8)

2.3

2.3 O

O P

PADRÃO

ADRÃO POSIX

POSIX

A norma POSIX especifica as interfaces de usuário e do software ao sistema A norma POSIX especifica as interfaces de usuário e do software ao sistema operacional. POSIX é o nome de uma família de normas relacionadas definidas pelo operacional. POSIX é o nome de uma família de normas relacionadas definidas pelo IEEE

IEEE33 e designada formalmente por IEEE 1003, sendo a designação internacionale designada formalmente por IEEE 1003, sendo a designação internacional

da norma é ISO/IEC 9945. Estes padrões são a base dos sistemas inspirados e/ou da norma é ISO/IEC 9945. Estes padrões são a base dos sistemas inspirados e/ou derivados do Unix.

derivados do Unix.

A normalização das especificações POSIX surgiram de um projeto, iniciado por volta A normalização das especificações POSIX surgiram de um projeto, iniciado por volta de

de 19198585, , quque e titinhnha a cocomo mo obobjejetivtivo o nonormrmalalizizar ar a a ininteterfrfacace e de de prprogograramamaçãção o dede aplicações para software desenhado para correr em variantes do sistema operativo aplicações para software desenhado para correr em variantes do sistema operativo UNIX. O termo POSIX foi sugerido por Richard Stallman em resposta a um pedido UNIX. O termo POSIX foi sugerido por Richard Stallman em resposta a um pedido da IEEE de um nome memorável. É uma sigla aproximada de Portable Operating da IEEE de um nome memorável. É uma sigla aproximada de Portable Operating System Interface, com o X a representar a herança que o interface de programação System Interface, com o X a representar a herança que o interface de programação de aplicações tem do sistema UNIX.

de aplicações tem do sistema UNIX.

2.4

2.4 O

O MINIX

MINIX

O MINIX é uma versão do Unix, livre e com o código fonte disponível. Isso significa O MINIX é uma versão do Unix, livre e com o código fonte disponível. Isso significa que qualquer programador experiente pode fazer alterações nele. Ele foi criado que qualquer programador experiente pode fazer alterações nele. Ele foi criado originalmente para uso educacional, para quem quisesse estudar o Unix "em

originalmente para uso educacional, para quem quisesse estudar o Unix "em casa".casa". Seu autor, Dr. And

Seu autor, Dr. Andrew Stuart rew Stuart TTanenbaum o escreveu como anenbaum o escreveu como material de material de apoio ao apoio ao livrolivro Sistemas Operacionais, no decorrer da leitura é passado os códigos fonte dos Sistemas Operacionais, no decorrer da leitura é passado os códigos fonte dos programas e serviços do sistema e ao final tem-se um

programas e serviços do sistema e ao final tem-se um sistema operacional "completo".

sistema operacional "completo".

O problema é que até o final da década de 1980, o O problema é que até o final da década de 1980, o MI

MININIX X erera a susupoportrtadado o apapenenas as popor r cocommpuputatadodoreress eq

equipuipadados os cocom m o o prprococesessasadodoreres s InIntetel l 80808686, , esestete

33 InstitInstituto de Engeuto de Engenharia Elnharia Elétrica e Eétrica e Eletrôniletrônica ou IEEca ou IEEE (pronunE (pronuncia-se Icia-se I-3-E ) é uma o-3-E ) é uma organizarganizaçãoção profissional e não-lucrativa. Um de seus papéis mais importantes é o estabelecimento de padrões profissional e não-lucrativa. Um de seus papéis mais importantes é o estabelecimento de padrões para formatos de computadores e dispositivos.

para formatos de computadores e dispositivos.

 Figura 3: Dr. Andrew Stuart   Figura 3: Dr. Andrew Stuart 

Tanenbaum, autor do livro Tanenbaum, autor do livro Sistemas Operacionais. Sistemas Operacionais.

(9)

equipamento estava disponível nas universidades mas já não um equipamento muito equipamento estava disponível nas universidades mas já não um equipamento muito comum neste época onde os computadores pessoais eram equipados com os comum neste época onde os computadores pessoais eram equipados com os processadores Intel 80386, desta forma forma o MINIX ficava limitado ao ambiente processadores Intel 80386, desta forma forma o MINIX ficava limitado ao ambiente acadêmico porque na época não havia interesse do Dr. Tanenbaum em atualizá-lo acadêmico porque na época não havia interesse do Dr. Tanenbaum em atualizá-lo porque ele estava trabalhando em um outro livro e apesar do Minix ter seus porque ele estava trabalhando em um outro livro e apesar do Minix ter seus códigos-fontes disponíveis com o livro, na época sua licença de distribuição o vinculava ao fontes disponíveis com o livro, na época sua licença de distribuição o vinculava ao livro, que por ventura pertencia a editora, sendo assim o MINIX não podeia ser  livro, que por ventura pertencia a editora, sendo assim o MINIX não podeia ser  alterado por mais ninguém.

alterado por mais ninguém.

Hoje o MINIX é distribuído sob uma licença própria (que é um clona da licança BSD Hoje o MINIX é distribuído sob uma licença própria (que é um clona da licança BSD original).

original).

Mas o que tem haver

Mas o que tem haver o Minix com o GNU/Linux?o Minix com o GNU/Linux?

A história do sistema GNU/Linux vem se misturando a história de muitos projetos, A história do sistema GNU/Linux vem se misturando a história de muitos projetos, como UNIX, MINIX e como veremos agora com o

como UNIX, MINIX e como veremos agora com o projetoprojetoGNU GNU ..

2.5

2.5 A

A HISTÓRIA DO

HISTÓRIA DO SOFTWARE LIVRE

SOFTWARE LIVRE

Na década de 1970 era comum entre os programadores e pesquisadores das Na década de 1970 era comum entre os programadores e pesquisadores das un

univiverersisidadadedes s trotrocacarerem m ininfoformrmaçaçõeões s sosobrbre e susuas as pepesqsquiuisasas s e e isisto to ininclcluíuía a osos programa para computadores desenvolvidos para auxiliar este desenvolvimento. A programa para computadores desenvolvidos para auxiliar este desenvolvimento. A lógica aplicada era que se cada programador tivesse que desenvolver a sua visão lógica aplicada era que se cada programador tivesse que desenvolver a sua visão de uma mesmo solução cada um estaria reinventado a roda centenas de vezes, é de uma mesmo solução cada um estaria reinventado a roda centenas de vezes, é muito mais fácil compartilhar o conhecimento e adaptar o que outra pessoas fez que muito mais fácil compartilhar o conhecimento e adaptar o que outra pessoas fez que chegue próximo a nossa necessidade, do que sempre começar tudo do zero.

chegue próximo a nossa necessidade, do que sempre começar tudo do zero.

E foi neste ambiente que a maioria das tecnologias que usamos hoje foram criadas, E foi neste ambiente que a maioria das tecnologias que usamos hoje foram criadas, em um determinado momento o laboratório de Inteligência Artificial do Instituto de em um determinado momento o laboratório de Inteligência Artificial do Instituto de Tecnologia de Massachusets (o famoso MIT) ganhou uma impressora da XEROX, Tecnologia de Massachusets (o famoso MIT) ganhou uma impressora da XEROX, um modelo de uma tecnologia nova utilizando laser no lugar de uma matriz de um modelo de uma tecnologia nova utilizando laser no lugar de uma matriz de pontos, porém esta impressora apresentava problemas constantes de atolamento do pontos, porém esta impressora apresentava problemas constantes de atolamento do

(10)

papel, como os programadores não tinham conhecimento técnico da mecânica da papel, como os programadores não tinham conhecimento técnico da mecânica da impressora eles pensaram que poderiam concerta-la modificando no código-fonte do impressora eles pensaram que poderiam concerta-la modificando no código-fonte do driver como a impressora controla os motores de

driver como a impressora controla os motores de passo que movimentam o papel.passo que movimentam o papel. U

Um m dedeststes es prprooggrarammadadorores es eera ra RiRicchahard rd MM.. Stallman, ele tinha um amigo no Instituto Carneige Stallman, ele tinha um amigo no Instituto Carneige Mellon que recebeu da XEROX o código-fonte do Mellon que recebeu da XEROX o código-fonte do driver, ele não pensou duas vezes e ligou para o driver, ele não pensou duas vezes e ligou para o seu amigo pedindo que lhe enviasse o código, seu amigo pedindo que lhe enviasse o código, pa

para ra susua a susurprpreresa sa e e dedececepçpção ão seseu u amamigo igo nãnãoo ate

atendendeu u seu seu pedpedido ido alealegangando do ter ter assassinainado do umum contrato

contrato NDANDA44 com a XEROX que o impedia decom a XEROX que o impedia de

fornecer o código para qualquer pessoa. fornecer o código para qualquer pessoa.

Isto o deixou profundamente irritado, porque sempre houve colaboração entre os Isto o deixou profundamente irritado, porque sempre houve colaboração entre os programadores das universalidades, porque isso tinha que mudar? Mas o pior ainda programadores das universalidades, porque isso tinha que mudar? Mas o pior ainda estava por vir, em 1982 o laboratório comprou um computador PDP-10 da

estava por vir, em 1982 o laboratório comprou um computador PDP-10 da DEC, esteDEC, este co

compmpututadador or ututililizizadada a um um sisiststemema a opopereracacioionanal l prpropoprierietátário rio e e nãnão o o o sisiststememaa de

desesenvnvololvivido do pepelos los prprogograramamadodoreres s do do MIMITT, , quque e erera a o o sisiststemema a ututililizizadado o nonoss computadores qu

computadores que antecederam o PDPe antecederam o PDP-10. -10. Na mesma époNa mesma época outros computadoreca outros computadoress como o VAX também utilizavam sistemas operacionais proprietários, o problema era como o VAX também utilizavam sistemas operacionais proprietários, o problema era que para utilizar estes computadores era a

que para utilizar estes computadores era a obrigatoriedade de assinar umobrigatoriedade de assinar umNDANDA..

4

4 NDA, NDA, Non DiNon Disclususclusure re AgreemAgreement ou ent ou ContraContrato de Nto de Não Reveão Revelação.lação.

 Figura 4: Richard Stallman,  Figura 4: Richard Stallman,  fundador do projeto GNU.  fundador do projeto GNU.

(11)

Richard Stallman se recusava assinar este contrato porque acreditava que não Richard Stallman se recusava assinar este contrato porque acreditava que não compartilhar seus códigos era um retrocesso, apesar das vantagens econômicas compartilhar seus códigos era um retrocesso, apesar das vantagens econômicas qu

que e o o memercrcadado o de de ininfoformrmátáticica a quque e esestatava va ememerergigindndo, o, elele e acacrerediditatava va ququee conhecimento não deve ser tratado como produto mas como um bem comum e os conhecimento não deve ser tratado como produto mas como um bem comum e os

NDAs

NDAs estavam acabando com a comunidade colaborativa que ele vivia até então.estavam acabando com a comunidade colaborativa que ele vivia até então.

Ele lutou até as últimas conseqüências, porém chegou um momento onde ele teve Ele lutou até as últimas conseqüências, porém chegou um momento onde ele teve que fazer uma escolha, ou assinava um NDA para continuar nos projetos que MIT que fazer uma escolha, ou assinava um NDA para continuar nos projetos que MIT estava envolvido e com isso poderia ganhar muito dinheiro ou pedia demissão e estava envolvido e com isso poderia ganhar muito dinheiro ou pedia demissão e deixaria de programar que sempre foi sua paixão, para ele ainda era uma opção deixaria de programar que sempre foi sua paixão, para ele ainda era uma opção melhor do que abandonar seus princípios e se

melhor do que abandonar seus princípios e se vender para a indústria que vender para a indústria que estava seestava se formando em torno dos

formando em torno dos computadores.computadores.

2.6

2.6 O

O PROJETO

PROJETO GNU

GNU

Para Richard Stallman ser tornou óbvio

Para Richard Stallman ser tornou óbvio que ele deveria criar que ele deveria criar um sistema operacionalum sistema operacional livre 100%, mas ele não podia fazer isso como funcionário do MIT, ou o instituto livre 100%, mas ele não podia fazer isso como funcionário do MIT, ou o instituto poderia exigir para si os direitos sobre todo o código criado por ele, então ele pediu poderia exigir para si os direitos sobre todo o código criado por ele, então ele pediu demissão.

demissão.

 Figura 5: O PDP-10 da DEC exigia a assinatura de um NDA para  Figura 5: O PDP-10 da DEC exigia a assinatura de um NDA para

utilização. utilização.

(12)

Para

Para a arquiteta arquitetura do sistemura do sistema ele escolha ele escolheu o padrão POSIeu o padrão POSIX, ele escolX, ele escolheu esteheu este padrão porque já haviam muitos programadores para a plataforma UNIX e isso padrão porque já haviam muitos programadores para a plataforma UNIX e isso facilitaria para conquistar novos contribuidores, não financeiros mas contribuidores facilitaria para conquistar novos contribuidores, não financeiros mas contribuidores de código.

de código.

O nome escolhido para o projeto foi

O nome escolhido para o projeto foi GNU GNU 5 5 que significaque significa GNU GNU isis Not Not Unix Unix , afinal ele, afinal ele

estava criando um sistema

estava criando um sistema Unix Unix  queque nãonão eraera oo Unix Unix e este tipo de “brincadeira” ée este tipo de “brincadeira” é

muito comum no universo

muito comum no universo hacker hacker ..

O desenvolvimento do sistema GNU começou em 1984, um sistema operacional é O desenvolvimento do sistema GNU começou em 1984, um sistema operacional é composto por diversos programas, editores de texto, cliente de e-mail, interfaces composto por diversos programas, editores de texto, cliente de e-mail, interfaces com usuário, camadas de protocolos, compiladores, etc. Para que este sistema com usuário, camadas de protocolos, compiladores, etc. Para que este sistema fosse livre de qualquer processo judicial era necessário que cada um desses fosse livre de qualquer processo judicial era necessário que cada um desses programas fosse escrito a partir do ZERO e foi exatamente isso que ele fez, ele programas fosse escrito a partir do ZERO e foi exatamente isso que ele fez, ele convidou dezenas de voluntário e conseguiu a permissão do MIT para continuar a convidou dezenas de voluntário e conseguiu a permissão do MIT para continuar a utilizar seus laboratórios.

utilizar seus laboratórios.

O primeiro programa do projeto GNU a ficar pronto foi o GNU Emacs, um software O primeiro programa do projeto GNU a ficar pronto foi o GNU Emacs, um software que é um editor de textos, um cliente de e-mail, entre outras funcionalidades, o que é um editor de textos, um cliente de e-mail, entre outras funcionalidades, o Emacs já era conhecido e existiam muitas pessoas interessadas em usa-lo, então Emacs já era conhecido e existiam muitas pessoas interessadas em usa-lo, então Stallman resolveu distribuí-lo da seguinte forma, quem quisesse o Emacs deveria Stallman resolveu distribuí-lo da seguinte forma, quem quisesse o Emacs deveria pagar US$ 150,00, porém a grande diferença era que ao pagar esta quantia quem pagar US$ 150,00, porém a grande diferença era que ao pagar esta quantia quem co

compmprarasssse e o o EmEmacacs s recrecebebereria ia umuma a fifita ta cocom m o o prprogograrama ma no no foformrmatato o bibinánáririoo

55 GNU é um GNU é um acrônimacrônimo recurso recursivo, o G ivo, o G da siglda sigla GNU sia GNU signifignifica GNU (ca GNU (pronúncpronúncia-seia-seGuinú Guinú ).).  Figura 6: Logotipo do projeto GNU.

(13)

(executável), os códigos-fonte e toda a documentação disponível para ele, tutoriais, (executável), os códigos-fonte e toda a documentação disponível para ele, tutoriais, manuais e uma licença que dava aos usuários do

manuais e uma licença que dava aos usuários do Emacs quatro liberdades básicas:Emacs quatro liberdades básicas:

• Liberdade 1: A liberdade de executar o programa, Liberdade 1: A liberdade de executar o programa, para qualquer propósito;para qualquer propósito;

• Liberdade 2: A liberdade de estudar como o programa funciona, e adaptá-loLiberdade 2: A liberdade de estudar como o programa funciona, e adaptá-lo

para as

para as suas necessisuas necessidadesdades. Acesso ao . Acesso ao códigcódigo-fono-fonte te é é um pré-requisum pré-requisito ito parapara esta liberdade.

esta liberdade.

• Liberdade 3: A liberdade de redistribuir cópias de modo que você possaLiberdade 3: A liberdade de redistribuir cópias de modo que você possa

ajudar ao seu próximo. ajudar ao seu próximo.

• LiLibeberdrdadade e 4: 4: A A lilibeberdrdadade e de de apapererfefeiçiçoaoar r o o prprogograramama, , e e lilibeberarar r os os seseusus

aperfeiçoamentos, de modo que toda a comunidade se beneficie. Acesso ao aperfeiçoamentos, de modo que toda a comunidade se beneficie. Acesso ao código-fonte é um pré-requisito para esta

código-fonte é um pré-requisito para esta liberdade.liberdade.

Mas como uma empresa ou alguém poderia usar este software e modifica-lo e Mas como uma empresa ou alguém poderia usar este software e modifica-lo e vende-lo sem garantir estas quatro liberdades, Richard Stallman criou também o vende-lo sem garantir estas quatro liberdades, Richard Stallman criou também o conceito de Copyleft (uma brincadeira com o termo Copyright), na licença idealizada conceito de Copyleft (uma brincadeira com o termo Copyright), na licença idealizada por Stallman ao utilizar um software ou parte de um software que lhe tenha sido por Stallman ao utilizar um software ou parte de um software que lhe tenha sido fornecido com as quatro liberdades básicas, você deve redistribuí-lo concedendo as fornecido com as quatro liberdades básicas, você deve redistribuí-lo concedendo as mesmas liberdades que recebeu.

mesmas liberdades que recebeu.

Esta “longa” história marca o surgimento do movimento do Software Livre como Esta “longa” história marca o surgimento do movimento do Software Livre como conhecido hoje em dia, mas como pôde ser observado o conceito não era novo, conhecido hoje em dia, mas como pôde ser observado o conceito não era novo, compartilhar programas ou trecho de códigos de programas era algo considerado compartilhar programas ou trecho de códigos de programas era algo considerado natural, com o nascimento da indústria de software, a motivação por dinheiro natural, com o nascimento da indústria de software, a motivação por dinheiro transformou o ato dos programadores de se ajudar compartilhando conhecimento, transformou o ato dos programadores de se ajudar compartilhando conhecimento, algo que antes era natural e espontâneo em um crime comparado ao crime de algo que antes era natural e espontâneo em um crime comparado ao crime de saquear

saquear embarcaçõesembarcações.. A popularidade do projeto

A popularidade do projeto GNU GNU , cresceu e o volume dos seus contribuidores cresceu, cresceu e o volume dos seus contribuidores cresceu

  j

(14)

considerável de aplicativos básicos para colocar um sistema em plena atividade, considerável de aplicativos básicos para colocar um sistema em plena atividade, mas o principal elemento de um sistema não estava pronto,

mas o principal elemento de um sistema não estava pronto, ookernel kernel ..

Na realidade o projeto

Na realidade o projeto GNU GNU  tem umtem um kernel kernel , seu nome é, seu nome é Hurd Hurd , e esta sendo, e esta sendo

desenvolvido com uma arquitetura de

desenvolvido com uma arquitetura de micro-kernel micro-kernel , nesta arquitetura cada elemento, nesta arquitetura cada elemento

do

do kernel kernel é independente do seu núcleo (acesso a dispositivos, driver, etc...). Estesé independente do seu núcleo (acesso a dispositivos, driver, etc...). Estes

elemendos são executados como

elemendos são executados como DaemonsDaemons6 6 e são chamados automaticamente peloe são chamados automaticamente pelo

kernel 

kernel principal somente quando principal somente quando necessário.necessário.

Esta arquitetura é muito moderna e já vou pivô de um famoso debate entre o Dr. Esta arquitetura é muito moderna e já vou pivô de um famoso debate entre o Dr. Andrew Tanenbaum e Linux Torvalds, apesar de ser considerada por muitos como o Andrew Tanenbaum e Linux Torvalds, apesar de ser considerada por muitos como o futuro dos sistemas operacionais, na arquitetura de micro-kernel é extremamente futuro dos sistemas operacionais, na arquitetura de micro-kernel é extremamente dificil depurar os programas compilados sob ela, tamanho a dificuldade de se dificil depurar os programas compilados sob ela, tamanho a dificuldade de se mapear a troca de mensagens entre os

mapear a troca de mensagens entre os DaemonsDaemons o que acontece no núcleo doo que acontece no núcleo do

sistema. sistema.

Por causa desta dificuldade o Hurd ainda está um pouco longe de ser tornar tão Por causa desta dificuldade o Hurd ainda está um pouco longe de ser tornar tão funcional quando o Linux, mas seu desenvolvimento nunca foi interrompido.

funcional quando o Linux, mas seu desenvolvimento nunca foi interrompido.

2.7

2.7 O

O KERNEL

KERNEL LINUX

LINUX

No final da década de 1980, Linus Benedict Torvalds, aluno da Universadade de No final da década de 1980, Linus Benedict Torvalds, aluno da Universadade de Helsinque, na Finlândia,

Helsinque, na Finlândia, recebeu uma recomerecebeu uma recomendação de leitura de seu profendação de leitura de seu professor dessor de sistemas ope

sistemas operacionais, a recomracionais, a recomendação era o endação era o livro Sistemas Opelivro Sistemas Operacionais do racionais do DrDr.. Andrew Stuart Tanenbaum.

Andrew Stuart Tanenbaum.

Apesar de estudar o MINIX na uni

Apesar de estudar o MINIX na univesidade não era possível fazer o mesmo em casavesidade não era possível fazer o mesmo em casa po

porqrque ue os os únúnicicos os cocompmpututadadorores es disdispoponíníveveis is na na épépococa a ereram am eqequiuipapadodos s cocomm pr

prococesessasadodores res InIntetel l 808038386, 6, cocomo mo viviststo o ananteterioriormrmenentete, , neneststa a épépococa a o o MIMININIXX suportava apenas processadores 8086.

suportava apenas processadores 8086.

66 ProgramPrograma executa executado com a fiado com a finalidadnalidade de adminie de administrar as sostrar as solicitalicitações de um sções de um serviço oerviço ou outrou outro programa.

(15)

D

Diaiantnte e ddesesse se imimppasassse, e, LiLinunus s TToorvrvalaldds s reresosollveveuu desenvolver um

desenvolver um kernel kernel a partir do zero, estea partir do zero, este kernel kernel seriaseria

um

um clclonone e do do MIMININIX X quque e popodederiria a seser r exexececututadado o emem computadores com processadores 80386. E após perder  computadores com processadores 80386. E após perder  al

algugummas as sesemmananas as dedentntro ro de de cacasasa, , elele e coconsnsegeguiuiuu de

desensenvolvolver ver umum kernel kernel  quque e coconsnsegeguiuia a exexececututar ar oo

compilador desenvolvido pelo projeto

compilador desenvolvido pelo projeto GNU GNU e alguns dee alguns de

seus aplicativos básicos. seus aplicativos básicos. C

Coom m uumm kernel kernel  incincomomplepleto, to, ententretaretanto nto tottotalmalmententee

funcional, Linus percebeu que desenvolver um sistema funcional, Linus percebeu que desenvolver um sistema

operacional completo era um trabalho praticamente impossível para uma única operacional completo era um trabalho praticamente impossível para uma única pessoa e seguindo os princípios defendidos pela

pessoa e seguindo os princípios defendidos pela FSF FSF e pelo projetoe pelo projeto GNU GNU , Linus, Linus

resolveu distribuir o código fonte e toda a documentação disponível do seu projeto resolveu distribuir o código fonte e toda a documentação disponível do seu projeto sob a licença

sob a licença GPLGPL e em 5 de outube em 5 de outubro de 199ro de 1991, as 5 hora1, as 5 horas e s e 41 min41 minutoutos, s, LinLinusus

enviou uma mensagem para a lista de distribuição COMP.OS.MINIX da Usenet, enviou uma mensagem para a lista de distribuição COMP.OS.MINIX da Usenet, di

divuvulglganando do a a veversrsão ão 0.0.02 02 do do LiLinunux x (d(de e LiLinunus s + + UnUnixix), ), veveja ja a a rereprprododuçução ão dada mensagem:

mensagem:

"From: "Linus Benedict Torvalds" <torvalds@klaava.Helsinki.FI>

"From: "Linus Benedict Torvalds" <torvalds@klaava.Helsinki.FI>

Data: 5 Oct 91 05:41:06 GMT

Data: 5 Oct 91 05:41:06 GMT

Local: Sab 5 out 1991 03:41

Local: Sab 5 out 1991 03:41

Subject: Free minix-like kernel sources for 386-AT

Subject: Free minix-like kernel sources for 386-AT

Do you pine for the nice days of minix-1.1, when men were men and wrote

Do you pine for the nice days of minix-1.1, when men were men and wrote

their own device drivers? Are you without a nice project and just dying

their own device drivers? Are you without a nice project and just dying

to cut your teeth on a OS you can try to modify for your needs? Are you

to cut your teeth on a OS you can try to modify for your needs? Are you

finding it frustrating when everything works on minix? No more

finding it frustrating when everything works on minix? No more

all-nighters to get a nifty program working? Then this post might be just

nighters to get a nifty program working? Then this post might be just

for you :-)

for you :-)

As I mentioned a month(?) ago, I'm working on a free version of a

As I mentioned a month(?) ago, I'm working on a free version of a

minix-lookalike for AT-386

minix-lookalike for AT-386 computers. computers. It has It has finally reached finally reached the stagethe stage

where it's even usable (though may not be depending on what you want),

where it's even usable (though may not be depending on what you want),

and I

and I am willing to am willing to put out the put out the sources for wider distribution. sources for wider distribution. It isIt is

just version 0.02 (+1 (very small) patch already), but I've successfully

just version 0.02 (+1 (very small) patch already), but I've successfully

run bash/gcc/gnu-make/gnu-sed/compress etc under it.

run bash/gcc/gnu-make/gnu-sed/compress etc under it.

Sources for this pet project of mine can be found at nic.funet.fi

Sources for this pet project of mine can be found at nic.funet.fi

(128.214.6.100) in

(128.214.6.100) in the the directory /pub/OS/Linux. directory /pub/OS/Linux. The The directory alsodirectory also

contains some README-file and a couple of binaries to work under linux

contains some README-file and a couple of binaries to work under linux

(bash, update and

(bash, update and gcc, what gcc, what more can more can you ask you ask for :-). for :-). Full kernelFull kernel

source is

source is provided, as no provided, as no minix code has minix code has been used. been used. Library sources areLibrary sources are

only partially

only partially free, so free, so that cannot that cannot be distributed be distributed currently. currently. TheThe

system is

system is able to able to compile "as-is" and compile "as-is" and has been has been known to known to work. work. Heh.Heh.

Sources to the binaries (bash and gcc) can be found at the same place in

Sources to the binaries (bash and gcc) can be found at the same place in

/pub/gnu.

/pub/gnu.

ALERT! WARNING! NOTE! These sources still need minix-386 to be compiled

ALERT! WARNING! NOTE! These sources still need minix-386 to be compiled

(and gcc-1.40, possibly 1.37.1, haven't tested), and you need minix to

(and gcc-1.40, possibly 1.37.1, haven't tested), and you need minix to

 Figura 7:

 Figura 7: Linus TLinus Torvalds,orvalds, criador do kernel linux. criador do kernel linux.

(16)

set it up if you want to run it, so it is not yet a standalone system

set it up if you want to run it, so it is not yet a standalone system

for those of you without minix. I'm working on it. You also need to be

for those of you without minix. I'm working on it. You also need to be

something of a hacker to set it up (?), so for those hoping for an

something of a hacker to set it up (?), so for those hoping for an

alternative to minix-386, please ignore me. It is currently meant for

alternative to minix-386, please ignore me. It is currently meant for

hackers interested in operating systems and 386's with access to minix.

hackers interested in operating systems and 386's with access to minix.

The system needs an AT-compatible harddisk (IDE is fine) and EGA/VGA. If

The system needs an AT-compatible harddisk (IDE is fine) and EGA/VGA. If

you are still interested, please ftp the README/RELNOTES, and/or mail me

you are still interested, please ftp the README/RELNOTES, and/or mail me

for additional info.

for additional info.

I can

I can (well, almost) hear (well, almost) hear you asking yourselves you asking yourselves "why?". "why?". Hurd will Hurd will bebe

out in a year (or two, or next month, who knows), and I've already got

out in a year (or two, or next month, who knows), and I've already got

minix.

minix. This This is is a a program for program for hackers by hackers by a a hacker. hacker. I've I've enjouyed doingenjouyed doing

it, and somebody might enjoy looking at it and even modifying it for

it, and somebody might enjoy looking at it and even modifying it for

their own

their own needs. needs. It is It is still small still small enough to enough to understand, use andunderstand, use and

modify, and I'm looking forward to any comments you might have.

modify, and I'm looking forward to any comments you might have.

I'm also interested in hearing from anybody who has written any of the

I'm also interested in hearing from anybody who has written any of the

utilities/library functions for minix. If your efforts are freely

utilities/library functions for minix. If your efforts are freely

distributable (under copyright or even public domain), I'd like to hear

distributable (under copyright or even public domain), I'd like to hear

from you, so I can add them to the system. I'm using Earl Chews estdio

from you, so I can add them to the system. I'm using Earl Chews estdio

right now (thanks for a nice and working system Earl), and similar works

right now (thanks for a nice and working system Earl), and similar works

will be very wellcome. Your (C)'s will of course be left intact. Drop me

will be very wellcome. Your (C)'s will of course be left intact. Drop me

a line if you are willing to let me use your code.

a line if you are willing to let me use your code.

Linus

Linus

PS. to PHIL NELSON! I'm unable to get through to you, and keep getting

PS. to PHIL NELSON! I'm unable to get through to you, and keep getting

"forward error - strawberry unknown domain" or something."

"forward error - strawberry unknown domain" or something."

Fo

Foi i asassisim m quque e nanascsceu eu eseste te sisiststemema a e e esesta ta mmenensasagegem m é é a a susua a cecertrtididão ão dede na

nasciscimementonto. . DepDepois ois desdesta ta memensansagem gem dezdezenaenas s de de proprogragramadmadoreores s que que lialiam m asas men

mensgens da lista sgens da lista COMPCOMP.OS.MIN.OS.MINIX começarIX começaram da am da palpipalpites e tes e mais impormais importantetante,, começaram a contribuir com código para o sistema desenvolvido por Linus, com o começaram a contribuir com código para o sistema desenvolvido por Linus, com o tempo este dezena de programadores se tranformou em uma centena e hoje em dia tempo este dezena de programadores se tranformou em uma centena e hoje em dia são milhares de programadores engajados em

são milhares de programadores engajados em continuar melhorando o sistema.continuar melhorando o sistema.

2.8

2.8 TUX,

TUX, O

O MASCOTE

MASCOTE

Basta um pingüim aparecer em um

Basta um pingüim aparecer em um sitesite, revista, cartaz ou propaganda que todo, revista, cartaz ou propaganda que todo

mundo já se pergunta: “O que será que estão falando do Linux?”. O pingüim mundo já se pergunta: “O que será que estão falando do Linux?”. O pingüim

gordinho

gordinho batizado de Tux, se tornou a identidade visual de qualquer sistema quebatizado de Tux, se tornou a identidade visual de qualquer sistema que

utilize o

utilize o kernel kernel Linux, mas muitos se perguntam porque um pingüim?Linux, mas muitos se perguntam porque um pingüim?

Em 1996 na lista de distribuição Kernel-Linux, surgiu uma discussão sobre criar uma Em 1996 na lista de distribuição Kernel-Linux, surgiu uma discussão sobre criar uma indentidade visual para o sistema, algo que só de olhar pudesse fazer as pessoas indentidade visual para o sistema, algo que só de olhar pudesse fazer as pessoas pensarem no sistema. Surgiram então várias sugestões, águias, tubarões, entre pensarem no sistema. Surgiram então várias sugestões, águias, tubarões, entre outros monstros e gozações com os logotipos dos sistemas concorrentes, então outros monstros e gozações com os logotipos dos sistemas concorrentes, então

(17)

Linus Torvalds mandou apenas uma mensagens, com a seguinte informação: “...eu Linus Torvalds mandou apenas uma mensagens, com a seguinte informação: “...eu gosto muito de pingüins.”

gosto muito de pingüins.”

Isso foi o suficiente, a partir desde e-mail todas as sugestões eram pingüins, hora Isso foi o suficiente, a partir desde e-mail todas as sugestões eram pingüins, hora carregando o mu

carregando o mundo, ora dominandndo, ora dominando computadores ou o computadores ou satirizando os satirizando os logotipos doslogotipos dos sistemas concorrentes, mais uma vez Linus interveio e mandou outra mensagem: sistemas concorrentes, mais uma vez Linus interveio e mandou outra mensagem: “...eu acho que

“...eu acho que deveria ser um deveria ser um pingüim, simpáticopingüim, simpático, “gordinho” com c, “gordinho” com cara de satisfeitoara de satisfeito como se tivesse acabado de comer.”.

como se tivesse acabado de comer.”.

Logo chegou a lista uma sugestão enviada por  Logo chegou a lista uma sugestão enviada por  Larry Ewing, que usou o programa GIMP rodando Larry Ewing, que usou o programa GIMP rodando em um sistema Linux para criá-lo. Larry licenciou em um sistema Linux para criá-lo. Larry licenciou a

a imimagagem em de de foformrma a a a pepermrmititor or quque e ququalalququer er  pudesse fazer as modificações que quisesse da pudesse fazer as modificações que quisesse da mesma forma como o sistema é desenvolvido. mesma forma como o sistema é desenvolvido. Seu nome ainda é um mistério, alguns defendem Seu nome ainda é um mistério, alguns defendem a tese que o nome TUX é um acrônimo de a tese que o nome TUX é um acrônimo de T

Torvorvaldalds s LinLinUXUX, , ououtrtros os quque e vevem m da da papalalavrvraa TUXEDO que é um sinônimo para

TUXEDO que é um sinônimo para smoking smoking emem

inglês, isso porque o corpo do pingüim é preto e inglês, isso porque o corpo do pingüim é preto e branco lambrando um

branco lambrando um smoking smoking ..

2.9

2.9 SISTEMA

SISTEMA LINUX OU

LINUX OU SISTEMA

SISTEMA GNU/LINUX

GNU/LINUX??

Há uma polêmica sem fim na comunidade software livre, como deve ser chamado o Há uma polêmica sem fim na comunidade software livre, como deve ser chamado o sistema, Sistema Linux ou Si

sistema, Sistema Linux ou Sistema GNU/Linux?stema GNU/Linux?

Como pôde ser observado, o que foi desenvolvido por Linus Torvalds foi o

Como pôde ser observado, o que foi desenvolvido por Linus Torvalds foi o kernel kernel ee

qu

que e papara ra cocololocacar r esestete kernel kernel  em em funfunciocionamnamentento o LinLinus us utilutilizoizou u os os aplaplicaicativtivosos

desevolvidos para o sistema GNU. desevolvidos para o sistema GNU.

 Figura 8: Tux, o mascote e simbolo do  Figura 8: Tux, o mascote e simbolo do  sistema.

(18)

Usando a figura 1 como base, podemos exemplificar da seguinte f

Usando a figura 1 como base, podemos exemplificar da seguinte forma:orma:

Richard Stallman pede que as pessoas chamem o sistema de GNU/Linux e do seu Richard Stallman pede que as pessoas chamem o sistema de GNU/Linux e do seu ponto de vista ele realmente tem

ponto de vista ele realmente tem razão.razão. Do outro lado

Do outro lado Linus TLinus Torvalds, defende que isso é orvalds, defende que isso é uma grande bobagem, porque semuma grande bobagem, porque sem um kernel, um punhado de aplicativos não tem função, se instalarmos o Emacs no um kernel, um punhado de aplicativos não tem função, se instalarmos o Emacs no Windows o sistema passa a se chamar GNU/Windows? Segundo Linus Torvalds Windows o sistema passa a se chamar GNU/Windows? Segundo Linus Torvalds para

para seguseguir a lógica de Richair a lógica de Richard Stallmrd Stallman o nome do sistean o nome do sistema então devma então deveria ser:eria ser: GNU/Gnome/OpenOffice/Mozilla/.../Linux.

GNU/Gnome/OpenOffice/Mozilla/.../Linux.

Enfim, até hoje nem Linus nem Stallman chagaram a um acordo quanto a este Enfim, até hoje nem Linus nem Stallman chagaram a um acordo quanto a este impace, mas cada um de nós deve analisar os dois pontos de vista e aplicar o nome impace, mas cada um de nós deve analisar os dois pontos de vista e aplicar o nome que julgar mais correto de

que julgar mais correto de acordo com o entendimento de cada um.acordo com o entendimento de cada um.

Para facilitar a leitura neste trabalho, a partir de agora quando for citada a palavra Para facilitar a leitura neste trabalho, a partir de agora quando for citada a palavra Linux, esteremos no referindo ao conjunto do sistema, aplicativos

Linux, esteremos no referindo ao conjunto do sistema, aplicativos GNU GNU ,, kernel kernel ,,

servidores e demais programas inseridos nas

servidores e demais programas inseridos nas distribuições.distribuições.  Figura 9:

 Figura 9: HardwarHardware, KernelLinux e Aplicativos GNU.e, KernelLinux e Aplicativos GNU. Hardware Hardware Hardware Hardware Kernel Linux Kernel Linux Kernel Linux Kernel Linux Aplicativos GNU Aplicativos GNU Aplicativos GNU Aplicativos GNU

(19)

3

3 CARACTERÍSTICAS DE

CARACTERÍSTICAS DE UM

UM SISTEMA

SISTEMA LINUX

LINUX

É um sistema multi-tarefa podendo executar vários programas simultâneamente, na É um sistema multi-tarefa podendo executar vários programas simultâneamente, na verdade o

verdade o kernel kernel tem a capacisade de escalonar os processos em execução detem a capacisade de escalonar os processos em execução de

modo a transparecer aos usuários que os programas são executados ao mesmo modo a transparecer aos usuários que os programas são executados ao mesmo tem

tempo. po. EstEste e esescalcalonaonamemento nto é é rearealizlizado ado em em um um intintervervalo alo defdefiniinido do pelpeloo kernel kernel 

(geralmente 20 milissegundos). Além do escalonamento delimitado pelo tempo o (geralmente 20 milissegundos). Além do escalonamento delimitado pelo tempo o

kernel 

kernel prioriza alguns processos de acordo com a importancia e prioriza alguns processos de acordo com a importancia e necessidade.necessidade.

O Linux é um sistema multi-usuário, ou seja, mais de um usuário pode acessá-lo ao O Linux é um sistema multi-usuário, ou seja, mais de um usuário pode acessá-lo ao mesmo tempo por meio de terminais virtuais (padrão de todo sistema), físicos ou mesmo tempo por meio de terminais virtuais (padrão de todo sistema), físicos ou outros computadores que simulem terminais (remoto).

outros computadores que simulem terminais (remoto).

O Linux possue uma memória virtual paginada, isso possibilita ao sistema executar  O Linux possue uma memória virtual paginada, isso possibilita ao sistema executar  programas e processos que ocupem mais espaço do que o tamanho da memória programas e processos que ocupem mais espaço do que o tamanho da memória real, esta memória paginada é mantida em uma patição isolada do resto do sistema real, esta memória paginada é mantida em uma patição isolada do resto do sistema de arquivos.

de arquivos.

 Figura 10: Tipos de terminais de um sistema Linux.  Figura 10: Tipos de terminais de um sistema Linux.

(20)

3.2

3.2 SISTEMA

SISTEMA MODULARIZ

MODULARIZADO

ADO

O Linux é um sistema modularizado, isso quer dizer que os

O Linux é um sistema modularizado, isso quer dizer que os driversdrivers7 7  (módulos)(módulos)

necessários para execução des programas ou utilização de outrss dispositivos de necessários para execução des programas ou utilização de outrss dispositivos de

hardware

hardware, não são carregados em sua t, não são carregados em sua totalidade quando o sistema é inicializado.otalidade quando o sistema é inicializado.

Os módulos são carregados somente quando o

Os módulos são carregados somente quando o kernel kernel decidir ser necessário, o quedecidir ser necessário, o que

oco

ocorre rre somsomentente e quaquando ndo um um proprocescesso so ou ou proprogragrama ma solsoliciicita. ta. IssIsso o gargarantante e ousousoo otimizado d memória RAM, pois são carregados na memória somente os módulos otimizado d memória RAM, pois são carregados na memória somente os módulos necessáios, entretanto o tempo entre o

necessáios, entretanto o tempo entre o kernel kernel identificar a necessiade de carregar identificar a necessiade de carregar 

um módulo e deixá-lo disponível é maior do em sistemas onde os drivers são um módulo e deixá-lo disponível é maior do em sistemas onde os drivers são carregados já na inicialização do sistema.

carregados já na inicialização do sistema. Um

Um driver driver pode ser carregado diretamente na memória pelopode ser carregado diretamente na memória pelo kernel kernel , desde o, desde o boot boot 

quando este módulo é compilado incluído no

quando este módulo é compilado incluído no kernel kernel . A performace do módulo é. A performace do módulo é

muito maior mas os recursos por ele

muito maior mas os recursos por ele alocados ficam permanentemente ocupadoalocados ficam permanentemente ocupados.s.

3.3

3.3 GERENCIAMENT

GERENCIAMENTO

O DE

DE PROCESSOS

PROCESSOS

Por definição um processo é um programa em execução, mas para ser mais Por definição um processo é um programa em execução, mas para ser mais específico, do ponto de vista do sistema um processo é uma estrutura responsável específico, do ponto de vista do sistema um processo é uma estrutura responsável pela manutenção das informações necessárias à execução de

pela manutenção das informações necessárias à execução de um programa.um programa.

Os processos são entidades independentes e individualmente possuem permissões Os processos são entidades independentes e individualmente possuem permissões de acesso e atributos distintos. Para manterem este individualidade os processos de acesso e atributos distintos. Para manterem este individualidade os processos são identificados por um número o PID, ou

são identificados por um número o PID, ou PProcessrocess IDIDentificationentification88, , oo kernel-linux kernel-linux 

como qualquer outro é o responsável por gerenciar os processos em execução no como qualquer outro é o responsável por gerenciar os processos em execução no sistema de forma a otimizar a

sistema de forma a otimizar a utilização da CPU, memória e periféricos.utilização da CPU, memória e periféricos.

No diretório /proc é criado um subdiretório para cada processo em execução, estes No diretório /proc é criado um subdiretório para cada processo em execução, estes

77 Drivers sDrivers são prograão programas e estmas e estruturas de druturas de dados que posados que possibilsibilitam a comitam a comunicaçunicação de progrão de programas e deamas e de sistemas operacionais com os dispositivos conectados

sistemas operacionais com os dispositivos conectados a um computador.a um computador. 88 ProcesProcess Idens Identificatification qtion quer diuer dizer Izer Identifdentificação icação de Pde Processorocesso..

(21)

subdiretórios recebem os nomes dos PID dos processos, nos arquivos

subdiretórios recebem os nomes dos PID dos processos, nos arquivos cmdlinecmdline,, environ

environ ee statusstatus, , que que encencontontramram-se -se dendentro tro desdesses ses dirdiretóetóriorios s sãsão o armarmazeazenadnadasas

informações detalhadas sobre a execução dos

informações detalhadas sobre a execução dos processos.processos.

Para se obter informações sobre os processos pode-se usar os comandos

Para se obter informações sobre os processos pode-se usar os comandos ps ps,, pstree pstree

ee toptop. É possivel também alterar a prioridade de execução dos processos por meio. É possivel também alterar a prioridade de execução dos processos por meio

do

dos s cocomamandndos os ninice ce e e renrenicice, e, isisso so dá dá ao ao adadmimininiststraradodor r do do sisiststemema a o o cocontntrorolele individual dos processos em execução.

individual dos processos em execução.

Este é um esquema simplificado do processamento interno do

Este é um esquema simplificado do processamento interno do kernel-linux kernel-linux ::

Quando um processo está sendo executado ele passa por vários estados e recebe Quando um processo está sendo executado ele passa por vários estados e recebe div

diversersos os comcomandandos os intinternernos os cocontrntroledoledos os pelpelo o escescaloalonadnador or de de proprocescessossos, , parparaa entendermos melhor este procedimento vamos observar a figura 12:

entendermos melhor este procedimento vamos observar a figura 12:  Figura 11: Processamento interno do kernel-linux

 Figura 11: Processamento interno do kernel-linux

 Figura 12: Os estados de

 Figura 12: Os estados de um processo e os comandos doum processo e os comandos do escalonador de processos.

(22)

O Linux organiza suas informações em arquivos e esses arquivos podem conter  O Linux organiza suas informações em arquivos e esses arquivos podem conter  textos, informações de programação,

textos, informações de programação, scriptsscripts dede shell shell  ou qualquer outro tipo deou qualquer outro tipo de

informação. informação.

Algumas características sobre o sistema de arquivos do Linux: Algumas características sobre o sistema de arquivos do Linux:

• No Windows, os dispositivos de armazenamento (Hds, CD-ROMs e drivesNo Windows, os dispositivos de armazenamento (Hds, CD-ROMs e drives

disquetes) são identificados por letras, por exemplo: C:, D: e A:. No Linux disquetes) são identificados por letras, por exemplo: C:, D: e A:. No Linux esles são representados de acordo com a sua montagem na própria estrutura esles são representados de acordo com a sua montagem na própria estrutura de diretórios, por exemplo: /media/floppy ou /

de diretórios, por exemplo: /media/floppy ou /media/cd-rom (antigamente).media/cd-rom (antigamente).

• No Windows os nomes dos arquivos seguem o esquema 255 x 3, sendo 255No Windows os nomes dos arquivos seguem o esquema 255 x 3, sendo 255

caracteres para o nome e 3 para a extenção, no Linux os nomes podem ter  caracteres para o nome e 3 para a extenção, no Linux os nomes podem ter  até 255 caracteres também mas podem ter mais de um ponto, por exemplo: até 255 caracteres também mas podem ter mais de um ponto, por exemplo: arquivo.faculdade.trabalho.tar.gz.

arquivo.faculdade.trabalho.tar.gz.

• Como em todo sistema no padrão Unix, o Linux diferencia letras maiúsculasComo em todo sistema no padrão Unix, o Linux diferencia letras maiúsculas

de minúsculas, por exemplo:

de minúsculas, por exemplo: relatoriorelatorio,, RelatorioRelatorio,, relatoriOrelatoriO ee relAtoriorelAtorio, são, são

arquivos diferentes para o sistema. arquivos diferentes para o sistema.

• Não há extenções compulsórias como .COM, .EXE e .BAT para arquivos deNão há extenções compulsórias como .COM, .EXE e .BAT para arquivos de

lote (

lote (scriptsscripts), o que determina se um arquivo é executável ou não são suas), o que determina se um arquivo é executável ou não são suas

permissões ou a primeira linha do

permissões ou a primeira linha do aqruivo no caso dosaqruivo no caso dos scriptsscripts..

Existem vários sistemas de arquivos para o Linux (EXT2, EXT3, ReiserFS, XFS, Existem vários sistemas de arquivos para o Linux (EXT2, EXT3, ReiserFS, XFS, JFS), cada um que possue características particulares que os deferenciam, como JFS), cada um que possue características particulares que os deferenciam, como perfo

performacermace, , segusegurançarança,,  journaling  journaling , , enentre tre ououtratras, s, enentrtretaetantnto o totododos s seseguguem em osos

padrões de sistemas de arquivos especificados pelo padrão POSIX. padrões de sistemas de arquivos especificados pelo padrão POSIX.

4.2

4.2 ESTRUTURA

ESTRUTURA DE

DE DIRETÓRIOS

DIRETÓRIOS

A distribuição dos arquivos no disco fica a critério de quem monta uma distribuição, A distribuição dos arquivos no disco fica a critério de quem monta uma distribuição, entretanto para facilitar o aprendizado do Linux e padronizá-lo para compatibilizar  entretanto para facilitar o aprendizado do Linux e padronizá-lo para compatibilizar  cada distribuição com os mais diversos programas, foi criado o LSB Linux Standad cada distribuição com os mais diversos programas, foi criado o LSB Linux Standad Base, com o propósito de padronizar certas estruturas como a árvore de diretórios, Base, com o propósito de padronizar certas estruturas como a árvore de diretórios,

(23)

veja a tabela abaixo: veja a tabela abaixo:

• / - Diretório raíz do / - Diretório raíz do sistema de arquivo.sistema de arquivo. •

• /bin/ - Utilitários do usuário, fundamentais para os ambientes de multi-usuário/bin/ - Utilitários do usuário, fundamentais para os ambientes de multi-usuário

e mono-usuário. e mono-usuário.

• /boot/ - Arquivos e programas de configuração que são usados durante o/boot/ - Arquivos e programas de configuração que são usados durante o

processo de inicialização do sistema operacional. processo de inicialização do sistema operacional.

• /dev/ - Dispositivos de controle./dev/ - Dispositivos de controle. •

• /etc/ - Arquivos e scripts de configuração do sistema./etc/ - Arquivos e scripts de configuração do sistema. •

• /home - Onde ficam os /home - Onde ficam os diretórios home das contas dos usuários do sistema.diretórios home das contas dos usuários do sistema. •

• /m/mntnt/ / - - DiDireretótório rio vavazizio o nonormrmalalmementnte e ututiliilizazado do pepelolos s adadmimininiststraradodoreres s dede

sistemas como ponto de

sistemas como ponto de montagem temporário.montagem temporário.

• /proc/ - Sistema de /proc/ - Sistema de arquivos de processos.arquivos de processos. •

• /root/ - Diretório home da conta de usuário root./root/ - Diretório home da conta de usuário root. •

• /sb/sbin/ in/ - - UtilUtilitáitáriorios s de de proprogragramas mas e e admadminiinistrstraçãação, o, funfundamdamententais ais parpara a osos

ambientes de multi-usuário e

ambientes de multi-usuário e mono-usuário.mono-usuário.

• /tmp/ - Arquivos temporários./tmp/ - Arquivos temporários. •

• /usr/ - A maioria dos utilitários e aplicações de usuários./usr/ - A maioria dos utilitários e aplicações de usuários. •

• /var/ - Arquivos de log de múltiplos propósitos, arquivos temporários, de/var/ - Arquivos de log de múltiplos propósitos, arquivos temporários, de

transição, e arquivos de bobina (spool). transição, e arquivos de bobina (spool).

5

5 INTERFACE

INTERFACE COM

COM O

O USUÁRIO

USUÁRIO

O

O inteinterprrpretaetafor for de de comcomandandos os ou ou comcomo o é é maimais s conconhechecidoido Shell Shell , , é é a a ccamamadadaa

responsável em interpretar as instruções enviadas pelo

responsável em interpretar as instruções enviadas pelo usuário e seus programas aousuário e seus programas ao siste

sistema operama operacionacional. l. Ele que execuEle que executa comandta comandos lidos do dispositos lidos do dispositivo de entradaivo de entrada padrão (teclado) ou de um arquivo executável.

padrão (teclado) ou de um arquivo executável. É a

É a prinprincipcipal ligaçal ligação entre o ão entre o usuusuáriário, os o, os proprogragramamas s e o e o kerkernelnel. . O O LinLinux possux possuiui diversos tipos de interpretadores de comandos, entre eles posso destacar o bash, diversos tipos de interpretadores de comandos, entre eles posso destacar o bash, ash

(24)

comandos do DOS, por exemplo, é o `command.com'. Os comandos podem ser  comandos do DOS, por exemplo, é o `command.com'. Os comandos podem ser  enviados de duas maneiras para o interpretador: interativa

enviados de duas maneiras para o interpretador: interativa e não-interativa.e não-interativa.

5.2 INTERATIVA

5.2 INTERATIVA

Os comandos são digitados no aviso de comando e passados ao interpretador de Os comandos são digitados no aviso de comando e passados ao interpretador de comandos um

comandos um a um. a um. Neste modo, o compuNeste modo, o computador depende do usuário para exectador depende do usuário para executar utar  uma tarefa, ou

uma tarefa, ou próximo comando.próximo comando.

5.3 NÃO-INTERATIVA

5.3 NÃO-INTERATIVA

São usados arquivos de comandos criados pelo usuário (scripts) para o computador  São usados arquivos de comandos criados pelo usuário (scripts) para o computador  executar os com

executar os comandos na ordem encandos na ordem encontrada no arquivo. ontrada no arquivo. Neste modo, o comNeste modo, o computador putador  executa os comandos do arquivo um por um e dependendo do término do comando, executa os comandos do arquivo um por um e dependendo do término do comando, o script pode checar qual será o próximo comando que será executado e dar  o script pode checar qual será o próximo comando que será executado e dar  continuidade ao

continuidade ao processamento.processamento.

Este sistema é útil quando temos que digitar por várias vezes seguidas um mesmo Este sistema é útil quando temos que digitar por várias vezes seguidas um mesmo coma

comando ou para compilndo ou para compilar algum prograar algum programa complma complexo. exo. O shell Bash possui aindO shell Bash possui aindaa ou

outrtra a cacararactctererísístitica ca inintetereressssanantete: : A A cocompmpleletataçãção o dodos s nonomemes. s. IsIsto to é é fefeititoo pressionando-se a tecla "TAB".

pressionando-se a tecla "TAB".

Por exemplo, se digitar "ls tes" e pressionar <tab>, o Bash localizará todos os Por exemplo, se digitar "ls tes" e pressionar <tab>, o Bash localizará todos os ar

arququivivos os quque e ininiciciaiam m cocom m "t"teses" " e e cocompmpleletatará rá o o rereststanante te do do nonomeme. . CaCaso so aa com

complepletaçtação ão de de nomnomes es encencontontre re mamais is do do que que uma uma expexpresressão são que que satsatisfisfaçaça a aa pesquisa, ou nenhuma, é emitido um beep. Se você apertar novamente a tecla TAB pesquisa, ou nenhuma, é emitido um beep. Se você apertar novamente a tecla TAB imediatamente depois do beep, o interpretador de comandos irá listar as diversas imediatamente depois do beep, o interpretador de comandos irá listar as diversas possibilidades que satisfazem a pesquisa, para que você possa escolher a que lhe possibilidades que satisfazem a pesquisa, para que você possa escolher a que lhe int

intereeressassa. . A compA completletaçãação o de de nomnomes funcioes funciona na sem probsem problemlemas as parpara a comcomandandosos internos.

Referências

Documentos relacionados

No Gráfico 2 são apresentados as médias dos municípios participantes da Prova Brasil para o quinto ano do ensino fundamental nos anos de 2005 – 2013 para a proficiência em

Outro resultado interessante é que quando são impostas restrições sobre a amostra o coeficiente de Pareto é maior e tende a declinar no período compreendido entre 1970 a 2000: a

primordialmente em grego antigo, mas também em copta e egípcio demótico, encontrados nos desertos do Egito, que demonstra o sincrético mundo mágico-religioso do Egito greco-romano e

Desde 2006 a Celesc mantém o “Programa de Proteção de Aves na Rede elétrica”, que previne acidentes com aves, removendo ninhos de joão-de-barro inativos dos postes da rede

Entre 1993 e 1999, devido ao crescimento da proporção de pessoas sem rendimento, a desigualdade entre todas as pessoas economicamente ativas (excluindo apenas as que não

– Maior número de tomadores de decisões (Burger King) – Questão de Incentive: informações exclusivas (Continental) – Mais difícil de implementar padronização (Continental)

Muitos autores têm proposto novas funções densidades de probabilidade para mo- delagem do tempo de duração de vários componentes (ou de tempo até a morte de um indivíduo sujeito

ALVENARIA DE VEDAÇÃO DE BLOCOS CERÂMICOS FURADOS NA HORIZONTAL DE 9X19X19CM (ESPESSURA 9CM) DE PAREDES COM ÁREA LÍQUIDA MENOR QUE 6M² COM VÃOS E ARGAMASSA DE ASSENTAMENTO