Beruflich Dokumente
Kultur Dokumente
html
//syph0s on Linux
"A renúncia é a libertação. Não querer é poder." ~ Fernando Pessoa
O retorno do Minix
Terça-feira, 13 de Janeiro de 2009 às 18:41 Postado por syph0s Tags: futuro,
google, kernel, linux, microkernel, minix, pesquisa, segurança, software livre
-*-*-*-*-*-*-*-*-*-*-*-*-
META
Kernel Inteligente Login / Logout
por Rüdiger Weis / Tradução: Luiz Martins
Posts RSS
O Linux tem uma longa e tempestuosa relação com outro sistema operacional Unix-like RSS dos comentários
conhecido como Minix. Adrew S. Tanenbaum, notável autor e cientista da computação, Blogger.com
lançou a primeira versão do Minix em 1987 como uma ferramenta para ensinar
estudantes sobre sistemas operacionais, e esse pequeno e bem documentado sistema
rapidamente se tornou popular entre os entusiastas. Numa postagem ao grupo de
notícias Minix, um ambicioso graduando finlandês, Linus Torvalds, anunciou o seu
próprio sistema experimental em 1991 e contribuidores rapidamente vieram dos postos PÁGINAS
da comunidade Minix.
Open Music!
Mas Tanenbaum e Torvalds de imediato não se entenderam sobre questões do design.
Tanenbaum sem foi favorável à arquitetura de microkernel, uma característica diferente
do Minix até hoje (veja o texto "Por que os computadores não conseguem funcionar o
tempo todo?"). Linus, por outro lado, fez o Linux com um kernel monolítico, com
sistemas de arquivos, drivers e outros componentes incorporados dentro do kernel.
ENTREVISTAS
Numa famosa postagem ao grupo Minix, o criador do Minix se referiu ao Linux como "...
um gigante retrocesso ao anos 70", e uma confiante resposta do jovem Torvalds para James Whitehurst (Red Hat)
esse experiente líder no campo dos sistemas operacionais é a primeira evidência da sua Jean-Philippe Guillemin
hoje legendária integridade. Apesar de tudo, Linus reconheceu a importância do (Zenwalk)
trabalho de Tanenbaum para a formação de suas próprias idéias. Em sua autobiografia Mark Shuttleworth (Ubuntu)
"Just for Fun", Linus se refere ao livro de Tanenbaum "Operating Systems: Design and
Mark Ulrich (Muppy Linux)
Implementation" como um livro que mudou sua vida.
Martin Nordholts (GIMP)
O debate entre microkerneis e kerneis monolíticos continua hoje em dia, e assim como Richard Stallman (FSF)
o Linux não desapareceu, o Minix muito menos. A versão 3 do sistema operacional Minix
Rod Johnson (SpringSource)
foi projetado com o objetivo de criar um sistema que seja mais seguro e confiável do
que os sistemas POSIX semelhantes, e uma licença livre estilo BSD faz do último Minix
um forte candidato não só para o uso de produção, como também para o uso
educacional. O Minix está atraindo até mesmo a atenção de alguns grandes
patrocinadores. A União Européia está patrocinando o projeto com vários milhões de ÚLTIMOS POSTS
euros, e o Google tem uma quantidade de projetos relacionados ao Minix em seu
programa "Summer of Code". O retorno do Minix
Fotos direto do GIMP para o
O Minix 3 roda tanto em processadores x86 32-bits quanto em várias máquinas virtuais,
incluindo Qemu, Xen e VMWare. O sistema operacional inclui um sistema gráfico de Flickr com o GimpPublishr
janelas (X11), vários editores (Emacs e Vi), shells (incluindo o bash e o Zsh), GCC, VNC no PCLinuxOS
linguagens de script, como Python e Perl, e ferramentas de rede - como o SSH. Com um Como atualizar o PCLinuxOS sem
design diminuto e resistente a erros, o Minix é um bom candidato para sistemas internet
embarcados e a sua estabilidade superior tem conduzido a um novo e promissor papel
Reforma ortográfica
como um sistema de firewall.
Entrevista com Martin Nordholts,
desenvolvedor do GIMP
Inseguro pelo Design
Propaganda do Firefox
Os problemas de segurança à frente da atual safra de sistemas operacionais, incluindo o Navegue com segurança
Windows, mas também incluindo o Linux, são resultado de erros de design. Os erros
Ilusões de Óptica
foram herdados, em sua maior parte, de seus predecessores dos anos 60. A maioria
desses problemas podem ser atribuídos ao fato de que os desenvolvedores não são Desktop? Qual Desktop??
perfeitos. Os humanos cometem erros. Claro, seria bom reduzir os números e mitigar os
efeitos; entretanto, os programadores frequentemente estão dispostos a comprometer a
segurança e um design limpo pela velocidade. Tanenbaum se refere a isso como um
"pacto faustiano".
Além dessas questões relacionadas à dimensão, designs monolíticos também estão
propensos a problemas estruturais inerentes: qualquer erro é capaz de comprometer o LINKS
sistema como um todo. Um erro de design fundamental é que os sistemas operacionais
atuais não seguem o Princípio da Menor Autoridade (POLA em inglês). Para esclarece Blog do Hqxriven
isso, o POLA afirma que os desenvolvedores devem distribuir os sistemas sobre uma Blog do kErNeL_sCrIpT
quantidade de módulos a fim de que um erro num módulo não comprometa a
1 de 6 14/1/2009 14:19
//syph0s on Linux: O retorno do Minix http://www.syph0s.net/2009/01/o-retorno-do-minix.html
segurança e estabilidade dos outros módulos. Eles também devem garantir que cada Blog do nq6
módulo tenha apenas os direitos que ele realmente necessite para finalizar as funções
Blog do samuelbh
designadas.
Brasil Livre
O contínuo crescimento do sistema operacional vem com a integração de novos drivers. Exército do Linux
Sistemas monolíticos incorporam drivers de dispositivos dentro do kernel, o que Felipe Borges
significa que um erro de driver pode comprometer todo o sistema. Drivers de código
fonte fechado em particular colocam em risco a segurança do sistema. De acordo com Fórum ArchLinux-BR
Tanenbaum, incorporar um driver fechado no kernel é como aceitar um pacote lacrado Fórum Ubuntu-BR
de um estranho e levá-lo à cabine do avião. Genius Life
InfoSucata
Kronos Blog
Márcio de Castro
Ubuntu Dicas
Ubuntued
ARQUIVOS
Janeiro (5)
Dezembro (27)
Novembro (12)
Outubro (33)
Setembro (50)
Agosto (1)
Julho (3)
Junho (4)
Maio (12)
Abril (1)
Março (14)
Figura 1: O microkernel do Minix encapsula vários subsitemas na Área do Ususário, incluindo Fevereiro (10)
drivers, o sistema de arquivos e a pilha de rede. O kernel roda apenas funções críticas como Janeiro (6)
operações de I/O, agendadores e gerenciamento de memória.
Arquitetura Transparente
NUVEM DE TAGS
O Minix é, provavelmente, o sistema operacional existente mais bem documentado. O
"The Minix Book" de Tanenbaum e Woodhull é a referência principal. Inúmeras archlinux braziu chrome
publicações sobre novas funções e pesquisas em andamento são encontradas na página documentação documentário
principal do Minix. O Minix obedece ao padrãoPSIX IEEE 1003.2-1996 e os
eleição entrevista flash
desenvolvedores já portaram muitos programas Unix para o Minix.
futuro g1 gimp
A Diferença do Minix google história
humor kde kernel
O Minix 3 está nos currículos de muitas universidades e muitas gerações de estudante
já examinaram os poucos milhares de linhas do código do Minix e consertaram muitos
linux mediocridade
erros. A arquitetura em microkernel implementa os drivers como processos de modos microsoft novell open
de usuários separados que não permitem executar comandos privilegiados ou operações music opensolaris
de I/O (Entrada e Saída) ou escrever diretamente na memória. Em vez disso, essas pclinuxos pesquisa piracy
operações são feitas por chamadas fiscalizáveis do kernel (ver Figura 1). red hat release
segurança smartphones
O Minix 3 utiliza mensagens de largura definida para a comunicação de processos. Esse
design simplifica a estrutura do código e ajuda a mitigar o perigo de transbordamento software livre sun
de dados. O sistema de arquivos do Minix é executado como um simples processo de tutorial ubuntu windows
usuário. Já que ocupa cerca de 8.200 linhas do código da área de usuário, mas sem
código do kernel, odebug nele é feito facilmente.
2 de 6 14/1/2009 14:19
//syph0s on Linux: O retorno do Minix http://www.syph0s.net/2009/01/o-retorno-do-minix.html
Figura 2: O Minix é bastante espartano na inicialização. Dito isso, a versão 3.1.2a incluí uma
interface X11 e ferramentas para desenvolvedores.
Os usuários de computador estão mudando. Dez anos atrás, a maioria dos usuários de
computador eram pessoas jovens ou profissionais com muita experiência técnica.
Quando as coisas davam errado - e frequentemente davam -, eles sabiam como
consertar as coisas. Hoje em dia, o usuário comum é muito menos sofisticado, talvez
um garotinha de 12 anos ou um vovô. A maioria deles sabe tanto sobre arrumar
computadores quando umnerd de computadores sabe sobre consertar o próprio carro. O
que eles querem mais do que qualquer outra coisa é um computador que funcione o
tempo todo, sem falhas ou erros.
Usuários domésticos não são os únicos incomodados pela pobre confiabilidade dos
computadores. Até mesmo em configurações altamente técnicas, a baixa confiabilidade
dos computadores é um problema. Empresas como Google eAmazon , com centenas de
servidores, experimentam várias falhas todos os dias. Eles aprenderam a conviver com
isso, mas certamente iriam preferir sistemas que simplesmente funcionassem o tempo
todo. Infelizmente, os softwares atuais os deixam na mão.
O problema básico é que o software contém bugs, e quanto mais softwares existem,
mais bugs irão existir. Vários estudos têm mostrado que o número de bugs por milhar
de linhas de código (KLoC) variam de 1 a 10 em grandes sistemas de produção. Um
pedaço de um software bem escrito pode ter 2 bugs por KLoC com o passar do tempo,
mas não menos. Um sistema operacional com, digamos, 4 milhões de linhas de código
é, portanto, suscetível a ter ao menos 8000 bugs. Nem todos são fatais, mas alguns
3 de 6 14/1/2009 14:19
//syph0s on Linux: O retorno do Minix http://www.syph0s.net/2009/01/o-retorno-do-minix.html
A solução para esse problema é tirar o código do kernel, onde ele pode causar o máximo
de estrago, e colocá-lo nos processos da área de usuário, onde bugs não conseguem
causar falhas no sistema. É assim que o Minix foi projetado. O atual sistema Minix é o
[segundo] sucessor do Minix original, que foi lançado originalmente em 1987 como um
sistema operacional educacional mas tem sido corrigido desde então a fim de se tornar
um sistema altamente confiável e auto-imune. O que segue é um breve descrição da
arquitetura do Minix; você pode encontrar mais detalhes em http://www.minix3.org.
O Minix 3 foi projetado para rodar com o menor código possível no modo kernel, onde
os bugs podem ser facilmente fatais. Em vez de 3 ou 4 milhões de linhas de código no
kernel, o Minix 3 tem cerca de 5000 linhas de código no kernel. Às vezes kerneis tão
pequenos são chamados de microkerneis. Eles lidam com o gerenciamento de processo
de baixo nível - agendamento, interrupções e o relógio - e fornecem alguns serviços de
baixo nível para componente da área de usuário.
Eles têm de usar os serviços do kernel para ler e escrever no hardware. A camada de
processos rodando no modo de usuário acima do kernel consiste de drivers de
dispositivos - com drivers de discos, drivers de rede e todos os outros drivers - rodando
como processos separados protegidos pelaMMU do hardware a fim de que eles não
possam executar quaisquer instruções privilegiadas e não possam escrever ou ler
qualquer memória, exceto a própria.
Existe uma desvantagem nessa abordagem? Sim. Há uma meta de desempenho. Nós
não medimos isso extensivamente, mas o grupo de pesquisa em Karlshure
(Universidade de Karlshure, Alemanha), que desenvolveu o próprio microkernel, o L4, e
depois rodou Linux sobre ele como um simples processo de usuário, foi capaz de atingir
uma meta de desempenho de 5%. Acreditamos que, se colocarmos alguns esforços
nele, poderemos alcançar a taxa entre 5% e 10% também. A performance não tem sido
uma prioridade para nós, assim como a maioria dos usuários que lêem seus emails e
entram no Facebook não estão limitados pela performance do CPU. O que eles querem,
no entanto, é um sistema que funcione o tempo todo.
Na verdade, todos usam. Provavelmente, você roda vários deles. O seu telefone celular,
por exemplo, é um pequeno computador normal e há uma boa chance dele rodar o L4
ou o Symbian ou outro microkernel. Os roteadores de alta performance da Cisco usam.
Nos mercados aeroespacial e militar, onde a confiabilidade é primordial, o Green Hills,
outro microkernel, é amplamente usado. O PikeOS e o QNX também são microkerneis
amplamente usados em sistemas embarcados e industriais. Em outras palavras, quando
se trata de sistemas que "funcionem o tempo todo", as pessoas se voltam para os
microkerneis. Para saber mais sobre esse assunto, acesse www.cs.vu.nl/~ast
4 de 6 14/1/2009 14:19
//syph0s on Linux: O retorno do Minix http://www.syph0s.net/2009/01/o-retorno-do-minix.html
/reliable-os/.
Sendo assim, é o que acreditamos, baseado em várias conversas com usuário não
técnicos, que o que eles querem acima de qualquer coisa é um sistema que funcione
perfeitamente todo o tempo. Eles têm uma baixa tolerância para sistemas não
confiáveis mas atualmente eles não têm escolhas. Acreditamos que sistemas baseados
em microkerneis podem indicar o caminho para sistemas mais confiáveis.
Rüdiger Weis é professor de program ação de sistem as na THF Berlin. Entre 2002 e 2005, ele esteve
envolvido com uma pesquisa de pós-doutorado sistem as operacionais seguros sob a supervisão do
Professor Andrew S. Tanenbaum na Vrije Universiteit, Am sterdã.
-*-*-*-*-*-*-*-*-*-*-*-*-
PDF (Inglês)
PDF (Português)
Comments (4)
Sort by: Date Rating Last Activity
Gattune! Tecnologia 0
Fábio 0
Pablo Hess 0
Henrique Taniyama 0
Name
Email (track replies)
Blog URL (optional)
SUBMIT COMMENT
Receive email updates for this post
Or post using OpenID
5 de 6 14/1/2009 14:19
//syph0s on Linux: O retorno do Minix http://www.syph0s.net/2009/01/o-retorno-do-minix.html
6 de 6 14/1/2009 14:19