An operating system
written from scratch.

PollikOS is a custom operating system: from an assembly bootloader, through its own kernel and file system, all the way to a windowed desktop with a web browser. No Linux, no ready-made frameworks. Every pixel and every system call has its origin right here.

PollikOS is not currently available for download. This is a showcase page for the project.

0bit x86_64 kernel
0KiB: the whole kernel image fits under this
0px: tested screen width
0built-in apps

About the system

PollikOS was born out of curiosity: how does a computer really work from the moment power is switched on? It started as a two-stage bootloader querying the BIOS for a memory map and grew into a complete system with multitasking, ELF64 user processes, its own file system and a modern, animated graphical interface.

The project is developed methodically: every change is documented, and key features are verified with automated end-to-end tests in QEMU, with simulated mouse and keyboard input, screenshots and data persistence checks after a hard reboot.

Key features

Custom kernel

Physical memory manager (4 KiB frame bitmap), paging and virtual memory, E820 memory map, NX support and register protection.

Processes & SYSCALL

User programs as static ELF64 files, native SYSCALL instruction, custom ABI, scheduler, standard streams and per-process working directory.

PollikFS

A custom file system with VFS, launching programs by path, safe format migration and automatic backups.

Desktop & compositor

Windows with smooth, reversible animations, a Dock with app pinning, multi-icon dragging, context menus and a Trash.

Network & browser

RTL8139 driver, DHCP, IPv4, UDP, DNS and TCP. A browser with HTML parser, CSS cascade, JavaScript and HTTPS (BearSSL, TLS 1.2).

Themes

Light and dark themes with matching wallpapers, accent colors and instant switching without re-decoding images.

TinyCC & self-hosting

A port of the TinyCC compiler and the road to self-hosting: compiling programs directly inside PollikOS.

Multimedia

A Media SDK and MP4 (H.264) video playback right inside the system, without help from the host.

How it works: from power-on to desktop

  1. 01

    Bootloader

    Stage 1 and Stage 2 in assembly: BIOS E820 memory map, VBE graphics mode, CPU checks (Long Mode, NX, PAE, SYSCALL).

  2. 02

    64-bit kernel

    GDT/IDT/TSS, PMM and VMM, interrupts, timer, dedicated IST stacks for NMI and double fault.

  3. 03

    Drivers & file system

    Disk, PS/2, network card, framebuffer and PollikFS behind a VFS layer.

  4. 04

    User space

    ELF64 loader, processes, scheduler and a stable system call ABI.

  5. 05

    Graphical interface

    Window manager, surface compositor, Dock, top bar and applications.

Built-in apps

FilesFile manager, always in the Dock
TerminalTTY console
BrowserHTML, CSS, JS, HTTPS
NotesEdit and save files (Ctrl+S)
SettingsTheme, accent, animations
PollikMarkSoftware 3D benchmark
TrashDrag and drop

Why PollikOS

Fully understandable

A complete, small and documented stack, from the first boot instruction to pixels on screen. Every layer can be read, explained and changed.

Verified, not promised

Features are backed by automated QEMU tests and measurements with documented methodology, not marketing claims.

Built fast, built deep

From bootloader to HTTPS browser and a C compiler port in one coherent codebase, showing what a focused team can ship.

Roadmap

Done
  • 64-bit kernel, memory and processes
  • PollikFS and ELF64 user programs
  • Desktop, Dock, themes and apps
  • Networking and HTTPS browser
In progress
  • Self-hosting with TinyCC
  • C runtime and libc
  • Media SDK and video

Honest about limitations

PollikOS is a hobby and educational project. Graphics are rendered by the CPU (no GPU acceleration), the browser supports a practical subset of web standards, and the system is tested mainly in the QEMU emulator. Every performance result in the documentation comes with its measurement method, with no marketing promises.

Contact

Have questions about PollikOS, want to talk about the project or just share your feedback? Write to us!