Infinity OS – VideoLog 1

Bom dia,

Como o outro diz, tomei a liberdade de fazer diferente. Não irem escrever loucamente sobre o progresso do Infinity OS, mas sim irem fazer um “Video Log” do desenvolvimento, é muito mais fácil para mim e muito mais fácil para quem está a tentar a prender alguma coisa ou simplesmente acompanhando o projeto.

Neste primeiro video irei falar um pouco do Buid System e do sistema de pastas. Caso surja alguma duvida ou sugestão podem sempre comentar o post, video ou então ,o mais recomendado, participar no nosso forum.

Para o proximo video o assunto será o inicio do Bootloader. Até a uma proxima 😉

Infinity OS – Futuro [Update 1]

Boa tarde,
Algumas pessoas já conhecem o Infinity OS, este é um sistema operativo desenvolvido por mim nas minhas escassas horas vagas, com o objectivo de ser moderno, simples, entre outras coisas que agora não interessam para aqui.

O que gostava de dizer é que irei começar o projeto do zero.
O porque disto?
A resposta é simples muitos já entenderam isso outros nem por isso, mas a nossa lingua está-se a perder e uma prova disso é o novo acordo ortográfico, agora somes menos portugueses e mais brasileiros. O porque disso é simples, eles estão a lutar pela lingua deles e nos simplesmente a deixa-la morrer, como podem reparar já são poucos os softwares que trazem português (Portugal).
Para contrariar isso, e través o nosso pais novamente para as bocas do mundo, sem ser pela palhaçada da crise, o Infinity OS será totalmente em português, se isso é bom para o projeto? Depende do ponto de vista, pelo menos pode despertar mais o interesse do publico português, é obvio que temos um problema que é o resto do mundo, mas deixe-mos isso de lado.

Como já disse o projeto será totalmente em português, este irá assentar em três grandes pontos:

  • Computação de Elevada Performance – O objectivo é fornecer um Sistema Operativo com elevada performance, através da utilização de novas técnicas de programação, e o suporte as ultimas tecnologias tais como o processamento paralelo e multi núcleo.
  • Design e Facilidade de Leitura – Este é um ponto muito importante. Devemos sempre desenhar o código da forma mail fácil possível para facilitar a manutenção do mesmo.
  • Educação – Proporcionar um ambiente de aprendizagem e experiências com programação Assembly, C e C++ de baixo nível, bem como os funcionamentos dos sistemas operativos.

Repositorio
Forum

Update 1

Eu vou ser sincero, eu não consigo programar em português e mesmo os comentarios soam-me esquisito caso estes sejam escritos em português. Mesmo o que eu já tinha falado de que ao usar português obrigatoriamente teria de abdicar do publico que não fala português e isso pode ser uma condicionante para o projeto… acho que prefiro que o projeto tenha visibilidade do que meia dúzia de portugueses a deitar o olho.
O que vou fazer será o seguinte, todo o código e comentarios ficaram em inglês, posteriormente quando a documentação for criada esta será em português/inglês, e os commits também será feitos em português para melhor acompanhar o que esta a ser desenvolvido.

Relativamente aos três pontos fundamentais do projete, estes manteem-se  e por isso sou obrigado a simplificar e a comentar ao máximo tudo o será feito ao longo do código para assim manter a minha palavra.

Infinity OS | Kernel booting…

Boas,
A uns dias atras, no ultimo post que fiz, disse que iria dar uma nova vida ao bootloader, adicionando suporte a gráficos em 32bit, mas decidi ir primeiro para o kernel(componente central de um sistema operativo, normalmente, responsável pela ponte entre o processamento real dos dados a nível de hardware e os aplicativos).

Depois de basear-me em código do sistema operativos Kiwi, apresento-vos a primeira imagem do boot do Kernel do Infinity OS.

O Infi, nome que adoptei para o kernel, é um kernel híbrido tal como Windows NT e o XNU(nucleo do Darwin utilizado no Mac OS X) isso posibilita a execução de serviços a nível do kernel para reduzir o impacto na performance e torna muito mais simples o desenvolvimento de drivers, entre muitas outras vantagens.

Actualmente o kernel tem as seguinte funcionalidades implementadas:

  • Debug a nivel do kernel;
  • Subsistema de segurança;
  • Paginação(funcionalidade muito conhecida, possibilita que uma aplicação use mais memória que a fisicamente existente);
  • Consola(a consola é o está a aparecer na janela que diz QEMU);
  • Suporte a bitmap(Já é possível implementar a famosa imagem de boot);
  • etc.

Por agora é tudo, obrigado pela forma que alguns colegas me estão a dar e obrigado por estarem a seguir.

Infinity OS | Boot Loader

Depois de mais de um ano sem desenvolvimentos, está aqui de novo novidade sobre o “Infinity OS”, o sistema operativo que estou a desenvolver de raiz sem ter como base nenhum dos sistemas atuais como XNU, Linux, Windows(ReactOS), mas é claro que não estou a trabalhar nele loucamente como não houve-se amanha pois tenho muitas outras coisas para fazer, isto é mais um hobby do que outra coisa qualquer.

Mas o que é certo é que terminei uma boa parte do Boot Loader(Primeiro programa a ser executado depois do Post da Bios, ele é responsável por carregar o Kernel do Sistema Operativo na memória e lhe passar o controlo da maquina) é uma parte muito trabalhosa já que é necessário usar assembly para o feito.
Este é o aspecto actual do Boot Loader que está a ser emulado na VirtualBox, neste momento ele já é totalmente functional, mas falta-lhe algo (…) falta-lhe cor e é nisso que estou a trabalhar agora, adicionar suporte a gráficos de 32bit e torna-lo um pouco mais interactivo. Objectivo, algo tipo isto:

Para quem não conhece este é o Chameleon, um fantástico boot loader que foi criado com o objectivo de permitir o load do mach_kernel usado pela Apple como base do seu sistema operativo, graças a ele é muito mais fácil tornar um PC um “HackinTouch”(Expressão usada para computadores não Apple que rodam um sistema operativo Mac OS).

Todas as novidades serão postadas aqui fiquem atentos e até ao próximo post 😀