Este é o repositório oficial do Kernel Libertyos. Libertyos é um sistema operacional, construído com ferrugem, que é de código aberto, gratuito para uso e aberto a novos colaboradores. Tudo em Los é, ou será, construído do zero. Atualmente, o LOS suporta sistemas x86_64 e pode ser inicializado em hardware real, usando um carregador de inicialização simples. Esse sistema operacional está sendo trabalhado continuamente e todas as alterações são registradas no arquivo VersionHistory.md (no diretório raiz deste repositório). Se você deseja ver uma explicação mais detalhada das mudanças entre as versões, pode ler as confirmações no repositório do GitHub.
Como contribuir
Você gostaria de ajudar a tornar esse núcleo ainda melhor? Temos muitas coisas que precisam ser feitas, e sempre podemos usar a ajuda para fazê -las! Há uma pasta neste repositório (chamado "idéias") que contém arquivos diferentes que explicam uma idéia para o kernel. Se você tiver uma nova ideia, basta criar um novo arquivo na pasta Ideas, enviar uma solicitação de tração e um de nós mesclará sua ideia na filial principal. No momento, existem muitos recursos excelentes, e poderíamos usar o maior número possível de desenvolvedores talentosos!
Blog
Em 22 de agosto de 2022, há um arquivo de blog (blog.md). Isso explicará algumas das decisões de design tomadas, algumas das questões de desenvolvimento e o que esperar em um futuro próximo. Libertyos não está morto. Há um futuro brilhante pela frente para este projeto.
Construindo/executando Libertyos
- Clone este repositório.
- Navegue até o local para o qual você clonou este repositório.
- Certifique -se de instalar o seguinte:
- Execute o script de bootstrap (./bootstrap.sh)
- Compile o kernel com "Cargo Build -Relazer" ou execute o kernel em Qemu, usando "Cargo Run -Relazer".
Recursos atualmente implementados
- Suporte para a arquitetura x86-64
- Apoio ao núcleo e aloces de Rust
- Alocação de memória, usando listas ligadas, amizade e alocação de bump
- Manualização básica de erros
- Suporte interno para a corrida de LOS com Qemu
- Suporte para vários layouts de teclado
- Suporte básico para funções assíncronas, incluindo um executor básico de tarefas
- Suporte para leitura/escrita nos sistemas de arquivos (o suporte para sistemas de arquivos específicos ainda não foi implementado, mas as fundações já foram implementadas)
- Usa uma biblioteca principal, construída para Libertyos (Libcore)
- Suporta cálculos matemáticos, incluindo álgebra básica, geometria, etc.
- Suporte para os tipos C.
- Suporte básico para a análise de fontes
- Manutenção do tempo
- System-Calls
- Gerenciamento básico do processo
- Suporte para stdin, stdout e stderr
- Suporte básico para processos de execução no espaço de usuários
WIP Recursos
- Um sistema de arquivos básico, construído para Libertyos
- Documentação completa para todo o kernel
- Suporte total para leitura/escrita para sistemas de arquivos FAT
- Recursos de rede básicos
- Suporte para ratos de computador
- Uma concha básica
Recursos planejados
- Suporte para alvos baseados em ARM
- Apoio ao Glibc/Musl (ou, talvez, reescrever certas partes deles)
- Suporte para FAT, FAT32, EXFAT FileSystems
- Suporte aos sistemas de arquivos ext2, ext3, ext4
- Suporte ao sistema de arquivos NTFS
- Nomes de host
- Capacidade de atualizar o kernel de dentro do sistema operacional
- Suporte para personagens não ingleses
- Suporte total para Unicode
- Personalização básica
Comportamento atualmente esperado
- O kernel inicializa as partes críticas de Libertyos
- O kernel exibe uma mensagem sobre o processo de configuração
- O kernel encontra uma página de página. :(