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