awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
yourtion avatar

yourtion/30dayMakeOS

0
View on GitHub↗
6,412 stars·1,463 forks·C·29 viewsgithub.com/yourtion/YOS↗

30dayMakeOS

30dayMakeOS is an educational hobby operating system project designed for the x86 architecture. It implements a monolithic kernel and a custom bootloader that transitions the CPU from real mode to 32-bit protected mode to enable flat memory addressing.

The project focuses on low-level system development, featuring a custom graphics driver for direct pixel-buffer rendering and window management without an existing operating system. It includes an x86 bootloader that loads the kernel from disk into memory.

The system covers core kernel capabilities including round-robin task scheduling for process multitasking, page-table memory isolation, and bitmap-based memory allocation. It also implements hardware interrupt handling via an interrupt descriptor table, a file system for disk storage, and a command-line interface for user interaction.

Features

  • OS Internals Education - Provides a step-by-step implementation of an operating system for educational purposes, focusing on kernel internals.
  • Kernel Development - Provides a full implementation of a monolithic kernel from scratch, including scheduling, memory, and interrupts.
  • CPU Task Scheduling and Preemption - Implements a round-robin task scheduler to ensure fair CPU distribution across active processes.
  • Round-Robin Schedulers - A scheduler that ensures fair CPU distribution by assigning fixed time slices to processes in a circular order.
  • Monolithic Kernels - Implements a monolithic kernel architecture where all core services operate in kernel space.
  • Graphics Rendering Engines - Implements a low-level rendering engine to display pixels, text, and windows directly to the screen.
  • Boot Sector Loaders - Includes a custom bootloader that reads the first 512 bytes from disk into memory to start the OS.
  • CPU Schedulers - Implements a kernel-level CPU scheduler to enable concurrent execution of multiple processes.
  • Graphics Drivers - Implements a kernel-level graphics driver for direct pixel manipulation and window rendering.
  • Input Interrupt Handling - Configures interrupt descriptor tables and buffers to process keyboard and mouse signals.
  • Disk Image Bootloaders - Implements a custom bootloader to load the kernel from disk into memory.
  • x86 Bootloaders - Includes a custom x86 bootloader that loads the kernel and transitions the CPU from real mode to 32-bit protected mode.
  • Input Device Drivers - Provides a driver layer that processes electrical signals from keyboards and mice to enable interaction.
  • Interrupt Handling - Implements a system that responds to external hardware signals by executing corresponding service routines.
  • Low-Level System Operations - Implements low-level memory management through page tables and bitmap allocators.
  • System Call Interfaces - Implements a software interrupt mechanism allowing user applications to request kernel services for file I/O and window management.
  • Interrupt Vector Handlers - Configures an interrupt descriptor table to map hardware signals to specific handler functions for input events.
  • Hardware-Based Memory Protection - Uses hardware-level privilege and memory boundaries to restrict application access to critical system memory.
  • Paged Memory Management - Implements page-table based memory paging to ensure strict isolation between concurrent processes.
  • Page Table Translators - Provides mechanisms for converting logical addresses to physical addresses using page tables to ensure process isolation.
  • Processor Mode Transitions - Transitions the CPU from 16-bit real mode to 32-bit protected mode to enable flat memory addressing.
  • x86 Kernel Implementations - Provides a complete low-level kernel implementation specifically targeting the x86 architecture.
  • Operational Mode Switching - Performs the assembly-level transition from real mode to protected mode during system initialization.
  • Command Line Interfaces - Implements a terminal-based command-line interface for executing built-in system utilities.
  • System Command Interfaces - Provides a system interface for launching applications and interacting with the kernel via a command line.
  • Bare-Metal Graphics - Writes low-level C routines to render pixels and windows directly to the screen.
  • Disk Image File System Management - Implements a file system for performing core storage operations and organizing directories on a physical disk.
  • Executable Program Loading - Provides mechanisms for parsing and loading executable user-space programs into memory.
  • Bitmap Allocators - Uses a bitmap-based approach to track and manage physical memory blocks for dynamic allocation.
  • System Memory Allocation - Provides a system-level memory allocation layer to organize resources for process execution.
  • Bitmap Allocators - Implements a bitmap-based memory allocator to track available and used physical memory blocks.
  • Pixel Buffer Rendering - Renders graphical interfaces by directly manipulating low-level memory pixel buffers.

