Principais características técnicas

Propaganda
Introdução ao Linux para
Executivos
André Alexandre Gaio
Consultor em soluções Linux, Unix,
Novell e Microsoft
O Unix
Para que possamos melhor entender o Linux,
vamos citar algumas características do Unix.
O Unix é um sistema operacional multiusuário e
multitarefas que foi desenvolvido tendo-se em
mente um sistema operacional multiplataforma,
ou seja portável.
O Unix é dividido em duas partes que são: o
kernel e os aplicativos e serviços, onde o kernel
fornece toda a infraestrutura para suportar as
aplicações e serviços.
Breve Histórico
Por volta de 1965, a Bell Labs, o MIT e a
General Eletric (na época um
importante fabricante de
computadores) decidiram criar um
sistema que suportasse centenas de
usuários de tempo compartilhado
simultaneamente e o batizaram de
MULTICS (Multiplexed Information and
Computing Service).
Breve Histórico
O MULTICS não funcionou como o esperado, e a Bell Labs
retirou-se do projeto e a General Eletric saiu do ramo de
computadores.
Um dos cientistas da Bell Labs que havia trabalhado no
projeto MULTICS, Ken Thompson, descobriu um pequeno
computador PDP-7 que ninguém estava usando e começou
a escrever uma pequena versão simplificada e
monousuária do MULTICS. Este trabalho mais tarde
desenvolveu-se no UNIX, que se tornou popular no mundo
acadêmico, entre órgãos do governo e entre muitas
empresas.
Em 1973 o UNIX foi reescrito em linguagem C pelo próprio
criador da Linguagem Denis Ritchie.
Breve Histórico
O uso do Unix dentro da AT&T cresceu tanto que foi
criado um grupo de suporte interno. Nesta época a AT&T
não comercializava o sistema e fornecia cópias do código
fonte às universidades para fins educacionais.
Com o código fonte amplamente disponível, várias
empresas desenvolveram suas próprias versões
(incompatíveis) que levaram ao caos. Para tornar possível
criar programas que poderiam executar em qualquer
sistema Unix, o IEEE desenvolveu um padrão para o Unix
chamado POSIX, que qualquer versão do Unix agora
suporta.
O POSIX define uma interface mínima de chamadas de
sistema que sistemas compatíveis com o Unix devem
suportar.
Breve Histórico
O uso do Unix dentro da AT&T cresceu tanto que foi criado
um grupo de suporte interno. Nesta época a AT&T não
comercializava o sistema e fornecia cópias do código fonte
às universidades para fins educacionais.
Com o código fonte amplamente disponível, várias
empresas desenvolveram suas próprias versões
(incompatíveis) que levaram ao caos. Para tornar possível
criar programas que poderiam executar em qualquer
sistema Unix, o IEEE desenvolveu um padrão para o Unix
chamado POSIX, que qualquer versão do Unix agora
suporta.
O POSIX define uma interface mínima de chamadas de
sistema que sistemas compatíveis com o Unix devem
suportar.
Breve Histórico
Entre 1977 e 1982 a Bell Labs combinaram várias
versões do Unix da AT&T num único sistema chamado
de System III. Tal sistema evoluiu até chegar ao
System V, para o qual a AT&T comprometeu-se em dar
suporte em 1983.
Enquanto isso na Universidade de Berkeley na
Califórnia, partindo-se da versão anterior do System
III, desenvolveram o seu próprio UNIX chamado de
BSD.
Breve Histórico
Não demorou para que a AT&T percebesse o grande
valor do Unix e o comercializasse. Desta forma
lançou uma licença proibindo que o código fonte
fosse usado em cursos.
Para corrigir esta situação, Andrew Tanenbaum,
decidiu escrever um sistema operacional do zero
que fosse inteiramente compatível com o Unix,
mas não tivesse nenhuma linha de código do
mesmo. Nasce então o Minix, um Unix para fins
didáticos.
O Linux
Linux é o nome dado a um Kernel, inicialmente
criado como hobby por um então jovem
estudante chamado Linus Benedict Torvalds da
Universidade de Helsinki na Finlândia.
Torvalds se inspirou no Minix para criar o seu
kernel, mas o seu objetivo era criar um “Minix
melhor que o Minix”.
Depois de algum tempo trabalhando ele enviou
para a lista de discussão comp.os.minix a
seguinte mensagem:
O Linux
“...Você sente saudades dos bons dias do minix-1.1, quando os
homens eram homens e escreviam seus próprios device drivers?
Você está sem um bom projeto e morrendo de vontade de colocar
as mãos num sistema operacional que você possa modificar de
acordo com as suas necessidades? Você acha frustrante quando
tudo funciona bem no Minix? Sem mais noites em claro para fazer
com que um programa funcione? Então esta mensagem pode ser
exatamente para você. :-)
Como mencionei há um mês, estou trabalhando em uma versão
livre de um sistema operacional similar ao Minix para
computadores AT-386. Ele finalmente alcançou o estágio onde
possa ser utilizado ( ou não, dependendo do que você deseja), e
eu estou disposto a colocar os fontes disponíveis para ampla
distribuição. Ele está apenas na versão 0.02, mas eu tenho
executado nele sem problemas programas como bash, gcc, gnumake, gnu-sed, compress, etc. ...”
O Linux
No dia 5 de outubro de 1991 Linus
Torvalds anunciou sua primeira
versão oficial do Linux. Desde
então muitos programadores
espalhados pelo mundo têm
respondido o seu chamado e
contribuído para fazer do Linux o
que ele é hoje.
A história do GNU
No início da década de 80, com a crescente
popularização do Unix e com as licenças de software
cada vez mais rígidas, que proibiam a cópia do
software, Richard Stallman sentia a necessidade
crescente de soluções de softwares que fossem
livres para serem usadas e distribuídas livremente.
Ele aspirava por ferramentas como compiladores,
editores de textos, utilitários que pudessem ser
usados em várias máquinas sem que se tivesse que
pagar licenças para cada uma delas.
A história do GNU
Tal frustração resultou na criação
do Projeto GNU (GNU is Not Unix)
em 1984 e na Free Software
Foundation, cujo propósito é criar
versões com código livre destas
ferramentas .
A GPL
As novas ferramentas desenvolvidas pelo projeto
GNU precisavam de um meio que as tornasse
permanentemente livres, criou-se então a GPL
(GNU Public License), também chamada de
“copyleft” (uma brincadeira em relação à
palavra copyrigth).
Os programas criados sob a GPL podem ser
vendidos, porém qualquer código derivado de
código GPL, estará automaticamente incluído
nesta licença.
Este esforço é necessário para que programas
continuem livres mesmo que tenham sido
modificados para fins comerciais.
A GPL
Geralmente as pessoas confundem o termo
“livre” (free) com gatuíto.
De acordo com Stallman, Free Software é uma
questão de liberdade e não de preço. Software
livre, refere-se à liberdade dos usuários de
executar, copiar, distribuir, alterar e melhorar o
software.
Stallman ainda vai mais além, “Mais
precisamente, refere-se a quatro tipos de
liberdades para os usuários de software:
A GPL
Liberdade de executar o programa com
qualquer propósito;
✔Liberdade para estudar como ele funciona e
adaptá-lo às suas necessidades;
✔Liberdade para redistribuir cópias para
colaborar com seus colegas e amigos;
✔Liberdade para melhorar o programa e
divulgar as suas melhorias ao público, de
forma a beneficiar toda a comunidade.”
✔
A GPL
A GPL regulamenta as liberdades centrais,
definindo as condições da cópia distribuição e
modificação dos programas. Embora qualquer
pessoa possa modificar uma cópia do programa, é
obrigatório que:
Exista um aviso, em destaque, em cada arquivo
modificado, de que os dados originais foram
alterados.
Exista um aviso de que o trabalho distribuído ou
publicado deriva totalmente ou em parte do
programa original.
A GPL
Caso o programa seja executado de forma interativa,
no início de sua execução deve ser apresentada a
informação de copyright e de ausências de garantias
(ou de que a garantia ocorre por conta de terceiros.).
Em qualquer caso a licença não poderá ser alterada e
o usuário sempre deverá ter acesso à mesma, na
íntegra.
Na distribuição de um software livre no formato de
código objeto ou executável, é necessário que esteja
disponível o código fonte do programa.
Não é permitida a utilização de partes de um código
GPL em um programa proprietário. O programa final
passará a ser automaticamente GPL.
GNU e o Open Source
Embora mais popular, a licença GPL não é a
única usada no desenvolvimento do Free
Software.
Bruce Perens, outro aficcionado por software
livre formalizou o termo Open Source para se
referir a qualquer programa que seja registrado
sob os critérios do documento Open Source
Initiative. Tais critérios se encontram em .
Existem outros tipos de licença Open Source,
como:
GNU e o Open Source
Artistic Licence (Usada pelo criador do
PERL, Larry Wall)
✔Apache Licence
✔GNU Library Licence
✔
GNU e o Open Source
Algumas são muito restritivas a
comercialização. Como a GNU, outras
são mais liberais como a Apache
License e a GNU Library License que
estabelece um meio termo
permitindo que o código GNU possa
ser utilizado comercialmente desde
que o seja na forma de biblioteca.
Filosofia do Linux
A filosofia básica do Linux consistem em 3
diretrizes básicas:
Filosofia do Linux
1-) Sistemas operacionais fechados não
oferecem aos usuários o que eles
realmente desejam, além disto o usuário
fica incapacitado de melhorá-lo e distribuir
estas melhorias à comunidade.
Existem usuários de sistemas em tempo real
que criaram uma versão do Linux chamada
de RTLinux, este é baseado no código fonte
do Linux padrão, mas foi adaptado às
necessidades destes usuários. Mais
informações em http://rtlinux.org.
Filosofia do Linux
2-) Ênfase na eficiência, O Linux foi
portado para uma vasta gama de
plataformas, tanto grandes como
pequenas. Muitas destas pequenas
possui recursos limitados tornando o
Linux ideal para quando se necessita
fazer mais com menos.
Filosofia do Linux
3-) Ênfase no uso de ferramentas Open
Source, o Linux é desenvolvido
puramente ustilizando-se ferramentas
Open Source, para torná-lo o mais
simples possível e não sobrecarregar os
desenvolvedores com o pagamento de
licenças, e outras questões do nível de
licenciamento.
Os padrões do linux
O Linux adere aos padrões POSIX.
Este padrão foi criado para padronizar os
sitemas UNIX, onde em dado momento
cada fabricante tinha as suas próprias
API´s de software, e suas próprias
características no kernel, etc.
O POSIX define um conjunto de API´s que
devem ser padrão em todos os sistemas
compatíveis com este padrão.
Linux Standard Base
O Linux Standard Base é um padrão que dita
que qualquer programa desenvolvido
obedecendo-o, deverá rodar em qualquer
distribuição Linux sem problemas ou
adaptações.
Principais distribuições Linux
Debian GNU/Linux (Intel X86, MIPS, Sparc, PPC, e
Motorola 680x0)
Red Hat Linux (Intel X86, Dec Alpha,MIPS e Sparc)
Slackware Linux (KISS – Keep it Simple,
stupid!)(Dec Alpha e Sparc)
S.U.S.E Linux
Turbo Linux (O Linux Aisático)
Conectiva Linux
Yellow Dog
Mandrake Linux
Etc…
Principais distribuições Linux
O que distingue as várias distribuições, são os
programas, protocolos, práticas de
empacotamento, instalação e gerenciamento
de pacotes instalados, combinado com
ferramentas de instalação, manutenção,
documentação e outros serviços.
Hoje em dia podemos dizer que todas as
distribuições atuais derivam de três principais,
Debian, Slackware e Red Hat.
Principais Aplicações
Estações de trabalho gráficas (CAD/CAM);
Servidores de impressão e arquivos (SMB, NCP, NFS,
etc)
Servidores de Internet (POP, IMAP, SMTP, NEWS, HTTP,
FTP, DNS, etc)
Servidores de Diretórios Ldap.
Desktop de trabalho (Pacote Oficce, Navegadores,
Processamento de imagens, emulação de DOS e
Windows, Programas científicos, Multimídia, etc.)
Plataforma de desenvolvimento de software (C, C++,
Java, Python, Perl, PHP, Fortran, etc.)
Palmtops e sistemas embarcados (P.ex. mpeg player
para carro – http://www.empeg.com)
Principais características
técnicas
1-) O Linux implementa a maior parte
das características que se encontram
em outras implementações do Unix.
Principais características
técnicas
2-) O Linux é um sistema operacional
completo com multitarefa e
multiusuário (Como qualquer outro
Unix), o que significa que podemos ter
vários usuários simultâneos rodando
várias aplicações simultaneamente.
Principais características
técnicas
3-) O Linux é compatível com os padrões
IEEE POSIX, System V e BSD e foi
desenvolvido buscando-se a portabilidade
dos fontes, programas feitos para Linux
podem rodar ou serem portados para o
Unix com o mínimo de esforço e vice
versa.
Principais características
técnicas
4-) O Linux também implementa o
controle de processos POSIX (que se usa
nos shells csh e bash), os pseudo
terminais (dispositivos pty), e teclados
de diversas nacionalidades através dos
mapas de teclados carregados
dinamicamente. Suporta ainda consoles
virtuais, que permite que se tenha mais
de uma console aberta na máquina local
e chavear entre elas facilmente.
Principais características
técnicas
5-) O kernel é capaz de emular por si
próprio as instruções de um
coprocessador 387, quando se tem
máquinas sem co-processador aritmético
(386, 486SX, etc)
Principais características
técnicas
6-) O Linux suporta diversos tipos de
sistema de arquivos para guardar os
dados e acessá-los, como por exemplo:
Fat 16, Fat 32, NTFS, JFS, UFS, XFS,
iso9660, smbfs, ncpfs, nfs, etc.
Principais características
técnicas
7-) O Linux implementa todo o suporte
necessário para trabalhar com TCP/IP
nativamente no kernel.
Principais características
técnicas
8-) O kernel foi desenvolvido para
trabalhar com as características do modo
protegido dos processadores da família
i386.
Principais características
técnicas
9-) O Kernel suporta executáveis com
paginação por demanda, o que significa
que somente os fragmentos dos
programas que necessitam estar na
memória são carregados à partir do disco.
As páginas dos executáveis são
compartilhadas mediante a técnica de
copy-on-write contribuindo para reduzir a
quantidade de memória requerida pelas
aplicações.
Principais características
técnicas
10-) Com a finalidade de aumentar a
memória disponível, o Linux implementa a
paginação em disco. Quando o sistema
necessita de mais memória, ele aloca nos
disco blocos de memória para o disco
liberando-as assim e as retornando para a
memória quando forem novamente
necessárias.
Principais características
técnicas
11-) Os executáveis fazem uso das
bibliotecas dinâmicas. Isto significa que
teremos executáveis menores ocupando
menos disco e menos memória.
Principais características
técnicas
12-) Para facilitar a depuração dos erros
dos programas, o kernel pode gerar dumps
da área de memória dos programas que
tem finalizações anormais (arquivos core).
Principais características
técnicas
13-) Suporte a nomes de arquivos com até
256.
Principais características
técnicas
14-) Suporte a várias arquiteturas como
MIPS, PPC, Intel x86, S390, StrongArm,
M68K, Dec Alpha, PaRisc, etc.
Principais características
técnicas
15-) entre outras muitas :-)
Empresas envolvidas
IBM, HP, Dell, e Oracle são quatro gigantes do
mundo de tecnologia que abraçaram o Linux
com investimentos de bilhões de dólares em
todo o mundo e tem ganho dinheiro com isto.
Empresas envolvidas
A Intel tem investido milhões no intuito de que
o código do Linux rode com mais performance
em seus processadores.
O Investimento que a IBM fez no Linux de 1
bilhão de dólares há dois anos já foi
recuperado. E ainda segundo a IBM, o Linux é o
único sistema operacional que roda em todas as
soluções de hardware da empresa.
Empresas envolvidas
Cerca de 15% das vendas no Brasil de
servidores da linha Proliant da HP são máquinas
com Linux.
Entre várias outras empresas além das
distribuições como a Conectiva que teve um
papel fundamental na divulgação e tradução da
documentação do Linux no Brasil.
Considerações econômicas
Custo de equipamento + Sistema
Operacional
Máquina Power Edge 2600 Dell P4 2.4Ghz,
512MB DDR, Controladora Raid, disco de 36GB
SCSI, CdRom, floppy, Sistema operacional
Windows2000 advanced 25 licenças - em
inglês.
Valor: R$ 24.089,77.
Considerações econômicas
Custo de equipamento + Sistema
Operacional
Mesma máquina sem o Windows :
R$ 11.561,10.
Diferença (Sistema Operacional para 25
usuários):
R$ 12.528,67
Fonte: Site da Dell
Considerações econômicas
Treinamentos
Controle de Recursos Rede Win2000
750,00
Implement. Infraest. Redes Win2000
750,00
Config. e Adm. do Windows 2000
R$ 750,00
Config. do Active Directory Win2000
750,00
R$3.000,00
R$
R$
R$
TOTAL
Considerações econômicas
Linux -
Linux Linux Linux -
Treinamentos
Fundamentos do Sistema
R$ 750,00
Administração Sistemas I
R$ 650,00
Administração Sistemas II
R$ 700,00
Administração Redes
R$ 700,00
R$2800,00
TOTAL
Mercado e Principais Cases
Segundo o Gartner em 2002 o Linux
respondeu por 6% do mercado mundial de
servidores e em 2003 chegará a 9% e até
2007 estima-se que chegará ao patamar de
18%, superando 9 bilhões de dólares em
receita.
Testes com diversas distribuições Linux em
universidades, órgãos governamentais, e em
empresas ao redor do mundo mostram que
este sistema é seguro, escalável e estável.
Mercado e Principais Cases
Nos estados Unidos, A maioria dos bancos de
Wall Street, como o Morgan Stanley Dean
Witter adotou o Linus em suas operações,
inclusive aplicações de missão crítica.
Num estudo de fevereiro feito pela consultoria
Boucinhas & Campos Consultores descobriu
que 41% das empresas brasileiras já testaram
ou adotaram o Linux em alguma aplicação.
Mercado e Principais Cases
No Brasil empresas gigantescas como
Itaú, HSBC, Real/ABN Amro, Telemar,
Unilever, Lojas Renner, Casas Bahia, Gol
Linhas Aéreas, Lojas Colombo, Sonae
(BIG, Candia, etc), UOL, Droga RAIA,
Habib´s, utilizam Linux como plataforma.
Em estatais o uso é ainda mais
disseminado como no Banco do Brasil,
Petrobrás, Procergs, Metrô de São Paulo
e Banrisul.
Bibliografia
Revista Info Corporate Maio/Junho de 2003
Sistemas Operacionais - Andrew Tannenbaum
Guia do usuário Conectiva Linux
Linux System Administration – Caldera Open
Learning
Diversos sites na Internet, como:
http://www.umsanet.edu.bo/sociedad/LINUX/CAR
DSIS.HTML
http://www-3.ibm.com/e-business/br/linux/
http://www.dell.com.br
Entre muitos outros.
Mercado e Principais Cases
A Goldman Sachs diz que 39% das
empresas americanas usam Linux.
A Uol está trocando a sua base de
servidores Solaris para equipamentos
com Red Hat Linux.
Mercado e Principais Cases
A Operadora de Telefonia GVT trocou
alguns de seus servidores RISC por Linux
em plataforma Intel e tiveram uma
economia de cerca de um milhão de
reais e pretendem até o ano que vem
migrar todo as instâncias de seu Banco
de dados Oracle em máquinas Risc por
Linux.
Mercado e Principais Cases
As lojas Colombo após o término da
migração no ano passado possuem mais
de 3200 PDV´s e 290 servidores rodando
Conectiva Linux.
FIM
Download