Skip to content

Alessandro-Salerno/SalernOS-Kernel

Repository files navigation

SalernOS Kernel

Tiny x86-64 Unix-like Kernel

Contributors Forks Stargazers Issues MIT License

What is a Kernel?

The Kernel is the "core" of the Operating System, it manaages resources and provides a Hardware Abstraction Layer and APIs to user applications. The SalernOS Kernel is one such program developed for educational purposes for the x86-64 architecture following the core principles of Unix.

Goals

The SalernOS Kernel is part of the SalernOS Project. The goal of the project is to "learn by doing", i.e. building an OS because it's fun and educational. In practical terms, this means that the ultimate goal of this Kernel is to be able to run all necessary programs and do so while following POSIX as much as possible to allow programs from other systems (e.g., Linux) to run.

History

Development on this Kernel started on December 12th, 2021. Since then, the source code has gone through many rewrites and has experienced long periods of stagnation. Development resumed in late 2024 after almost two years of inactivity.

This is a personal project (hence the name) and holds a special place in my heart as it played a relatively significant role in my life for several months.

License

The SalernOS Kernel is distributed under the GNU General Public License (GPL) v3.0. More details in the LICENSE file.

However, some external componets are included in this repository. Licenses for these components can be found in the licenses directory and can often be found at the top of related source files.

Insipration and acknowledgements

  • The initial learning material (used in 2021 for versions 0.0.1 - 0.0.3) came from CodePulses'es YouTube videos
  • The original architecture and structure for many componets written in 2022 (versions 0.0.4 - 0.0.6) came from AbsurdPoncho's YouTube videos. These videos have since been removed, but the original source code can still be found here
  • Changes made in 2023 (version 0.1.0) were inspired by the Lyre and qword operating systems
  • The current architecture makes use of Limine and flanterm by mintsuki and contributors
  • The current rewrite of the Kernel is partly inspired by the Astral Operating System by Mathewnd