BOMBOCLAAT-OS

Overview

BOMBOCLAAT-OS is a simple x86_64 Unix-like operating system written in C. It uses Limine as the bootloader and own kernel (BOMBOCLAAT Kernel). Both OS and the kernel are developed as one project, like many BSD-family systems.

It all started in February 2026 as a simple 32-bit real mode CLI which could only boot on BIOS, but since then almost everything has changed. Now it's a fully working OS with separate user and kernel space which's able to manage tasks, hardware and memory.

Version 2.0 is still in beta, which means that some things may not work properly or at all, but once I fix every of these bugs and errors, BOMBOCLAAT-OS v2.0 will be officially released.

Features

* - works partially or doesnt't work yet

Syscalls

All of BOMBOCLAAT Kernel's syscalls work through int 0x80, but I'm working on implementing syscall instruction, which is faster and used by most of modern kernels. They use SYSTEM V ABI argumens sequence: RDI, RSI, RDX, RCX, R8, R9.

Syscall number Syscall name Description Arguments
1 SYS_KPRINTF * Prints a string using kprintf() RDI
2 SYS_NEWPROC Creates a new process for an ELF file RDI, RSI, RDX
3 SYS_ENDPROC Ends currently running process none
4 SYS_KBDINPUT * Gets a string from keyboard (ends on ENTER) RDI
5 SYS_SCRCLS Clears the whole screen and sets cursor on 0, 0 none
6 SYS_FBFINFO * Gets screen informations from Limine framebuffer RDI
7 SYS_UNAME Sends kernel informations like release or name RDI, RSI
8 SYS_POWER Reboots or shuts down RDI
9 SYS_MALLOC Allocates given number of bytes RDI
10 SYS_FOPEN Assigns a number to a file in proc->fd and returns it RDI, RSI
11 SYS_FREAD Reads file content RDI, RSI, RDX
12 SYS_FWRITE Writes to file from given buffer RDI, RSI, RDX
13 SYS_FCLOSE Closes a file by removing it from proc->fd RDI

* - to be removed or reimplemented