Minix
MINIX (de mini-Unix) é um sistema operacional semelhante ao Unix baseado em uma arquitetura de microkernel. Desde a versão 2.0, ele é compatível com Portable Operating System Interface (POSIX).
As primeiras versões do MINIX foram criadas por Andrew S. Tanenbaum para fins educacionais. Começando com o MINIX 3, o objetivo principal do desenvolvimento mudou da educação para a criação de um sistema operacional de microkernel altamente confiável e autorrecuperável. O MINIX 3 foi desenvolvido como software de código aberto.
O MINIX foi lançado pela primeira vez em 1987, com seu código-fonte completo disponibilizado às universidades para estudo em cursos e pesquisas. É um software livre e de código aberto desde que foi relicenciado sob a licença BSD-3-Clause em abril de 2000.
Implementação
MINIX 1.0
Andrew S. Tanenbaum criou o MINIX na Vrije Universiteit em Amsterdã para exemplificar os princípios transmitidos em seu livro Sistemas Operacionais: Design e Implementação (1987). (Apesar de compartilhar um nome, não tem relação com o antigo MINIX da Digital Systems House, Inc. baseado no código AT&T Unix.)
Um resumo de 12.000 linhas do código-fonte C do kernel, gerenciador de memória e sistema de arquivos do MINIX 1.0 está impresso no livro. A Prentice-Hall também lançou o código-fonte e os binários do MINIX em disquete com um manual de referência. O MINIX 1 era compatível com chamadas de sistema com a Sétima Edição do Unix.
Tanenbaum originalmente desenvolveu o MINIX para compatibilidade com os microcomputadores IBM PC e IBM PC/AT 8088 disponíveis na época.
MINIX 1.5
MINIX 1.5, lançado em 1991, incluía suporte para sistemas MicroChannel IBM PS/2 e também foi portado para as arquiteturas Motorola 68000 e SPARC, suportando as plataformas de computador Atari ST, Amiga, Macintosh e Sun SPARCstation. Também havia portas não oficiais para processadores Intel 386 PC compatíveis (no modo protegido de 32 bits), National Semiconductor NS32532, ARM e processadores de transputer Inmos. A Meiko Scientific usou uma versão inicial do MINIX como base para o sistema operacional MeikOS para seus computadores paralelos Computing Surface baseados em transputer. Uma versão do MINIX rodando como um processo de usuário sob SunOS e Solaris também estava disponível, um simulador chamado SMX (sistema operacional) ou simplesmente SMX para abreviar.
MINIX 2.0
A demanda por arquiteturas baseadas em 68k diminuiu, entretanto, e o MINIX 2.0, lançado em 1997, estava disponível apenas para as arquiteturas x86 e SPARC hospedadas em Solaris. Foi o tema da segunda edição do livro didático de Tanenbaum, co-escrito com Albert Woodhull e distribuído em um CD-ROM que acompanha o livro. O MINIX 2.0 adicionou conformidade POSIX.1, suporte para processadores 386 e posteriores no modo de 32 bits e substituiu os protocolos de rede Amoeba incluídos no MINIX 1.5 por uma pilha TCP/IP.
A versão 2.0.3 foi lançada em maio de 2001. Foi a primeira versão após o MINIX ter sido relicenciado sob a licença BSD-3-Clause, que foi aplicada retroativamente a todas as versões anteriores.
Minix-vmd
Minix-vmd é uma variante do MINIX 2.0 para processadores compatíveis com Intel IA-32, criada por dois pesquisadores da Vrije Universiteit, que adiciona memória virtual e suporte para o X Window System.
MINIX 3
MINIX 3 foi anunciado publicamente em 24 de outubro de 2005 por Tanenbaum durante seu discurso de abertura no Simpósio sobre Princípios de Sistemas Operacionais (SOSP) da Association for Computing Machinery (ACM). Embora ainda sirva de exemplo para a nova edição do livro didático de Tanenbaum, co-autoria de Albert S. Woodhull, ele foi totalmente redesenhado para ser "utilizável como um sistema sério em computadores embutidos e com recursos limitados e para aplicações que requerem alta confiabilidade."
MINIX 3 atualmente suporta sistemas de arquitetura IA-32 e ARM. Está disponível em formato de live CD que permite ser usado em um computador sem instalá-lo no disco rígido e em versões compatíveis com sistemas de emulação e virtualização de hardware, incluindo Bochs, QEMU, VMware Workstation and Fusion, VirtualBox e Microsoft Computador Virtual.
A versão 3.1.2 foi lançada em 18 de abril de 2006. Foi a primeira versão após o MINIX ter sido relicenciado sob a licença BSD-3-Clause com uma nova quarta cláusula.
A versão 3.1.5 foi lançada em 5 de novembro de 2009. Ela contém X11, emacs, vi, cc, gcc, perl, python, ash, bash, zsh, ftp, ssh, telnet, pine e mais de 400 outros Unix comuns Programas úteis. Com a adição do X11, esta versão marca a transição de um sistema somente de texto. Em muitos casos, ele pode reiniciar automaticamente um driver travado sem afetar os processos em execução. Dessa forma, o MINIX é autorreparável e pode ser usado em aplicações que exigem alta confiabilidade. O MINIX 3 também oferece suporte para gerenciamento de memória virtual, tornando-o adequado para uso em sistemas operacionais de desktop. No entanto, aplicativos de desktop como Firefox e OpenOffice.org ainda não estão disponíveis para o MINIX 3.
A partir da versão 3.2.0, o userland foi substituído pelo do NetBSD e o suporte do pkgsrc tornou-se possível, aumentando os aplicativos de software disponíveis que o MINIX pode usar. O Clang substituiu o compilador anterior (com o GCC agora tendo que ser compilado manualmente) e o GDB, o depurador GNU, foi portado.
MINIX 3.3.0, lançado em setembro de 2014, trouxe suporte ARM.
MINIX 3.4.0RC, Release Candidates tornou-se disponível em janeiro de 2016. No entanto, uma versão estável do MINIX 3.4.0 ainda não foi anunciada e o desenvolvimento do MINIX está inativo desde 2018.
MINIX suporta muitas linguagens de programação, incluindo C, C++, FORTRAN, Modula-2, Pascal, Perl, Python e Tcl.
Mais de 50 pessoas participaram da MINIXCon 2016, uma conferência para discutir a história e o futuro do MINIX.
Todos os chipsets Intel posteriores a 2015 estão executando o MINIX 3 internamente como o componente de software do Intel Management Engine.
Relacionamento com Linux
Influência precoce
Linus Torvalds usou e apreciou o MINIX, mas seu projeto se desviou da arquitetura do MINIX de maneiras significativas, principalmente ao empregar um kernel monolítico em vez de um microkernel. Isso foi reprovado por Tanenbaum no debate Tanenbaum-Torvalds. Tanenbaum explicou novamente sua justificativa para usar um microkernel em maio de 2006.
O desenvolvimento inicial do kernel do Linux foi feito em um sistema host MINIX, o que levou o Linux a herdar vários recursos do MINIX, como o sistema de arquivos MINIX. Eric Raymond afirmou que Linus não escreveu o Linux do zero, mas reutilizou o código-fonte do próprio MINIX para ter uma base de código funcional. À medida que o desenvolvimento avançava, o código MINIX foi gradualmente eliminado completamente.
Reivindicações Samizdat
Em maio de 2004, Kenneth Brown, da Alexis de Tocqueville Institution, fez a acusação de que partes importantes do kernel do Linux foram copiadas da base de código do MINIX, em um livro chamado Samizdat. Essas acusações foram refutadas universalmente - principalmente por Tanenbaum, que criticou veementemente Brown e publicou uma longa refutação em seu site pessoal, também alegando que Brown era financiado pela Microsoft.
Licenciamento
Na época do desenvolvimento original do MINIX, sua licença era relativamente liberal. Sua taxa de licenciamento era muito pequena (US$ 69) em relação a outros sistemas operacionais. Tanenbaum desejava que o MINIX fosse o mais acessível possível para os alunos, mas seu editor não estava disposto a oferecer material (como o código-fonte) que pudesse ser copiado livremente, portanto, uma licença restritiva exigindo uma taxa nominal (incluída no preço do Tanenbaum&# 39; livro de s) foi aplicado como um compromisso. Isso impediu o uso do MINIX como base para um sistema de software distribuído gratuitamente.
Quando os sistemas operacionais gratuitos e de código aberto semelhantes ao Unix, como Linux e 386BSD, se tornaram disponíveis no início dos anos 1990, muitos desenvolvedores de software voluntários abandonaram o MINIX em favor deles. Em abril de 2000, o MINIX tornou-se software livre e de código aberto sob a licença BSD-3-Clause, que foi aplicada retroativamente a todas as versões anteriores. No entanto, nessa época, outros sistemas operacionais haviam superado suas capacidades e ele permaneceu principalmente um sistema operacional para estudantes e amadores. No final de 2005, o MINIX foi relicenciado com uma quarta cláusula adicionada à licença BSD-3-Clause.
Contenido relacionado
Arte ASCII
Dados digitais
Ada (linguagem de programação)
Computador Atanasoff-Berry
Sistema de nomes de domínio