文档版本 v0.1 基于 NXOS develop 分支
如果您在文档中发现了问题或者想参与文档的编写,可以在文档仓库提出 issuse 或者提交 pr : nxos-doc
NXOS
(即Next XBook Operating System
)是一个跨平台的简洁、高性能、高稳定性的支持多核的混合内核,它将应用于桌面操作系统、服务器操作系统、移动终端操作系统等领域。
我们以简洁、高效、稳定为核心,用比较简洁高效的方式去实现一些功能,去掉一些复杂冗余的功能,化繁为简。
NXOS
是一个分时多进程/多线程(也支持实时优先级),支持 MMU
的现代操作系统,它和 Linux
内核, WindowsNT
内核是同一个数量级的。
NXOS
采用混合内核架构,即宏内核和微内核相结合。这样可以减小内核代码,增加功能可扩展性,功能模块是独立的进程,添加和删除模块就是进程的创建和关闭。
目标
NXOS
的初期目标是运行在一些高性能的嵌入式设备上,比如手机终端,游戏掌机等。后期目标是能够作为服务器使用,甚至是作为桌面操作系统使用。
内核就只负责基础功能的支持,平台移植和驱动的移植,具体如何使用,可以根据用户态的 sdk
和服务,应用程序去构建应用。
功能
NXOS
支持 SMP
多核,多架构,多平台。
功能 | 描述 |
---|---|
物理内存管理 | buddy伙伴算法 |
虚拟内存管理 | heapCache算法 |
线程管理 | 以线程为最小调度单元 |
SMP多核调度 | 支持线程绑定核,处理器均衡负载 |
支持中断管理 | 中断管理框架,以及延迟中断队列机制 |
支持定时器 | 基于ticks实现的定时器,基于线性链表实现 |
支持虚拟地址 | 在MMU的基础上对内核和进程进行隔离 |
支持进程 | 可以运行用户态的程序 |
支持串口输入输出 | 可以通过串口输出调试,也可以通过串口输入按键 |
支持vfs | 虚拟文件系统,目前支持cpio只读文件系统实现 |
支持gdb调试内核 | qemu平台支持gdb调试,并搭配了vscode图形化调试 |
彩色日志输出 | 支持配置日志输出时间,格式,名称,颜色,消息等级等 |
其他功能正在开发中,敬请期待! | ... |
平台支持
ARCH | PLATFORM | STATUS |
---|---|---|
x86 | i386 | DONE |
riscv64 | qemu | DONE |
riscv64 | k210 | DONE |
riscv64 | d1 | DONE |
riscv64 | hifive unmached | DONE |
x86-64 | amd64 | TODO |
arm64 | qemu | TODO |
arm32 | qemu | TODO |
loongArch | qemu | TODO |
许可协议
NXOS
采用 Apache-2.0
开源协议,可以自由的复制和修改代码,只需要保留版权说明即可,无潜在的商业风险。