Sistemas Operacionais Livres e de Código Aberto · Gentoo Suse. GNU/Linux ... i386, amd64,...
Transcript of Sistemas Operacionais Livres e de Código Aberto · Gentoo Suse. GNU/Linux ... i386, amd64,...
Sistemas Operacionais Livres e de Código Aberto
Esta apresentação está licenciada sob a licença AtribuiçãoUso NãoComercial 2.5 Brasil, da Creative Commons http://creativecommons.org/licenses/bync/2.5/deed.pt
Sistemas Operacionais Livres
1.Principais SOs
2.Padrões Unix
3.GNU/Linux
4.BSDs
5.GNU/Linux x BSDs
6.Outros
Principais SOs Livres● GNU/Linux
– ...e suas centenas de distribuições● BSDs
– FreeBSD, OpenBSD, NetBSD– Algumas outras variantes
● GNU/HURD● Outros
Sistemas Unixlike● Pensamento Unix: Feito por programadores,
para programadores– Programas tipicamente concisos, curtos, com
poucas mensagens– Tendência a “quebrar” uma tarefa complexa em
tarefas simples – programas diferentes– Tudo é considerado um arquivo
Padrões para sistemas Unix
● POSIX (1985): IEEE 1003, ISO/IEC 9945● Single Unix Specification (1988)● LSB – Linux Standard Base
– Free Standards Group● AMD, Dell, HP, Intel, IBM, Mandriva, Red Hat, SUSE, LPI,
OSDL, ...– The Open Group
● IBM, HP, NASA, US DoD, ...
LSB: Padrões definidos● ABI – Application Binary Interface● Acessibilidade● OpenI18n● OpenPrinting● Open Cluster● Debugging
LSB: Sistemas certificados● Ubuntu 6.06● SUSE Linux 10 e SUSE Linux Enterprise
Server 9 e 10● Red Hat Enterprise Linux 4 e 5● Mandriva Corporate Server 4● Outros: Asianux, Xandros Server, Bharat,
Linpus
LSB 3.0 e 3.1 Fonte: http://www.freestandards.org/en/Products
GNU e Linux● Linux
– Kernel desenvolvido seguindo o padrão POSIX
– Sem pretensões de criar um SO inteiro● GNU
– Projeto para criar um SO livre– Iniciou o projeto pelos utilitários básicos,
deixando o kernel para o fim
Projeto GNU: Inspiração
● Richard Stallman– Comunidade de IA no
MIT– Desenvolvimento próprio– Fechamento de código –
software proprietário– Idéias sobre liberdade
de uso do software
Projeto GNU● Objetivos
– Sistema GNU– Delineado no “Manifesto GNU”
● FSF – Free Software Foundation● HURD – o kernel
Projeto GNU: Importância● Praticamente ignorado durante os anos 80● Maiores contribuições
– GCC– Utilitários Unix básicos – Emacs– HURD (quando pronto)
Linux: Inspiração● Minix Pequeno SO, código fonte pode ser
estudado livremente● Com o tempo sugeriuse que poderia ir mais
além– Interesse de Tanenbaum era apenas acadêmico– Ex: falta de drivers para periféricos comuns
GNU/Linux: Criação
● Linus Torvalds– Estudante finlandês– Estudava SOs com Minix– Hobby: criar um SO Unix
like, como o Minix, mas para uso na prática
GNU/Linux: Distribuições – Ramos principais
● Slackware● Red Hat / Fedora● Debian● Gentoo● Suse
GNU/Linux: Distribuições● Diferenças básicas
– Livre x Comercial– Estrutura de diretórios, localização de arquivos,
“estilo” de inicialização, ...– Filosofia de desenvolvimento/produção– Período de atualização
● Todas usam:– Kernel Linux– Programas e bibliotecas básicos GNU
GNU/Linux: Distribuições
GNU + Linux = GNU/Linux● O SO livre mais conhecido, usado e de
progresso mais rápido é a junção de (pelo menos*) 2 projetos
● Pragmatismo x Ideologia– “Free software because it works better”– “Free software because all software should be free”
● Linux é software GPL● *: X.org, GUIs/WMs, Ooo, etc.
Família BSD● 386BSD & BSD/386● FreeBSD● NetBSD● OpenBSD
BSD: base do sistema● Minimalista, mas suficiente● X
– FreeBSD: Xfree86, X.org– NetBSD/OpenBSD: customização própria
● GCC, binutils e outros programas GNU– Fazem parte da base, mas são versões
modificadas
BSD: pacotes/ports● Ports systems
– “Portagem” “automática” de softwares– Compilar pelos fontes / instalar binary packages– NetBSD pkgsrc
FreeBSD
● Objetivo inicial: melhor desempenho possível em x86
● Principal plataforma de interesse: IA32
● Yahoo.com
NetBSD
● Ênfase em rodar na maior quantidade possível de plataformas– 59 (contadas no site)– Ex: i386, amd64, Playstation2,
Sparc, Zaurus...● Segurança
OpenBSD
● Ênfase em segurança, auditabilidade e criptografia– Páginas de memória virtual– Kerberos V– Primeiro SO com Ipsec (1997)
● OpenSSH
Mac OS/X
● Darwin– Derivado do FreeBSD 5.0– Kernel XNU (híbrido)
● Mach 3.0: Microkernel básico● Partes do kernel BSD
– OpenDarwin (nãooficial, agora morto)● GUI: Descendente do
NextStep/OpenStep
Outros BSDs● DragonFlyBSD
– Experiências com novas idéias de estruturas de kernel (principalmente SMP)
– Híbrido (primeiro kernel BSD híbrido sem uso de código do Mach 3.0, da Carnegie Mellon University)
● PCBSD– “Distribuição” FreeBSD, voltada para desktops
pcbsd.org
Diferenças entre GNU/Linux e BSDs
● “BSD is for those who love Unix. Linux is for those who hate Microsoft.”
● “BSD is designed. Linux is grown.”● BSD: an Unix for the PC / Linux: PC with an
Unix
Diferenças entre GNU/Linux e BSDs
● Sistema básico– Kernel + glibc + utilitários (ls, ...)– Tudo acima, em um pacote só
● Estrutura de diretórios● Nomenclatura de dispositivos● Particionamento
Diferenças entre GNU/Linux e BSDs
● Hardware– Linux: mais drivers para dispositivos (PC)– Net/OpenBSD suportam mais plataformas
(incluindo antigas/obsoletas)● BSDs: “emulação binária” rodam programas
para Linux● Linux: suporte para mais filesystems
Diferenças entre GNU/Linux e BSDs
● Desenvolvimento– Linux tende a ser mais inovador testar idéias
novas● Ex: /dev, devfs, udev
– BSDs tendem a ser mais “tradicionais” e cautelosos● Ex: FreeBSD giantlock* x DragonFlyBSD (exceção)
*(acesso a dispositivos por threads em sistemas MP)
GNU HURD● Conjunto de serviços sobre microkernel
GNU/Mach– Hurd: Hird of UnixReplacing Daemons– Hird: Hurd of Interfaces Representing Depth– ...e ainda “herd of gnus”
● No momento, sendo migrado para outro microkernel– L4 em 2004, L4.sec em 2005, Coyotos em 2006
GNU HURD● Características de microkernel:● Escalável
– Clustering de forma transparente (futuro)● Extensível
– Substituição de serviços “de kernel”, sem tocar no kernel
– Serviços podem ser diferentes por usuário/programa
Outros● FreeDOS● Haiku/OpenBeOS● Plan9● ...
Bibliografia● Sites respectivos:
– gnu.org, www.linux.org, kernel.org– debian.org, suse.com, slackware.com, gentoo.org, redhat.com,
fedoraproject.org– freebsd.org (pcbsd.org), netbsd.org, openbsd.org
● Unix Haters Handbook– http://research.microsoft.com/~daniel/uhhdownload.html
● Links diversos:– Wikipédia http://wikipedia.org, OSnews, http://www.osnews.org – freebsdbrasil.com.br, myfreebsd.com.br, pcbsd.org