"When I despair, I remember that all through history the way of truth and love has always won. There have been tyrants and murderers and for a time they seem invincible, but in the end, they always fall — think of it, always." Mohandas Gandhi
In a time of universal deceit - telling the truth is a revolutionary act. George Orwell

Wednesday, April 02, 2008

Entrevista a Andrew S. Tanenbaum, criador do Minix

Andrew S. Tanenbaum, professor de "computer science" e criador do Minix, esteve no IST, onde foi entrevistado pela Semana Informática.

AST como também é conhecido, é autor de diversos livros que são tidos como bíblias para os estudantes de informática, entre os quais se incluem:

Operating Systems: Design and Implementation and MINIX [1] were Linus Torvalds' inspiration for the Linux kernel. In his autobiography Just For Fun, Torvalds describes it as "the book that launched me to new heights". in Wikipedia


Entre as suas diversas "façanhas" está a criação em 1987 do primeiro clone do Unix, o Minix.

Apenas 3 anos após esta criação, Linus Torvalds deu os primeiros passos na criação do seu Kernel Linux, em 1991, usando este mesmo Minix como inspiração, não contendo o Kernel Linux qualquer código do Minix como é aliás afirmado pelo próprio AST, isto porque, os senhores da microsoft à uns anos atrás e para descredibilizar o Kernel Linux, resolveram encomendar um livro a um senhor que teve a triste ideia de mentir, dizendo que o Kernel Linux teria código do Minix.

Some notes on the "Who wrote Linux" Kerfuffle
On 20 May 2004, I posted a statement refuting the claim of Ken Brown, President of the Alexis de Tocqueville Institution, that Linus Torvalds didn't write Linux. My statement was mentioned on Slashdot, Groklaw,
and many other Internet news sites. This attention resulted in over 150,000 requests to our server in less than a day, which is still standing despite yesterday being a national holiday with no one there to stand next to it saying "You can do it. You can do it." Kudos to Sun
Microsystems and the folks who built Apache. My statement was mirrored all over the Internet, so the number of true hits to it is probably a substantial multiple of that. There were also quite a few comments at
Slashdot, Groklaw, and other sites, many of them about me. I had never engaged in remote multishrink psychoanalysis on this scale before, so it was a fascinating experience.

Ficaram célebres as discussões na Usenet entre AST e Linus sobre qual dos dois sistemas seguiria o melhor paradigma, microkernel ou kernel monolítico.

LINUX is obsolete - comp.os.minix | Grupos Google

1. MICROKERNEL VS MONOLITHIC SYSTEM
Most older operating systems are monolithic, that is, the whole operating system is a single a.out file that runs in 'kernel mode.' This binary contains the process management, memory management, file system and the rest. Examples of such systems are UNIX, MS-DOS, VMS, MVS, OS/360, MULTICS, and many more.

The alternative is a microkernel-based system, in which most of the OS runs as separate processes, mostly outside the kernel. They communicate by message passing. The kernel's job is to handle the message passing, interrupt handling, low-level process management, and possibly the I/O.
Examples of this design are the RC4000, Amoeba, Chorus, Mach, and the not-yet-released Windows/NT.

Nessa entrevista a dado momento AST afirma que o Minix "É uma tentativa de construir um sistema operativo pequeno e bastante fiável.", após o que a SInformática questiona "O que é que é “bastante fiável”? Como é que se pode medir a fiabilidade?" e se "(...) essa estabilidade pode ser alguma vez atingida?", respondendo AST que "Tendo em conta os progressos atingidos, penso que poderemos conseguir essa estabilidade absoluta com o Minix. Nos testes, injectámos 2,5 milhões de falhas numa série de controladores. Os drivers foram abaixo vezes sem conta mas o sistema operativo nunca parou."

Ora ainda nunca experimentei o Minix, mas se esta afirmação do professor é realmente correcta, o Minix já se encontra a um nível muito interessante, não será ainda ou talvez nunca um QNX, mas é provável que prove que o paradigma do Microkernel será provavelmente o mais interessante, deixando-me com a pergunta, onde andas HURD?

