Xyris - hobbyist kernel focused on usability and security


Xyris is a small, hobbyist kernel started by Keeton Feavel and further developed with the help of Micah Switzer. Having now undergone three rewrites from the ground up, Xyris has come a long way since its first start in 2018. The primary goal of Xyris is to become a microkernel focused on usability, security, and readability.

Design Philosophy

Xyris is designed to be readable first and foremost. Having been developed at Cedarville University, the primary goal of Xyris is to provide an opportunity for students (and anyone else interested) to learn the intricacies of kernel development. Function names are descriptive and structs are used when possible in order to help increase the legibility of code and provide an “easy-in” for kernel development.


Xyris is the subject of an independent study and the associated final report published by Keeton Feavel at Cedarville and used by Patrick Dudenhofer to help instruct students of CS-3320 (Operating Systems). The cedarville branch is an older, modified version of the Xyris kernel used as a template for assignments designed to help introduce concepts such as CPU ports and hardware communication. Eventually, once paging is fully implemented, another assignment will be developed to help explain paging and memory management.

How to Help

We are constantly looking for people to help contribute to Xyris. If you would like to contribute driver code or a new feature, feel free to fork the repository and submit a pull request. If you are a student who would like to get involved, feel free to contact any of the project contributors.