quarta-feira, 5 de outubro de 2011

 






SISTEMA OPERACIONAL MENUETOS


O Sistema operacional do MenuetOS é de 32 bit ou 64 bit totalmente escrito em assembly. Ele é multitarefas, possui interface gráfica de até 16 milhões de cores em 1280x1024 pixels, editor e compilador de assembly, ethernet: TCP / UDP / ICMP / IP, servidor HTTP, MP3 e de e-mail, etc.

Descrição

Captura de tela do MenuetOS 0.77
Desenvolvedor: Ville Mikael Turjanmaa
Modelo: Código aberto (32-bit) e Código fechado (64-bit)
Versão estável: 0.93 / 19 de fevereiro de 2010
Núcleo: Núcleo monolítico
Licença: Proprietaria [1]
Desenvolvimento: corrente, Beta

Gerando o sistema

I:\free\menuetos>MSETUP
MENUET 0.74 Beta (c) 2000-2002 Ville Turjanmaa
Disclaimer: No guarantee is made about compatibility.
This program will copy MENUET operating system
to an empty 1.44 M diskette in drive A:
Your hard disks are not affected in any way.
Note that Windows 3.1, 95 & 98 prevent access to
bootsector in drive A: Run your machine in plain DOS-mode.
Windows v4.10 running.
Do you wish to continue ? [Y/N]
Pressione Y se você deseja iniciar o processo de copia do sistema operacional para o disquete, caso contrário pressione N para o programa se encerrado.
1465344
Installation complete.
Restart your computer with
the diskette in drive A:
Comments to villemt@silmu.jyu.fi
I:\free\menuetos>
Após alguns segundos, a instalação no disco será completada com sucesso. Agora basta reiniciar o equipamento e efetuar o boot pelo drive a:.
Algumas perguntas referentes ao hardware serão feitas ao usuário, Nada de complicado, resolução de sua preferência, o tipo do mouse PS2/Serial, quantidade memória e o tipo do boot.
Pronto! Agora você pode carregar no bolso um disquete que vai impressionar qualquer profissional na área de informática.

HISTÓRIA


Geeknologia é cultura: “Menuet” (minueto) é o nome de uma dança que foi muito popular há alguns séculos, e seu nome vem da palavra francesa “menu”, que quer dizer “miúdo”.
O MenuetOS foi originalmente licenciado sob a GPL, e a versão para IA-32 continua a sê-lo. Tem capacidades multitarefa, possui interface gráfica de até 16 milhões de cores em 1280x1024 pixels, editor e montador de Assembly (o Flat Assembler), suporte para ethernet, servidor HTTP, MP3 e de e-mail. Ele tem suporte a periféricos USB 2.0. O Quake podem rodar no MenuetOS. O armazenamento em disco do MenuetOS, suporta sistemas de arquivos FAT32.
O foco principal do MenuetOS foi um ambiente de programação fácil em assembly, mas ainda é possível executar programas escritos em linguagem de programação de alto nível sobre o núcleo assembler. O maior esforço foi o suporte a linguagem de alto nível, é trabalho de Jarek Pelczar's em portar bibliotecas C para Menuet.
O grupo já produziu também uma versão para a arquitectura AMD64/EM64T, o Menuet64. Contudo, essa versão não foi disponibilizada sob a GPL, mas sim sob uma licença proprietária.
Para instalar o MenuetOs é necessário baixar a imagem da última versão do disco de boot e testar em seu computador. Se você não tem drive de disquete, podem ser utilizados sistemas de virtualização como o QEMU ou o Sun xVM Virtualbox – ambos tem versões para Linux e Windows.
O seu maior diferencial é de caber em um único disquete trazendo os seguintes recursos:
§  Trabalha com kernel aberto em 32 bit e fechado em 64 bit;
§  Interface gráfica suportando 16M de cores e resolução 1280x1024;
§  Eficaz linguagem de programação comparada ao Windows e Linux;
§  Interface de Edição e compilação para programas em assembler;
§  Códigos fontes do kernel e aplicações inclusos sobre licença (GPL);
§  Protocolo TCP/IP com interface PPP e Ethernet;
§  Servidor de Email/HTTP/MP3/ /FTP;
§  3D maze;
§  Suporta skins.
§  Multitarefa preemptiva
§  Gerenciador de janelas que aceita skins, arrastar e soltar e transparência
§  USB 2.0
§  Clientes de Email/FTP/HTTP
Nesses dias em que se tornou lugar comum ver distribuições Linux em “live cd”, que tal um SO (com interface gráfica!) que roda em “live diskette”?  O MenuetOS (ou MeOS), um mini-sistema operacional totalmente desenvolvido em assembly (asm).
Para quem não sabe, o assembly é uma linguagem de baixíssimo nível. Sua sintaxe é formada por uma notação mnemônica através da qual seres humanos normais – ou quase – podem compreender a linguagem de máquina, formada na realidade por zeros e uns.
Captura de tela do MenuetOS 0.77
Ilustração 1: Fonte: < http://pt.wikipedia.org/wiki/ficheiro:MenuetOS.png>
O criador do MeOS é o finlandês Ville Turjanmaa, provavelmente um übernerd com muitas ideias loucas na cabeça e um compilador montador asm nas mãos. De acordo com uma entrevista para o OS News, Turjanmaa teria visto que, ao serem portadas para o assembly, certas partes do kernel Linux tiveram um ganho de velocidade de 10 a 40%.
Com o tempo, diversas pessoas se juntaram ao projeto: Turjanmaa definiu o gerenciamento de processos e a GUI, enquanto Madis Kalme cuidou das funções gráficas e Mike Hibbett desenvolveu o sistema que permitiu o uso em rede.
Segundo o site oficial do sistema, o MeOS traz um ambiente “fácil” (as aspas são nossas) para a programação asm em 32/64 bits, mas nada impede que os programas sejam desenvolvidos em outras linguagens (ou delas portados para o assembly). Para que se tenha uma ideia do poder do sistema, no site oficial estão disponíveis ports do DOSBox e de games como Doom e Quake (o port foi realizado pelo polonês Jarek Pelczar).


Captura de tela do Jogo Quake Thumbnail
Ilustração 2: Fonte: < http://www.menuetos.net/sc003.png >


Captura de tela Multitarefa: um monte de janelas abertas
Ilustração 3: Fonte: <http://www.comunidade-linuxnarede.eti.br/uploads/photos/149.jpg>

O MenuetOS não tem nada a ver com o UNIX, nem é baseado em nenhum sistema operacional conhecido. Um texto explicativo do site oficial afirma que o objetivo disso foi “remover as camadas extras entre as diferentes partes de um SO, que normalmente complicam a programação e criam bugs”.


ORGANIZAÇÃO DO CÓDIGO FONTE DO KERNEL DO MENUETOS


O Kernel do MenuetOS é do tipo Monolítico, isto quer dizer, todos as partes do Kernel estão em uma única imagem(arquivo binário). Assim como a maioria dos compiladores, o FASM(que é o compilador usado para compilar o MenuetOS) permite a separação do código dos programas em vários arquivos, que costumam possuir a extenção .inc(de include), que são chamados pelo programa principal kernel.asm que inclui os .inc, porem , para confundir mais, alguns .inc incluem outros .inc , e para desfazer esta confusão, ao tentar entender o funcionamento do Kernel do MenuetOS, é que eu criei este diagrama.