Skip to content

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] 通知链

系统调用 ​

请见系统调用文档

测试框架 ​

  • [x] ktest

驱动程序 ​

  • [x] ACPI 高级电源配置模块
  • [x] IDE硬盘
  • [x] AHCI硬盘
  • [x] PCI、PCIe总线
  • [x] XHCI(usb3.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,能够运行静态网站。

软件移植 ​