Já é possível carregar programas do Linux
Depois de várias mudanças, já é possível carregar programas do Linux. Apenas carregar porque qualquer chamada de sistema o programa é finalizado.
Para poder executar programas Linux, uma nova interface foi criada. A UserSpaceManager, que cuida do espaço de memória do usuário e é responsável por executar programas.
Algumas funções que estavam na interface UserModManager passaram para a UserSpaceManager.
Além dessa nova interface, o ModulOS agora tem a ExecLoader que é responsável por carregar um arquivo executável.
Atualmente temos uma implementação da ExecLoader para os módulos executáveis e para os binários do Linux no formato ELF.
As interfaces FileSystem e FSManager sofreram mudanças para simplificar a interface. Não existe mais um tipo File e outro Dir. Existe agora o tipo Handle. Com isso várias funções puderam ser removidas.
Outra mudança importante foi na interface TaskManager. O uso do conceito de tarefa destrutível foi amplamente usada na interface e passou a valer para a linhas de execução também.
Como de costume muitos erros também foram corrigidos, tornando o ModulOS melhor!
Estarei trabalhando agora na implementação das chamadas de sistema do Linux para poder executar os programas do Linux. Além disso, acho que terei que implementar o suporte a HDs já que as bibliotecas do Linux são muito grandes para um disquete.
Luiz Henrique Shigunov