Star history

Star history chart for yourtion/30daymakeosStar history chart for yourtion/30daymakeos

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with 30dayMakeOS

These projects share indexed features with 30dayMakeOS. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • mit-pdos/xv6-publicmit-pdos avatar

    mit-pdos/xv6-public

    9,466View on GitHub↗

    xv6 is a Unix-like educational operating system designed for teaching kernel concepts. It is implemented as an instructional kernel for x86 and RISC-V architectures, featuring a virtual memory manager and support for symmetric multiprocessing. The system is designed to demonstrate core OS principles through a simplified re-implementation of Unix Version 6. It provides a controlled environment for studying system calls, trap handling, and process lifecycles. Its capability surface covers process management, including scheduling and context switching, and memory management via page tables for

    C
    View on GitHub↗9,466
  • s-matyukevich/raspberry-pi-oss-matyukevich avatar

    s-matyukevich/raspberry-pi-os

    13,854View on GitHub↗

    This project is a bare-metal operating system developed for ARM64 architecture. It serves as a low-level implementation of kernel engineering, focusing on the fundamental construction of an OS from the hardware level up. The system is distinguished by its comprehensive approach to ARM64 processor control, featuring a red-black tree task scheduler and a hierarchical page table system for virtual memory management. It implements a sophisticated privilege model that handles transitions between kernel and user modes, ensuring process isolation through address space splitting and exception level m

    Carmarmv8assembler
    View on GitHub↗13,854
  • cirosantilli/x86-bare-metal-examplescirosantilli avatar

    cirosantilli/x86-bare-metal-examples

    5,306View on GitHub↗

    This project is a collection of minimal operating systems, bootloaders, and hardware drivers used to demonstrate low-level x86 system programming and hardware interfacing. It serves as a kernel development toolkit and a system programming lab designed for testing architecture concepts and hardware behavior within a system emulator. The repository provides reference implementations for creating bootable disk images and loading kernel stages. It includes guides for implementing protected mode transitions, memory paging, interrupt descriptor tables, and symmetric multiprocessing on x86 hardware.

    Assemblyassemblybare-metalbaremetal
    View on GitHub↗5,306
  • phil-opp/blog_osphil-opp avatar

    phil-opp/blog_os

    17,518View on GitHub↗

    This project is a freestanding kernel written in Rust that boots on x86 hardware without a standard library. It serves as a low-level system implementation focusing on the creation of a bare metal operating system. The system implements a bootable disk image toolchain that transforms source code into binaries compatible with a bootloader. It features a custom memory allocator for dynamic memory management and an x86 kernel implementation that includes paging, interrupt handling, and VGA text mode. The project covers several core capability areas, including low-level memory management through

    HTMLkerneloperating-systemrust
    View on GitHub↗17,518
Compare all 30 related projects→

Frequently asked questions

What does yourtion/30daymakeos do?

30dayMakeOS is an educational hobby operating system project designed for the x86 architecture. It implements a monolithic kernel and a custom bootloader that transitions the CPU from real mode to 32-bit protected mode to enable flat memory addressing.

What are the main features of yourtion/30daymakeos?

The main features of yourtion/30daymakeos are: OS Internals Education, Kernel Development, CPU Task Scheduling and Preemption, Round-Robin Schedulers, Monolithic Kernels, Graphics Rendering Engines, Boot Sector Loaders, CPU Schedulers.

Which projects share features with yourtion/30daymakeos?

Projects with overlapping indexed features include: mit-pdos/xv6-public — xv6 is a Unix-like educational operating system designed for teaching kernel concepts. It is implemented as an… s-matyukevich/raspberry-pi-os — This project is a bare-metal operating system developed for ARM64 architecture. It serves as a low-level… cirosantilli/x86-bare-metal-examples — This project is a collection of minimal operating systems, bootloaders, and hardware drivers used to demonstrate… phil-opp/blog_os — This project is a freestanding kernel written in Rust that boots on x86 hardware without a standard library. It serves… nuta/operating-system-in-1000-lines — This project is an educational operating system kernel designed to demonstrate the fundamental architectural… 0xax/linux-insides — This project is a technical reference and educational guide focused on the internal architecture of the Linux kernel.…