Não tenho razão absolutamente nenhuma para duvidar da afirmação do professor AST, embora não perceba porque razão usa m$-window$, como ele nessa entrevista afirma "O meu laptop com Windows ficou parado hoje ao almoço. É o terceiro crash que ele sofre só neste mês e já vamos a meio de Março.", porque não usar GNU/Linux, Minix ou mesmo o FreeBSD, que ele tem em excelente conta, afirmando que "Cheguei a pensar que o FreeBSD viria a dominar o mundo dos sistemas operativos. No entanto, foi encurralado numa batalha jurídica no início dos anos 90 pela AT&T por causa – imagine-se – do número de telefone, que era então 1800UNIX (e o Unix era da AT&T). O processo demorou entre três a quatro anos a ser resolvido e, durante esse período, o FreeBSD não se desenvolveu. Foi nesse período que o Linux cresceu. Se o processo nunca tivesse acontecido o FreeBSD tinha disparado e hoje não haveria Linux."

Ainda relativamente à estabilidade, será que o professor AST usa GNU/Linux? Infelizmente a SI não o questionou, é que na minha experiência o GNU/Linux, particularmente Debian GNU/Linux é de uma estabilidade à prova de bala, quer em server quer em desktop.

Foi ainda interessante verificar que o professor caiu em contradição quando afirma em relação ao GNU/Linux, "Só que, embora seja um pouco mais estável do que o Windows, a Microsoft tem um melhor sistema de controlo de qualidade. É impossível manter algo com cinco milhões de linhas no kernel.", se a micro$oft tem um melhor sistema de controlo de qualidade, como pode o professor afirmar que o GNU/Linux é mais fiável? Não seria lógico que tendo a m$ um melhor sistema de controlo de qualidade isso levasse a um melhor e mais estável sistema operativo?!

É importante que existam diversas alternativas, e diversos caminhos a experimentar, só é pena é que alguns deles não usem standards.

1 comment:

madskaddie said...

Eu estive na conferência que ele deu no IST... Duas coisas chatas:

* Havia um sorteio depois da conferência e o pessoal tinha de lá ficar. Resultado fiquei a ver ombros e costas e fiquei com as minhas costas lixadas :/ no meio houve uns putos que ainda sacaram do jornal e puseram-se a conversar... triste, não?

* Lá para o meio o Prof AST, disse que tinha escolhido aquela mascote por várias razões, uma delas era que um Guaxini entraria mais facilmente em casa de uma pessoa que um pinguim. O pessoal, uma vez mais infantil, riu-se à brava... mas esqueceram-se que eles não usam (nem iriam começar a usar) nem minix nem linux mas sim coisas bem menos fiáveis (maioria Win). Eu também me ri como é óbvio, simplesmente a piada só não é ofensiva se for dirigida directamente aos interessados (users minix/users linux) e não a 3os descontextualizados que vêem o linux como a chatice que os "profes obrigam".

Fiquei zangado pela já conhecida infantilidade dos putos do Ensino Universitário (o qual frequento)

Gostei do conteúdo da conferência (até porque concordo com o Prof. AST no que respeita à arquitectura dos SO). Só que entendo o Linus... Se virmos a uma escala mais pequena, é como usarmos variáveis globais a um programa, deve evitar-se ao máximo... mas às vezes dão tanto jeito...

Em relação a estabilidade de Minix vs Linux, há uma grande diferença: um blob mal feito não mata no Minix mas mata no Linux (já obtive freezes depois de suspenção, usando tanto ndisrwrapper como o fgrlx).

No final fui buscar um CD do minix 3 que estavam lá para o pessoal levar (estranhamente não estavam esgotados... o pessoal foi mm ver o Prof. AST,claro). Ainda tentei por aquilo a correr na máquina virtual... mas curiosamente deixava de responder depois de dar um comando (há caracteres a serem imprimidos, não faz é nada)


NOTA FINAL: que eu desse por ela, o número da xbox que foi sorteada não estava na sala :D (vingança serve-se fria ;)