1(_genreal_features)= 2 3# DragonOS的功能 4 5## 规范 6 7- [x] 启动引导:Multiboot2 8 9- [x] 接口:posix 2008 10 11## 内核层 12 13### 内存管理 14 15- [x] 页分配器 16- [x] slab分配器 17- [x] VMA 18- [x] MMIO地址空间自动分配 19 20### 多核 21 22- [x] 多核引导 23- [x] ipi框架 24 25### 进程管理 26 27- [x] 进程创建 28- [x] 进程回收 29- [x] 内核线程 30- [x] fork 31- [x] exec 32- [x] 进程睡眠(支持高精度睡眠) 33- [x] kthread机制 34 35#### 同步原语 36 37- [x] mutex互斥量 38- [x] semaphore信号量 39- [x] atomic原子变量 40- [x] spinlock自旋锁 41- [x] wait_queue等待队列 42 43### 调度 44 45- [x] CFS调度器 46- [x] 单核调度 47 48### IPC 49 50- [x] 匿名pipe管道 51- [x] signal信号 52 53### 文件系统 54 55- [x] VFS 56- [x] fat12/16/32 57- [x] Devfs 58- [x] RamFS 59- [x] procfs 60 61### 异常及中断处理 62 63- [x] APIC 64- [x] softirq 软中断 65- [x] 内核栈traceback 66 67### 内核数据结构 68 69- [x] 普通二叉树 70- [x] kfifo缓冲区 71- [x] 循环链表 72- [x] IDR 73 74### 内核实用库 75 76- [x] LZ4压缩库(1.9.3) 77- [x] 字符串操作库 78- [x] ELF可执行文件支持 79- [x] printk 80- [x] 基础数学库 81- [x] 屏幕管理器 82- [x] textui框架 83- [x] CRC函数库 84 85### 系统调用 86 87  [请见系统调用文档](https://docs.dragonos.org/zh_CN/latest/syscall_api/index.html) 88 89### 测试框架 90 91- [x] ktest 92 93### 驱动程序 94 95- [x] ACPI 高级电源配置模块 96- [x] IDE硬盘 97- [x] AHCI硬盘 98- [x] PCI 99- [x] XHCI(usb3.0) 100- [x] ps/2 键盘 101- [x] ps/2 鼠标 102- [x] HPET高精度定时器 103- [x] RTC时钟 104- [x] local apic定时器 105- [x] UART串口 106- [x] VBE显示 107- [x] VirtIO网卡 108- [x] x87FPU 109- [x] TTY终端 110 111## 用户层 112 113### LibC 114 115- [x] 基础系统调用 116- [x] 基础标准库函数 117- [x] 部分数学函数 118 119### shell命令行程序 120 121- [x] 基于字符串匹配的解析 122- [x] 基本的几个命令 123 124### 驱动程序 125 126- [x] ps/2键盘用户态驱动 127 128## 软件移植 129 130- [x] GCC 11.3.0 (暂时只支持了x86_64的Cross Compiler)[https://github.com/DragonOS-Community/gcc](https://github.com/DragonOS-Community/gcc) 131- [x] binutils 2.38(暂时只支持了x86_64的Cross Compiler)[https://github.com/DragonOS-Community/binutils](https://github.com/DragonOS-Community/binutils) 132- [x] gmp 6.2.1 [https://github.com/DragonOS-Community/gmp-6.2.1](https://github.com/DragonOS-Community/gmp-6.2.1) 133- [x] mpfr 4.1.1 [https://github.com/DragonOS-Community/mpfr](https://github.com/DragonOS-Community/mpfr) 134- [x] mpc 1.2.1 [https://github.com/DragonOS-Community/mpc](https://github.com/DragonOS-Community/mpc) 135