February 8th, 2025

CuBit: A Gen­er­al-Pur­pose Oper­at­ing Sys­tem in SPARK/ Ada (2020)

CuBit is an early-stage general-purpose operating system developed in SPARK/Ada, focusing on formal verification, supporting 64-bit mode, multi-core processing, and preemptive multitasking while avoiding floating-point operations.

Read original articleLink Icon
CuBit: A Gen­er­al-Pur­pose Oper­at­ing Sys­tem in SPARK/ Ada (2020)

CuBit is an early-stage general-purpose operating system being developed using the SPARK/Ada programming languages, focusing on formal verification. The project aims to create a robust OS that abstracts hardware while managing applications efficiently. CuBit operates in 64-bit mode on x86-64 architecture, supporting multi-core processing and preemptive multitasking. Although it currently lacks complete filesystem drivers and virtual filesystem support, the development process has been educational for the creator, who has drawn inspiration from various operating systems, including embedded systems and Unix-like environments. The use of SPARK allows for compile-time error checking, enhancing reliability by suppressing runtime checks for certain operations. The project also emphasizes avoiding floating-point operations in the kernel to improve efficiency and prevent hardware exceptions. CuBit's kernel is structured as an ELF object file, with careful attention to linking and memory management. The creator is actively documenting the development process and encouraging contributions from others interested in the project.

- CuBit is a general-purpose OS developed in SPARK/Ada, focusing on formal verification.

- It currently supports 64-bit mode, multi-core processing, and preemptive multitasking.

- The project aims to avoid floating-point operations in the kernel for efficiency.

- CuBit's kernel is structured as an ELF object file, with specific attention to linking and memory management.

- The creator encourages community contributions and is documenting the development process.

Link Icon 2 comments
By @thisislife2 - about 2 months
I've always wondered why Ada, a commercially successful stable language, never got more popular? And instead people are re-inventing the wheel with something new like Rust ...