This is the repository for my OS design senior research project, which explores the effects of kernel-level security and protection on the experience of personal computing as well as the process of operating system design as a whole. Its name stands for Capstone OS, which is in my opinion a brilliantly intuitive and clever name, indicative of great naming sense.
The operating system is targeted towards the 32-bit Intel i386 architecture in order to take advantage of its more-simple design and the vast wealth of resources pertaining to its implementation.
The most basic concept behind capos is eliminating the delineation between kernel space and user space, removing security and protection in order to allow a user to have more complete access to the computer. This is not to say that security is an unimportant aspect of operating system design, but rather to highlight its restriction on personal computing. In addition, capos should be as modular as possible with its procedures so as to allow for effective comparison and testing of different implementations for resource allocation, scheduling, and all that other fun OS stuff.
As of now, capos employs a monolithic kernel design, with all procedures being compiled directly into the kernel before runtime and those procedures meant to be accessible to a user added to a universal function key.
This project is a work in progress, and anything stands to change at the drop of a hat. The scope and implementation of the project will remain limited throughout the duration of the Capstone senior research project in order to allow for more focused research.
If, for some ungodly reason, you would like to run the latest release of the
Capstone OS, you may do so by either building / packaging it yourself (the
latest kernel .elf is supplied with each release), or by emailing me at
jaason@protonmail.ch. Please feel free to message
me with any questions, and let me know if you do something cool with the source
code. Reference the Makefile
for information on build dependencies.
A big thank you to the people over at the OSdev wiki for getting me started with the information for OS design / programming, and to Kustaa Nyholm for his tiny printf implementation, which has been incredibly useful for debugging.
The source code of the project is licensed under the GNU General Public License Version 3. The arrangement of Megalovania by Toby Fox for the PC motherboard speaker is licensed under CC BY-NC-SA 3.0.