features.md 3.5 KB

:::{note} AI Translation Notice

This document was automatically translated by Qwen/Qwen3-8B model, for reference only.

  • Source document: introduction/features.md

  • Translation time: 2025-05-19 01:42:30

  • Translation model: Qwen/Qwen3-8B

Please report issues via Community Channel

:::

(_translated_label___genreal_features_en)=

Features of DragonOS

Specifications

  • [x] Bootloader: Multiboot2

  • [x] Interface: POSIX 2008

Kernel Layer

Memory Management

  • Page Frame Allocator
  • Small Object Allocator
  • VMA (Virtual Memory Area)
  • Automatic MMIO Address Space Allocation
  • Page Mapper
  • Hardware Abstraction Layer
  • Independent User Address Space Management Mechanism
  • C Interface Compatibility Layer

Multicore

  • Multicore Boot
  • IPI (Inter-Processor Interrupt) Framework

Process Management

  • Process Creation
  • Process Reclamation
  • Kernel Threads
  • Fork
  • Exec
  • Process Sleep (Supports High-Precision Sleep)
  • Kthread Mechanism
  • Extensible Binary Loader

Synchronization Primitives

  • Mutex
  • Semaphore
  • Atomic Variables
  • Spinlock
  • Wait Queue

Scheduling

  • CFS Scheduler
  • Real-Time Scheduler (FIFO, RR)
  • Single-Core Scheduling
  • Multi-Core Scheduling
  • Load Balancing

IPC (Inter-Process Communication)

  • Anonymous Pipe
  • Signal

File System

  • VFS (Virtual File System)
  • FAT12/16/32
  • Devfs
  • RamFS
  • Procfs
  • Sysfs

Exception and Interrupt Handling

  • APIC
  • Softirq (Soft Interrupt)
  • Kernel Stack Traceback

Kernel Utility Library

  • String Operation Library
  • ELF Executable Support
  • printk
  • Basic Math Library
  • Screen Manager
  • TextUI Framework
  • CRC Function Library
  • Notification Chain

System Calls

  See System Call Documentation

Test Framework

  • ktest

Drivers

  • ACPI (Advanced Configuration and Power Interface) Module
  • IDE Hard Disk
  • AHCI Hard Disk
  • PCI, PCIe Bus
  • XHCI (USB 3.0)
  • PS/2 Keyboard
  • PS/2 Mouse
  • HPET (High Precision Event Timer)
  • RTC (Real-Time Clock)
  • Local APIC Timer
  • UART Serial Port
  • VBE (Video BIOS Extension) Display
  • VirtIO Network Card
  • x87 FPU
  • TTY Terminal
  • Floating Point Processor

User Layer

LibC

  • Basic System Calls
  • Basic Standard Library Functions
  • Partial Mathematical Functions

Shell Command Line Programs

  • Parsing Based on String Matching
  • Basic Commands

Http Server

  • A simple Http Server written in C, capable of running static websites.

Software Portability