Minoca OS: novo sistema operacional gratuito
Dois corajosos desenvolvedores, Ivan Green e Chris Stevens, decidiram uma jogada ousada. Eles escreveram do zero um sistema operacional Minoca OS completamente novo e publicaram seu código-fonte sob a licença gratuita GNU GPL v3.São 625.000 linhas de código bem documentado , principalmente na linguagem de programação C, parcialmente em C ++ e Assembler. O kernel do sistema operacional x86 tem aproximadamente 750 KB de tamanho. Com drivers, uma pilha de rede e um buffer de vídeo, um sistema recém-carregado usa de 5 a 7 MB de RAM.A maioria dos sistemas operacionais populares de hoje nasceu no final dos anos 80 ou início dos 90, na melhor das hipóteses. Naqueles anos, o sistema operacional trabalhava em hardware completamente diferente do que hoje. Portanto, a abordagem para o desenvolvimento do kernel era um pouco diferente. De acordo com os criadores do Minoca OS, agora essa abordagem está desatualizada, para que você possa obter um aumento significativo na eficiência do sistema operacional se o reescrever do zero.Atualmente, os dispositivos com SOs incorporados têm requisitos completamente diferentes para gerenciamento de energia, segurança, manutenção e virtualização. Os sistemas antigos do tipo UNIX foram modernizados para atender aos novos requisitos, mas, como resultado, seu código foi inchado e perdeu sua beleza e consistência anteriores. Começando do zero, o Minoca OS procura se livrar de seu legado agravante.O Minoca OS é um sistema operacional de uso geral que pode ser usado em qualquer lugar. Presumivelmente, é mais adequado para sistemas embarcados e dispositivos móveis, onde existem restrições ao consumo de energia, memória e potência do processador.
Áreas alegadas para usar o Minoca OS Osdesenvolvedores dizem que pretendem criar um sistema operacional econômico, modular e de fácil manutenção. É compatível com o conjunto padrão de interfaces POSIX. Isso significa que você pode executar muitos aplicativos executados no Linux.Uma inovação importante é a interface especial entre drivers de dispositivo e o kernel do SO. Este modelo permite escrever drivers "antecipando" versões futuras do kernel. Em outras palavras, o kernel pode ser atualizado completamente despercebido, sem recompilar os drivers.
Ainda não está claro em quais dispositivos o melhor é usar o novo sistema operacional gratuito. Em teoria, esses devem ser dispositivos com recursos limitados (memória, CPU), mas ao mesmo tempo que exigem funcionalidade avançada de alto nível: multithreading, pilha de rede, suporte para sistemas de arquivos. Os desenvolvedores desses sistemas são oferecidos para experimentar o Minoca OS - e esquecer as dificuldades de adaptar o software a equipamentos específicos. Não haverá necessidade de mexer nos erros específicos de um sistema embarcado exclusivo se o kernel for atualizado em um sistema operacional universal com o lançamento de novas correções.
O Minoca OS possui recursos avançados de depuração. Isso é feito por meio de firmware, kernel ou aplicativos. Além disso, o depurador integrado do Minoca Debugger monitora a execução do programa e o uso de memória em tempo real. Ele mostra em detalhes em que os recursos são gastos especificamente.
OS depurador Minoca
Minoca OS roda em arquiteturas x86, ARMv6, ARMv7 com suporte de memória virtual e alguns megabytes de RAM. O sistema operacional é bem dimensionado e, portanto, funciona bem em computadores pessoais com um grande número de núcleos de processador e gigabytes de RAM. Drivers para muitos dispositivos padrãoestão incluídos .Qual é a diferença de várias distribuições Linux e por que você precisa criar um sistema operacional completamente novo, como ele difere dessas distribuições? Os desenvolvedores são responsáveise para esta pergunta. De acordo com Ivan Green, do lado do aplicativo ou do usuário, eles tentaram tornar o sistema operacional o mais semelhante possível das populares distribuições de servidores Linux. O objetivo é portar o maior número possível de aplicativos para o Minoca OS. Mas a diferença conceitual mais séria está no nível principal, onde os desenvolvedores tentaram aplicar algumas soluções alternativas em termos de filosofia de design e arquitetura. Essas são decisões realmente importantes, mas não são diretamente visíveis ao usuário, mas se manifestam em menor consumo de energia, melhor capacidade de resposta (ou seja, maior velocidade), mais memória livre, atualizações discretas do kernel etc. Apesar da melhor capacidade de resposta em comparação com o Linux, o sistema Minoca OS não pode ser chamado de sistema operacional em tempo real.Referências:- Código fonte do Github
- Images for Raspberry Pi 2, Raspberry Pi, BeagleBone Black, Asus C201, PandaBoard, x86 PC, x86 PC (UEFI), Galileo
- Minoca OS Starter Pack , que pode ser executado no emulador Qemu (o kit inclui a imagem de inicialização do Minoca OS x86, Minoca Debugger, emulador Qemu, Win32 Disk Imager e todos os binários x86)
- Pacotes compatíveis e instruções de construção, incluindo Python, Ruby, Git, Lua e Node.
- A documentação
Source: https://habr.com/ru/post/pt398745/
All Articles