Settings

Theme

Show HN: Nos – a hobby x86-64 C++ OS kernel running on real KVM clouds

github.com

3 points by irqlevel a month ago · 0 comments · 1 min read

Reader

Hi HN,

I want to share nos, a hobby x86-64 OS kernel I’ve been working on.

I started this mainly because I wanted to learn kernel development properly, and studying the Linux kernel feels pretty overwhelming these days. It’s huge, highly optimized, and hard to follow end-to-end. So I decided to build something smaller but still realistic.

nos is written in C++20 + NASM and currently has:

SMP + preemptive scheduler for kernel tasks (no user-mode yet)

virtual memory (4-level paging, high-half kernel)

interrupts + basic ACPI

PCI scan/probing + virtio drivers (blk + scsi + net + rng)

IPv4/TCP, DHCP, DNS, UDP, ARP, ICMP, simple HTTP client

small filesystem + shell (including remote)

timekeeping (pit, tsc, kvm clock, rtc)

It runs in QEMU/KVM — and also boots on real cloud VMs (I’ve tested it on Google Cloud using KVM-based instances e2-medium).

This is mostly a learning project, but I tried to keep the design clean and readable while still being close to how real systems work. I’d really appreciate any feedback, especially on scheduler design, memory management, or networking.

Repo: https://github.com/irqlevel/nos

Thanks for reading.

No comments yet.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection