-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathREADME
More file actions
83 lines (60 loc) · 2.81 KB
/
Copy pathREADME
File metadata and controls
83 lines (60 loc) · 2.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
===================================================
OpenSaturn Kernel
===================================================
OpenSaturn é um kernel Unix-based, escrito inteiramente
em Zig, projetado com os princípios de simplicidade, modularidade
e personalização total.
É uma iniciativa pensada para desenvolvedores que desejam
compreender, estender e moldar cada camada do seu sistema
operacional, desde as syscalls até os drivers e o sistema
de arquivos.
No OpenSaturn tudo é composto por módulos, absolutamente tudo.
O kernel não depende de módulos para funcionar, ele pode ser executado
sem nenhum deles. Isso permite outra base inteira criando todos os módulos do zero.
---------------------------------------------------
Por que Zig?
---------------------------------------------------
O Zig foi escolhido como a linguagem principal do
OpenSaturn por vários motivos técnicos:
- O controle de baixo nível superou até mesmo o de C
(na minha opinião);
- O controle sobre o código assembly gerado é incrível.
Saber exatamente como o assembly do código vai sair
é uma das melhores vantagens de usar uma linguagem
como Zig;
- Totalmente compatível com C, ou seja, programadores
que quiserem contribuir com drivers não precisam
aprender Zig. No futuro, pretendo disponibilizar
headers para criação de módulos em C.
- Metaprogramação incrível
---------------------------------------------------
Filosofia do OpenSaturn (KISS)
---------------------------------------------------
OpenSaturn segue a filosofia KISS (Keep It Simple, Stupid):
- Código simples, direto e sem complexidade desnecessária;
- Fácil leitura, entendimento e modificação.
Em vez de tentar ser um kernel com milhões de recursos
embutidos, o OpenSaturn se concentra em fornecer uma base
sólida, segura e extensível — ideal para quem deseja
construir algo próprio em cima.
---------------------------------------------------
Criação de Recursos
---------------------------------------------------
OpenSaturn é especialmente projetado para facilitar a
criação e integração de:
- Drivers personalizados;
- Sistemas de arquivos;
- Syscalls customizadas.
Acredito que o programador deve se preocupar apenas com
a complexidade do seu próprio código, sem precisar lidar
com a complexidade de como integrá-lo ao kernel.
---------------------------------------------------
Objetivos do Projeto
---------------------------------------------------
- Ser uma base educacional para entusiastas de sistemas
operacionais;
- Permitir controle completo sobre todos os aspectos
do kernel;
- Facilitar a portabilidade do kernel para diferentes
tipos de dispositivos.
===================================================