Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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