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