DragonOS/docs/introduction/features.md
LoGin c3dc6f2ff9
删除一些过时的C代码 (#565)
* 删除C版本的crc库

* 删除lockref

* 删除过时的libc文档以及wait.c

* 删除过时的C版本kfifo代码及文档

* 移除未用到的lz4库

* 删除内核的stdlib.c

* 删除fabs.c

* fmt

* 使得put_string系统调用能够通过tty输出颜色
暂且这样改,这一部分应该是用户层面提供的功能,后续删除

---------

Co-authored-by: GnoCiYeH <heyicong@dragonos.org>
2024-03-08 23:22:48 +08:00

142 lines
2.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

(_genreal_features)=
# DragonOS的功能
## 规范
- [x] 启动引导Multiboot2
- [x] 接口posix 2008
## 内核层
### 内存管理
- [x] 页帧分配器
- [x] 小对象分配器
- [x] VMA
- [x] MMIO地址空间自动分配
- [x] 页面映射器
- [x] 硬件抽象层
- [x] 独立的用户地址空间管理机制
- [x] C接口兼容层
### 多核
- [x] 多核引导
- [x] ipi框架
### 进程管理
- [x] 进程创建
- [x] 进程回收
- [x] 内核线程
- [x] fork
- [x] exec
- [x] 进程睡眠(支持高精度睡眠)
- [x] kthread机制
- [x] 可扩展二进制加载器
#### 同步原语
- [x] mutex互斥量
- [x] semaphore信号量
- [x] atomic原子变量
- [x] spinlock自旋锁
- [x] wait_queue等待队列
### 调度
- [x] CFS调度器
- [x] 实时调度器FIFO、RR
- [x] 单核调度
- [x] 多核调度
- [x] 负载均衡
### IPC
- [x] 匿名pipe管道
- [x] signal信号
### 文件系统
- [x] VFS
- [x] fat12/16/32
- [x] Devfs
- [x] RamFS
- [x] Procfs
- [x] Sysfs
### 异常及中断处理
- [x] APIC
- [x] softirq 软中断
- [x] 内核栈traceback
### 内核实用库
- [x] 字符串操作库
- [x] ELF可执行文件支持
- [x] printk
- [x] 基础数学库
- [x] 屏幕管理器
- [x] textui框架
- [x] CRC函数库
- [x] 通知链
### 系统调用
&emsp;&emsp;[请见系统调用文档](https://docs.dragonos.org/zh_CN/latest/syscall_api/index.html)
### 测试框架
- [x] ktest
### 驱动程序
- [x] ACPI 高级电源配置模块
- [x] IDE硬盘
- [x] AHCI硬盘
- [x] PCI、PCIe总线
- [x] XHCIusb3.0
- [x] ps/2 键盘
- [x] ps/2 鼠标
- [x] HPET高精度定时器
- [x] RTC时钟
- [x] local apic定时器
- [x] UART串口
- [x] VBE显示
- [x] VirtIO网卡
- [x] x87FPU
- [x] TTY终端
- [x] 浮点处理器
## 用户层
### LibC
- [x] 基础系统调用
- [x] 基础标准库函数
- [x] 部分数学函数
### shell命令行程序
- [x] 基于字符串匹配的解析
- [x] 基本的几个命令
### Http Server
- 使用C编写的简单的Http Server能够运行静态网站。
## 软件移植
- [x] GCC 11.3.0 暂时只支持了x86_64的Cross Compiler[https://github.com/DragonOS-Community/gcc](https://github.com/DragonOS-Community/gcc)
- [x] binutils 2.38暂时只支持了x86_64的Cross Compiler[https://github.com/DragonOS-Community/binutils](https://github.com/DragonOS-Community/binutils)
- [x] gmp 6.2.1 [https://github.com/DragonOS-Community/gmp-6.2.1](https://github.com/DragonOS-Community/gmp-6.2.1)
- [x] mpfr 4.1.1 [https://github.com/DragonOS-Community/mpfr](https://github.com/DragonOS-Community/mpfr)
- [x] mpc 1.2.1 [https://github.com/DragonOS-Community/mpc](https://github.com/DragonOS-Community/mpc)
- [x] relibc [https://github.com/DragonOS-Community/relibc](https://github.com/DragonOS-Community/relibc)
- [x] sqlite3