- Andrew S. Tanenbaum, professor emérito de Ciência da Computação da VU Amsterdam, recebeu o ACM Software System Award pelo MINIX, que influenciou o ensino de sistemas operacionais e o projeto de SOs
- O MINIX 1.0 era um sistema operacional UNIX baseado em microkernel para IBM PC, criado em 1987 junto com o livro didático Operating Systems: Design and Implementation
- O MINIX inicial tinha cerca de 12.000 linhas de código e incluía um microkernel, gerenciador de memória, sistema de arquivos e utilitários UNIX essenciais; em 2000, tornou-se software livre e de código aberto
- O MINIX inspirou o Linux, serviu de base para o MeikOS e também roda dentro de microchips amplamente usados
- O ACM Software System Award é concedido a sistemas de software que deixaram impacto duradouro; o prêmio é de US$ 35.000 e é financiado pela IBM
Premiação pelo reconhecimento do MINIX
- Andrew S. Tanenbaum, professor emérito de Ciência da Computação da VU Amsterdam, recebeu o ACM Software System Award pelo MINIX
- O MINIX foi usado para ensinar princípios de sistemas operacionais a várias gerações de estudantes e também influenciou o projeto de sistemas operacionais, incluindo o Linux
O início e a composição do MINIX 1.0
- Tanenbaum criou o MINIX 1.0 em 1987, em conjunto com o livro didático Operating Systems: Design and Implementation
- Era um pequeno sistema operacional UNIX baseado em microkernel para o então popular IBM PC
- O MINIX inicial era composto por cerca de 12.000 linhas de código e incluía os seguintes elementos
- microkernel
- gerenciador de memória
- sistema de arquivos
- programas utilitários UNIX essenciais
- O MINIX tornou-se software livre e de código aberto em 2000
Impacto no Linux e em outros sistemas
- O MINIX não apenas sustentou o sucesso do livro didático de Tanenbaum, como também deixou uma influência mais ampla
- Inspirou o Linux, que cresceu e se tornou um sistema operacional de código aberto bem-sucedido, usado para operar servidores em nuvem, celulares e dispositivos de Internet das Coisas
- O MINIX serviu de base para o sistema operacional MeikOS para computadores baseados em Meikotransputer
- O MINIX também roda dentro de microchips amplamente usados
- A versão posterior MINIX 3.0 é voltada a computadores com recursos limitados, computadores embarcados e aplicações que exigem alta confiabilidade
Disseminação do projeto de microkernel
- A defesa de Tanenbaum do projeto de microkernel, independentemente da influência direta do MINIX, impactou várias gerações de projetistas de sistemas operacionais
A natureza do ACM Software System Award
- O ACM Software System Award é concedido a instituições ou indivíduos que desenvolveram sistemas de software com impacto duradouro por meio de contribuição conceitual, adoção comercial ou ambos
- O prêmio é de US$ 35.000
- O financiamento do Software System Award é fornecido pela IBM
1 comentários
Comentários no Hacker News
Nunca vou esquecer disso. Acho que foi em Stanford, e eu estava assistindo a uma palestra do fundador/CEO da Netflix, Reed Hastings, em que ele explicava como teve a ideia da Netflix
Quando um aluno perguntou: “Quando você percebeu que precisava migrar para a internet?”, ele respondeu: “Isso já fazia parte da ideia desde o começo. Eu sabia no que a rede se tornaria. Há uma frase em um livro-texto de ciência da computação: ‘nunca subestime a largura de banda de um caminhão carregado de fitas trafegando pela rodovia’. Achei que, até a rede chegar ao nível que queríamos, primeiro precisaríamos enviar DVDs”
Na hora pensei: “Uau! Eu lembro dessa citação e da imagem”, então fui procurar o livro e ela estava lá, exatamente assim, no livro de redes do Tanenbaum. Anedota à parte, esse cara teve uma influência enorme em toda a indústria, sem nem entrar na discussão sobre kernels
É um prêmio muito apropriado para um grande educador, e é motivo de parabéns. Ainda tenho meu exemplar do livro-texto de sistemas distribuídos dele que eu lia antigamente, e ainda acho que teria sido ótimo se o Minix tivesse vencido e aquele modelo de microkernel tivesse se tornado a base do ecossistema FOSS *nix
Para quem não souber, Andrew também mantém o blog de ciência eleitoral Electoral Vote [1], que analisa e prevê eleições dos EUA com um modelo de pesquisas do colégio eleitoral. É um dos bons sites sobre política americana
[1]:https://www.electoral-vote.com/evp2024/Info/welcome.html
Só lendo esses textos diários, que são espirituosos sem cair no emocional, já dá para se manter muito bem informado como cidadão americano
Eu estava indo muito mal na disciplina de arquitetura de computadores e tirei 5% em uma das provas intermediárias. Troquei para o livro do Andrew como leitura recomendada e, sem fazer nada além de lê-lo por 2 horas por dia, tirei 100% na final
Era um livro incrivelmente acessível :-)
Um prêmio mais do que merecido para um grande educador que torna a ciência da computação acessível e prazerosa
Structured Computer Organization é um livro-texto, mas a escrita é tão boa que eu o li de ponta a ponta como se fosse um thriller
Não é muita gente que fala assim sobre Knuth, por exemplo. Isso não é para diminuir o quão grandioso Knuth é à sua maneira, claro
Vejo os livros do AST, especialmente os que trabalham diretamente com Minix, no mesmo nível de filosofia exposto no artigo The Night Watch
No fim, aquele artigo fala não de ignorância causada pela abstração, mas do conforto que vem da familiaridade com o real; não de impotência, mas da ausência aprendida de medo
Você provavelmente nunca vai depurar código em nível de kernel enquanto observa linhas de dados com um osciloscópio ou uma sonda lógica conectada aos pinos do chip do processador, mas todos nós conhecemos pelo menos uma pessoa que faz esse tipo de coisa com total naturalidade. Ainda assim, um pouco mais de conhecimento e familiaridade com o silício, um datasheet de processador por perto, modos de segmentação de memória que não parecem estranhos — tudo isso ajuda muito um desenvolvedor de software
É um salto que vale a pena todo mundo tentar ao menos uma vez, porque ajuda a remover a barreira mental que impede de entender como as coisas realmente funcionam
Também vale mencionar que MINIX se esconde dentro de praticamente todas as CPUs Intel modernas como parte do Management Engine. Esse fato pouco conhecido o torna um dos sistemas operacionais mais amplamente distribuídos
Também tenho curiosidade sobre qual versão do Minix foi usada. O Minix v3.1 saiu com o livro em 2005, o 3.2 em 2012 e o 3.3 em 2014
O debate entre Linus Torvalds e Andrew Tanenbaum poderia ter sido um ponto de virada importante na história da tecnologia, mas o MINIX parece ter perdido uma oportunidade enorme de ocupar um lugar maior na história
Considerando que a maioria deles roda alguma forma de Linux ou um sistema operacional de tempo real, fico curioso sobre qual dos dois, MINIX ou Linux, está mais disseminado
Li Operating Systems: Design and Implementation em 1988 ou 1989, e foi uma experiência esclarecedora e prazerosa
Na época, eu só desejava que algum sistema operacional parecido com Unix fosse disponibilizado “livremente”. Aqui, “livremente” estava sendo usado no sentido intuitivo, não na definição formal que descobri depois. Poderia ter sido o Minix
O Computer Networks dele foi um dos meus livros favoritos na época em que eu estudava ciência da computação
Alguns anos depois, acabei dando uma disciplina sobre sistemas distribuídos na escola de negócios e montei o material com base nesse livro. Mesmo hoje, ele ainda parece totalmente atual
Nunca me aprofundei tanto em redes, mas esse conhecimento amplo continuou comigo e ajuda repetidamente. Posso dizer que isso me diferencia de outros engenheiros
Ainda assim, Modern Operating Systems é excelente, e ouvi reações parecidas quando o recomendei a colegas na faculdade
Nesta altura, acho meio triste que a pesquisa em sistemas pareça ter praticamente parado
Eu imaginava que por volta de 2024 estaríamos usando um sistema operacional distribuído capaz de mover processos livremente entre celular, desktop, notebook e NAS sem grandes problemas
Se você quiser fazer algo que não seja para hardware dedicado, precisa ser compatível com o software útil que já existe. Uma nova mudança de paradigma que exija alterações no software existente enfrenta um caminho extremamente difícil até dar certo. Ainda assim, há muito progresso incremental em sistemas operacionais
A ideia de um sistema operacional verdadeiramente distribuído provavelmente já passou pela cabeça de muita gente. Tenho bastante certeza de que os sistemas operacionais existentes acabarão evoluindo nessa direção. Já dá para ver fragmentos disso surgindo aqui e ali
Muita coisa aconteceu desde aquele artigo, mas fica essa sensação inquietante de que ele estava certo e de que nós paramos de tentar realmente expandir e explorar as possibilidades. Mas isso pode ter mais a ver com o estado da academia do que com a área em si
Antes de a onda de hype explodir, também não era como se conferências estivessem distribuindo convites a rodo para aplicações de GPGPU com um toque de aprendizado de máquina. Por causa da realidade dura da hegemonia acadêmica e da corrida por financiamento, infelizmente não consegui me interessar muito por pesquisa em sistemas
Mesmo que alguém tentasse implementar uma ideia interessante como essa, seria julgado com dureza por não conseguir competir com Pixel ou iPhone no restante da stack. Basta olhar para o Rabbit
O que você descreveu é um tema central da pesquisa moderna em sistemas, e os grandes provedores de nuvem já implementam internamente todos esses tipos de coisa
Em geral, consumidores se importam mais com a experiência de uso. Um software que sincroniza conteúdo com o servidor para deixá-lo disponível em todos os dispositivos é muito menos custoso do que tentar mover processos em tempo real sobre redes instáveis
Muitos pesquisadores de sistemas ficaram completamente obcecados com clustering, transparência de rede e sistemas distribuídos, e viam isso como o auge dos sistemas operacionais. Nunca entendi bem por quê. Entendo totalmente o apelo do lado “legal”, mas nunca consegui enxergar por que seria tão importante que um sistema formado por servidor, notebook, celular e rede funcionasse como um único sistema
Acho que muito esforço foi desperdiçado perseguindo esse dragão. Pesquisar coisas legais é ótimo, e certamente surgiram coisas úteis no processo, então talvez “desperdiçado” não seja a palavra mais precisa. Ainda assim, nunca senti que houvesse justificativa suficiente, e talvez esse esforço pudesse ter sido melhor empregado
A alternativa de ferramentas e modelos de programação para múltiplos sistemas, que permitem gerenciar vários sistemas sem fazê-los parecer uma única imagem no nível mais baixo, não recebeu muito amor da academia depois do TCP/IP e acabou sendo desenvolvida principalmente pela indústria
Outro fato interessante sobre Tanenbaum é que ele era a pessoa por trás do electoral-vote.com
Antes de todo mundo ter seu próprio modelo e antes de Nate Silver — ou melhor, Poblano — dominar tudo em 2008, esse era o lugar aonde se ia para entender a eleição presidencial dos EUA de 2004 entre Bush e Kerry. Isso ajudou enormemente muita gente a entender pesquisas eleitorais e estatística
Você provavelmente já sabe disso, mas quis destacar para quem não sabe
O professor Tanenbaum agora tem também uma coautora, a professora Bates. Bates é professora de história na UCLA/Cal Poly. O site é publicado diariamente; antigamente saía só nos dias úteis, e isso apenas em período eleitoral