DragonOS的功能

规范

  • 启动引导:Multiboot2

  • 接口:posix 2008

内核层

内存管理

  • 页分配器

  • slab分配器

  • VMA

  • MMIO地址空间自动分配

多核

  • 多核引导

  • ipi框架

进程管理

  • 进程创建

  • 进程回收

  • 内核线程

  • fork

  • exec

  • 进程睡眠(支持高精度睡眠)

  • kthread机制

同步原语

  • mutex互斥量

  • semaphore信号量

  • atomic原子变量

  • spinlock自旋锁

  • wait_queue等待队列

调度

  • CFS调度器

  • 单核调度

IPC

  • 匿名pipe管道

文件系统

  • VFS

  • fat32

  • devfs

  • rootfs

异常及中断处理

  • APIC

  • softirq 软中断

  • 内核栈traceback

内核数据结构

  • 普通二叉树

  • kfifo缓冲区

  • 循环链表

  • IDR

内核实用库

  • LZ4压缩库(1.9.3)

  • 字符串操作库

  • ELF可执行文件支持

  • printk

  • 基础数学库

  • 屏幕管理器

  • textui框架

  • CRC函数库

系统调用

  请见系统调用文档

测试框架

  • ktest

驱动程序

  • ACPI 高级电源配置模块

  • IDE硬盘

  • AHCI硬盘

  • PCI

  • XHCI(usb3.0)

  • ps/2 键盘

  • ps/2 鼠标

  • HPET高精度定时器

  • RTC时钟

  • local apic定时器

  • UART串口

  • VBE显示

用户层

LibC

  • 基础系统调用

  • 基础标准库函数

  • 部分数学函数

shell命令行程序

  • 基于字符串匹配的解析

  • 基本的几个命令

驱动程序

  • ps/2键盘用户态驱动