Sei sulla pagina 1di 34

Sistemas Operacionais Livres e 

de Código Aberto

Esta apresentação está licenciada sob a licença Atribuição­Uso Não­Comercial 2.5 Brasil, da Creative Commons ­ 
http://creativecommons.org/licenses/by­nc/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 Unix­like

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 sugeriu­se 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: 
IA­32

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ão­oficial, 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)

PC­BSD
– “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 Unix­Replacing 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/uhh­download.html 


Links diversos:
– Wikipédia http://wikipedia.org, OSnews, http://www.osnews.org 
– freebsdbrasil.com.br, myfreebsd.com.br, pcbsd.org

Potrebbero piacerti anche