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

内核实用库

  • 字符串操作库

  • 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,能够运行静态网站。

软件移植