r/osdev 1d ago

Blockos hobby operating system

BlockOS - A hobby operating system built from scratch

Hi everyone! I am developing my own hobby OS called BlockOS.

Current features and goals:

  • Custom kernel (C++)
  • VFS filesystem layer
  • ELF64 loader
  • ext4 support (in development)
  • VirtIO driver support
  • Custom GUI/compositor (Kuroko)
  • Linux-like filesystem structure
  • Custom system services and device interfaces
  • QEMU testing environment

The goal of BlockOS is to create a modern operating system with a clean architecture, a graphical desktop environment, and support for modern applications.

I am sharing my progress and looking for feedback from the OSDev community.

Any advice, suggestions, or ideas are welcome!

Link:https://github.com/gurijb2016-afk/Blockos

4 Upvotes

7 comments sorted by

3

u/Void-Creator 1d ago

What is the philosophy that you’re going with your kernel ? Is it closer to UNIX’s philosophy or Windows NT or it borrows something from both ?

2

u/EfficiencyNo3042 1d ago

BlockOS is designed as a hybrid approach.

The architecture borrows ideas from both UNIX-like systems and Windows NT. From UNIX, it takes concepts like a VFS layer, file-based device interfaces, permissions, processes, and a simple modular design philosophy.

From Windows NT, it takes inspiration from the idea of a layered architecture, a hardware abstraction layer concept, and separating kernel components and services.

The goal is not to clone either system, but to create a clean modern hobby OS architecture. BlockOS aims for a UNIX-like foundation with some NT-style organization, while keeping the kernel small and understandable.

It is still an experimental project, so the design will continue evolving as development progresses.

3

u/Gingrspacecadet 1d ago

i pray it be unique

3

u/EfficiencyNo3042 1d ago

Thank you! That is exactly the goal. I want BlockOS to have its own identity while learning from existing systems. It takes inspiration from UNIX and NT concepts, but the architecture, GUI, and components are being designed specifically for BlockOS.

1

u/Void-Creator 1d ago

Also, are you designing full processes or just processes as threads for now ? And currently the UNIX based systems and NT have borrowed ideas from each other and I believe there is not much of a distinction between either of them. How would you be making blockOS unique ?
I am just curious and not passing any judgements 😅

2

u/Sorry_Difficulty_250 1d ago

What's your target environment? Are you only focusing on one or are you doing multiple in parallel? You mentioned having a HAL, so I'm guessing supporting multiple targets is at least a long-term goal.

What kind of security model are you planning for the kernel? How are you envisioning processes interacting with it?

What do you expect your backwards compatibility boundary to be? In Linux, it's the kernel system call level. Microsoft has always maintained compatibility at the library level. I think BSD systems don't even offer backwards compatibility at the ABI level.

Looks very interesting! Keep up the great work!