xref: /DragonOS/docs/introduction/features.md (revision aa0367d69e15989684109c5b454e85da9ecb1975)
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