TAIOS Project

"From scratch" ARM64 kernel implementation for educational purposes.

AArch64
Mimari
EL1
Kernel Mode
4KB
Page Size
GICv2
Interrupts
GitHub Repo Yol Haritası (Roadmap) Faz 1 Paneli

KERNEL_MODULES

Boot & Core

Assembly bootloader (start.S), Exception Levels (EL2 -> EL1) geçişleri ve vector tabloları.

Memory Man.

Fiziksel bellek yöneticisi (PMM), Sanal bellek (VMM) ve 4-level page table yapısı.

Scheduler

Process Control Block (PCB), Round-robin planlayıcı ve Context Switching mekanizması.

File System

Sanal Dosya Sistemi (VFS) katmanı ve başlangıç için basit bir RAMFS implementasyonu.

Shell (K-Shell)

Kernel modunda çalışan, sistem çağrılarını test etmek için komut satırı arabirimi.

Drivers

PL011 UART (Seri Konsol), System Timer ve temel aygıt sürücüleri.

~/ PROJE YAPISI

tree -L 2
taios/
├─ boot/ // Start.S & Linker
├─ kernel/
├─ mm/ // Memory Man.
├─ proc/ // Scheduler
└─ fs/ // Filesystem
├─ drivers/ // UART, GIC
├─ lib/ // String, Printf
└─ Makefile

>> GELİŞTİRME DURUMU

Faz 1: Çekirdek & Bellek TAMAMLANDI
Faz 2: Process & Threads %80
Dokümantasyon Hazırlanıyor...
Faz 3: User Mode & Syscalls %20
[OK] UART Output & Printf
[OK] EL1 Exception Handling
[IP] Cooperative Scheduling
[--] ELF Loader

# Quick Start (QEMU)

bash
# 1. Cross-Compiler ve QEMU Kurulumu
$ brew install aarch64-elf-gcc qemu
# 2. Projeyi Klonla
$ git clone https://github.com/toprakdeviren/TAIOS.git
# 3. Derle ve Çalıştır
$ make run
=> Building kernel.img... OK
=> Starting QEMU aarch64...

TAIOS> Kernel initialized successfully.
TAIOS> Memory: 128MB mapped.
TAIOS> Shell ready.
_