💾 Archived View for vierkantor.com › xukut › manual.gmi captured on 2024-07-08 at 23:31:44. Gemini links have been rewritten to link to archived content

View Raw

More Information

⬅️ Previous capture (2024-05-10)

-=-=-=-=-=-=-

XukutOS manual

Table of contents

XukutOS is an operating system aiming to provide the user with a high degree of customizability. A few implications of this goal:

- for easier understandability, it should be written in a high-level language

- the design should be modular, so components can be swapped out with custom parts

- decisions should not need to be made centrally, otherwise there is the risk of incompatible decisions

What XukutOS is not:

Let me temper your expectations before we go on too far.

Ultimately, XukutOS is my own personal project and my criteria for working on XukutOS are going to be whether I personally enjoy it. You are very welcome in the project (I enjoy welcoming people to the project!) but if it becomes no fun for me, I will refuse. In exchange, you are very welcome to fork off a community project.

There's a whole bunch of ARMv8 assembly code, all device drivers are designed for the Raspberry Pi and I test new functionality by emulating a Raspberry Pi 3B in QEMU.

Development of XukutOS is working towards the ability to self-host: I would like to use XukutOS to build a new version of itself. This is still a work in progress. Even when that finishes, other functionality is probably missing. You are free to propose changes that are not needed for self-hosting, but I will not prioritize them.

**XukutOS is not secure**.

If you have anything important that depends on XukutOS's ability to stop your computer from doing any specific thing, you are screwed already, and there's no way I can help you.

Using XukutOS

There's not much yet that you can do with XukutOS: you can write a program for it and set it up to be executed after the kernel has initialised, that's basically it.

See the Swail manual pages for more info about Swail, the programming language that is used throughout the implementation.

Inter-process communication works via message-passing. Here's how to do so and the kinds of messages that exists.

Working on XukutOS

Some low-level design documents, useful if you want to work on XukutOS:

How XukutOS handles processor exceptions

Memory management, including garbage collection

Processes in XukutOS, especially the low-level details

Tricky design to keep in mind while developing

Any questions? Contact me:

By email at vierkantor@vierkantor.com

Through mastodon @vierkantor@mastodon.vierkantor.com

XukutOS main page