||19 hours ago|
|bin||2 months ago|
|build||1 week ago|
|kfs||1 month ago|
|programs||19 hours ago|
|src||19 hours ago|
|.clang_format||3 days ago|
|.gitignore||1 month ago|
|ChangeLog.1||19 hours ago|
|LICENSE||2 months ago|
|Makefile||19 hours ago|
|build.sh||6 days ago|
|compile_flags.txt||19 hours ago|
|readme.md||2 days ago|
Kinl is an operating system developed from scratch in C and Assembly. This is not a project that serious, it is not aimed to replace OSes like Linux, some of the BSD collection or any stuff like that, I just wanted to learn about Operating systems and... The only way to learn about something, is doing that thing.
The development started a little time ago (June 1st, 2021) so there are a lot of things left to do. In this document you will find more information about it.
- Other projects
- Contributing changes
- Contributing with donations
- KINL logo
- More comments?
- Start the other projects
- PS2 Keyboard driver
- Improve IDT design
- Elf loader
- You can also search for "// TODO:" through all the code to see some more specific TODOs.
- Network Stack
- Change the processes array for a linked list, so there can be infinite process (?)
- Multi-core processing
- Not use "task_current" when getting items from their stack, as in a future there will be several tasks running at a time.
Klang is a programming language based in Scheme, C and Assembly. I have planned to use it in a lot of stuff (as I have designed it, I could even rewrite Kinl in it).
Klibc is the standard C library that will be used on Kinl, as it is a complete OS, I want to make everything by myself and not use glibc or musl.
Kcc (Kinl Compiler Collection) is a collection of compilers. For now, I have only planned to write a compiler for Klang and C.
Kixer is a library and cli tool for string lexing.
A simple a lightweight system and services initialiser.
Knet is a freenet/i2p like project, peer-to-peer network that will be used by default on Kinl. This network will be completely free and all the content there I hope will also be.
I have a lot of plains for Knet, those won't fit a single text document, so I will write a paper later so all of you can understand what I want to do with it and, hopefully, contribute to it.
You can contribute through this repository by forking it, making changes and opening pull requests.
Contributing with donations
You can also contribute to the Kinl development through donations, you can use Liberapay (https://liberapay.com/zealovesc/donate) or cryptocurrencies: