The Monolithium Operating System (mirror)

coderain 6556847b55 Initial commit. 7 years ago
kernel 6556847b55 Initial commit. 7 years ago
library 6556847b55 Initial commit. 7 years ago
.gitignore 6556847b55 Initial commit. 7 years ago
COPYING 6556847b55 Initial commit. 7 years ago
Makefile 6556847b55 Initial commit. 7 years ago
README 6556847b55 Initial commit. 7 years ago
grub.cfg 6556847b55 Initial commit. 7 years ago

README

********************************************************************************
__ ___ ___ __ __ _
/ |/ /___ ____ ____ / (_) /_/ /_ (_)_ ______ ___
/ /|_/ / __ \/ __ \/ __ \/ / / __/ __ \/ / / / / __ `__ \
/ / / / /_/ / / / / /_/ / / / /_/ / / / / /_/ / / / / / /
/_/ /_/\____/_/ /_/\____/_/_/\__/_/ /_/_/\__,_/_/ /_/ /_/

********************************************************************************

Monolithium is a 32-bit operating system for x86 PCs. It is not a Unix-like
system, and shares almost nothing with the Unix architecture. Written
completely from scratch, it is completely incompatible with other operating
systems. Currently, only the Monolithium kernel is implemented. The other major
components, the "system library" and "system manager", are still missing.

Monolithium wasn't implemented according to any existing design, it was more or
less designed as it was implemented, so the current interface may not be
consistent. During this phase of its development, its kernel module interface
and application programming interface are not stable and subject to major
changes.

FREQUENTLY ASKED QUESTIONS

1) Why write another OS from scratch?

Most software development today is focused on assembling software from existing
"building blocks", using libraries and high-level programming languages, which
are designed to be complex and generic because they need to cover a lot of use
cases. Simplicity is a very useful trait that is often overlooked. Monolithium
is one of the few operating system projects with simplicity as its primary goal.

2) Why is there no development history?

I started this project in 2011, before I understood how VCS systems work and why
they're important. I made backups at regular intervals, but since I didn't use
git, there are no commits before the first release.

3) Will the interface ever become stable?

Having a stable interface, which will not change to the extent that later
versions break software running in userspace, is one of the end goals of
the project.