FKernel com C++ e Rust: Explorando o Futuro dos Sistemas Operacionais

Table of Contents

Introdução

Hoje, vamos explorar o FKernel, mais um dos projetos ambiciosos no mundo dos sistemas operacionais, comparável ao lendário Microsoft Xenix. Se você está interessado na evolução dos sistemas operacionais, confira este post.

Neste post, discutiremos a escolha das linguagens de programação para o FKernel, baseada em insights de um vídeo recente.

Muitos acreditam que o Rust pode substituir outras linguagens, mas, na prática, ele as complementa e não as substitui. Vamos ver como essa combinação pode beneficiar o projeto FKernel.

Alterações na Concepções do FKernel

  1. Adotar a base *BSD: O FKernel seguirá a estrutura de um projeto BSD, utilizando a licença BSD.
  2. Integração de linguagens: Embora substituiremos C por Rust, continuaremos a usar C++ e NASM.

Pode parecer contraditório, mas há razões convincentes para essa escolha.

Por Que substituir C por Rust?

O Rust foi criado para superar as limitações do C, oferecendo maior segurança, desempenho e simultaneidade no desenvolvimento de software. O compilador Rust proporciona proteção robusta contra falhas de memória, uma área onde o C++ ainda enfrenta desafios.

Embora o C++ utilize Smart Pointers para melhorar a segurança de memória, a integração do Rust traz uma camada adicional de proteção e controle.

O Abismo das linguagens seguras

Várias linguagens são consideradas seguras para a memória, incluindo:

Essas linguagens são projetadas para proteger contra erros de memória, como estouros de buffer e ponteiros pendentes. Em contraste, C e C++ permitem aritmética de ponteiros sem verificação de limites, tornando-os potencialmente inseguros.

No entanto, o C++ avançou com os Smart Pointers, semelhantes ao recurso de ARC, o que pode justificar seu uso no FKernel junto com o Rust.

O uso de Smart Pointers no FKernel

Utilizando Smart Pointers, como demonstrado no SerenityOS, podemos garantir a segurança da memória e otimizar o desenvolvimento. A abordagem de Andreas Kling mostra como os Smart Pointers podem ser adaptados para criar soluções personalizadas e eficientes no kernel.

Conclusão

O FKernel continua a seguir a ideia de um kernel híbrido, inspirando-se no XNU para combinar elementos do BSD/Unix com OpenMach, visando um sistema mais seguro e rico em funcionalidades.

Este post serve para compartilhar minhas ideias e razões sobre o projeto. Espero que tenha sido útil para você, assim como foi para mim.

comments powered by Disqus
Tags:
Sistemas Operacionais Desenvolvimento Rust C++ NASM Segurança De Memória Desenvolvimento De Software Code Quality Programação