# NXOS-Documentation **Repository Path**: BookOS/nxos-documentation ## Basic Information - **Project Name**: NXOS-Documentation - **Description**: NXOS 的文档中心 - **Primary Language**: 其他 - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 6 - **Created**: 2021-12-09 - **Last Updated**: 2024-10-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 文档版本 v0.1 基于 [NXOS develop](https://gitee.com/BookOS/nxos) 分支 如果您在文档中发现了问题或者想参与文档的编写,可以在文档仓库提出 issuse 或者提交 pr : [nxos-doc](https://gitee.com/BookOS/nxos-documentation) [文档目录](SUMMARY.md) `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](programing-manual/platform/i386.md) | DONE | | riscv64 | [qemu](programing-manual/platform/qemu_riscv64.md) | DONE | | riscv64 | [k210](programing-manual/platform/k210.md) | DONE | | riscv64 | [d1](programing-manual/platform/d1.md) | DONE | | riscv64 | [hifive unmached](programing-manual/platform/hifive_unmached.md) | DONE | | x86-64 | amd64 | TODO | | arm64 | qemu | TODO | | arm32 | qemu | TODO | |loongArch| qemu | TODO | # 许可协议 `NXOS`采用 `Apache-2.0` 开源协议,可以自由的复制和修改代码,只需要保留版权说明即可,无潜在的商业风险。