Skip to content
Emil Momchev edited this page May 22, 2025 · 2 revisions

AnasOS Documentation

Welcome to the AnasOS documentation. This document will guide you through the various components of the AnasOS operating system, including the multiboot configuration, kernel, window manager, and applications.

Table of Contents

  1. Introduction
  2. File Structure
  3. Multiboot Configuration
  4. Bootloader
  5. Kernel
  6. Window Manager
  7. Applications
  8. Technologies Used
  9. CI with GitHub Actions
  10. Requirements

Introduction

AnasOS is a custom operating system designed for educational purposes as part of a 12th-grade thesis project. This documentation provides detailed information about the different parts of the OS and how they work together. AnasOS is built for the x86_64 architecture, chosen over ARM due to the availability of more and better resources on the topic.

Technologies Used

  • Rust: The core of the operating system is written in Rust for safety and performance.
  • NASM: The assembler used for writing assembly code for the bootloader.
  • Makefile: Used for managing build automation.
  • GRUB: The bootloader used for loading the kernel.
  • QEMU: The emulator used for testing the operating system.
  • GitHub Actions: Used for continuous integration and deployment.

File Structure

Below is the file structure for the AnasOS documentation:

/docs
    ├── README.md
    ├── applications
    │   ├── README.md
    │   ├── browser.md
    │   └── terminal.md
    ├── bootloader
    │   ├── README.md
    │   ├── header.md
    │   ├── boot.md
    │   └── boot-64.md
    ├── ci-github-actions
    │   ├── README.md
    │   ├── header.md
    │   ├── boot.md
    │   └── boot-64.md
    ├── kernel
    │   ├── README.md
    │   └── kernel.md
    ├── multiboot
    │   ├── README.md
    │   └── multiboot.md
    └── window-manager
        ├── README.md
        └── window_manager.md

Multiboot Configuration

The multiboot configuration is responsible for initializing the hardware and loading the kernel into memory. Detailed documentation about the multiboot configuration can be found here.

Bootloader

The bootloader is a critical component that initializes the system and loads the kernel into memory. It is responsible for setting up the environment so that the kernel can execute properly. Detailed documentation about the bootloader can be found here.

Kernel

The kernel is the core component of AnasOS, managing system resources and providing essential services. Detailed documentation about the kernel can be found here.

Window Manager

The window manager WILL handle the graphical user interface and window management. Detailed documentation about the window manager will be available here.

Applications

AnasOS WILL include two main applications: a browser and a terminal. Detailed documentation about these applications will be available here.

CI with GitHub Actions

GitHub Actions is used for continuous integration (CI) to automate the build, testing, and release processes of AnasOS. This ensures that every change is verified, the system remains stable, and new versions are released efficiently. The workflows are defined in the .github/workflows directory, with detailed documentation available in the here.

Requirements

Before fully testing the OS, ensure you have the following requirements installed:

  • Rust: Install Rust from rust-lang.org.
  • NASM: Install NASM from nasm.us.
  • GRUB: Install GRUB using your package manager.
  • QEMU: Install QEMU from qemu.org.
  • Make: Ensure Make is installed on your system.

You can install the required packages on Debian-based Linux distributions using apt with the example from the main Readme file

Clone this wiki locally