From 1f99027f241bdb6e6c332ce3b6fe6f42243e99a9 Mon Sep 17 00:00:00 2001 From: hzc1998 <2323168280@qq.com> Date: Thu, 31 Mar 2022 22:11:50 +0800 Subject: [PATCH] feat(*): update doc framework --- Home/Catalog.md | 112 ------------------ Home/Plan.md | 13 -- Home/Sched.md | 11 -- README.md | 24 ++-- SUMMARY.md | 19 +++ Home/API.md => programing-manual/user/api.md | 0 Home/CodeStyle.md => tutorial/code-style.md | 0 Home/CommitRule.md => tutorial/commit-rule.md | 0 Home/Menuconfig.md => tutorial/menuconfig.md | 8 +- Home/QuickStart.md => tutorial/quick-start.md | 2 +- Home/Toolchains.md => tutorial/toolchains.md | 0 Home/Test.md => tutorial/utest.md | 0 12 files changed, 36 insertions(+), 153 deletions(-) delete mode 100644 Home/Catalog.md delete mode 100644 Home/Plan.md delete mode 100644 Home/Sched.md create mode 100644 SUMMARY.md rename Home/API.md => programing-manual/user/api.md (100%) rename Home/CodeStyle.md => tutorial/code-style.md (100%) rename Home/CommitRule.md => tutorial/commit-rule.md (100%) rename Home/Menuconfig.md => tutorial/menuconfig.md (76%) rename Home/QuickStart.md => tutorial/quick-start.md (98%) rename Home/Toolchains.md => tutorial/toolchains.md (100%) rename Home/Test.md => tutorial/utest.md (100%) diff --git a/Home/Catalog.md b/Home/Catalog.md deleted file mode 100644 index f612be6..0000000 --- a/Home/Catalog.md +++ /dev/null @@ -1,112 +0,0 @@ -# NXOS 目录结构 - -- Docs: 文档 - -- Scripts: 脚本文件 - -- Tools: 工具链或者其它工具 - -- Src: 源码目录 - - Inc: 公共头文件 - - - Mods - - Archs - - Platforms - - IPC - - MM - - Process - - Thread - - Sched - - - Init - - Thread - - Mutex - - Smaphore - - Lock - - Process - - Sched - - SMP - - - MM - - Heap - - VmSpace - - Swap - - - IPC - - Signal - - Pipe - - Channel - - MsgQueue - - LocalSocket - - LPC - - - Platforms: 平台私有代码,引导,总线,特有驱动 - - i386 - - - PC32: 32位系统的引导,地址总线,32位驱动等 - - Drivers - - Amd64 - - - PC64: 64位系统的引导,地址总线,64位驱动等 - - - Riscv64 - - QemuRiscv64 - - Drivers - - K210 - - - Arm - - QemuVexpressA9 - - - Arm64 - - RaspberryPi - - Drivers - - serial - - usb - - sd - - Raspi3-32 - - Raspi3-64 - - Raspi4-32 - - Raspi4-64 - - - Mods: - - Drivers: 不同类型的驱动框架 - - Disk - - Char - - Serial - - Net - - Sound - - GPU - - Power - - UserDriver: 用户态驱动框架 - - - Virtual: - - Ramdisk - - Loop - - Null - - Zero - - Virtio: 虚拟IO接口 - - - FS - - Fat32 - - Ext2/3/4 - - Devfs - - Ramfs - - Romfs - - Public - - - Net - - TCP/UDP - - Socket - - Public - - - Syscall - - - TTY - - - Sound - - - Graphic - - - KVM - - - Security \ No newline at end of file diff --git a/Home/Plan.md b/Home/Plan.md deleted file mode 100644 index 22d0c31..0000000 --- a/Home/Plan.md +++ /dev/null @@ -1,13 +0,0 @@ -# 计划 - -计划的核心点在于对内存管理和多任务管理的创新和优化,并且要在多个平台上都能够跑出不错的效果。 - -* 基础功能,进入C,支持中断,异常管理。 - -* 支持线程切换,支持多处理器。 - -* 支持物理内存和虚拟内存管理。 - -* 支持磁盘内存的换入和换出。 - -* 添加桌面系统和服务器系统的配置,选择配置后,内核会对调度策略以及内存管理策略等进行调整。 diff --git a/Home/Sched.md b/Home/Sched.md deleted file mode 100644 index 943a4a0..0000000 --- a/Home/Sched.md +++ /dev/null @@ -1,11 +0,0 @@ -# 调度重点 - -* I/O消耗型应该时间片更短,调度频率越高:加快响应 - -* 处理器消耗型应该时间片更长,调度频率越低:提高处理器命中率 - -* 用户抢占产生时机:从系统调用/中断处理返回用户态。 - -* 调度安全:当没有持有锁的时候,就是调度安全的,可以设置变量来记录是否持有锁。(引用计数) - -* 显式调度:自己阻塞或者是调用的sched,就会主动产生调度。(同样需要保证调度安全) diff --git a/README.md b/README.md index fc8c44c..3b392da 100644 --- a/README.md +++ b/README.md @@ -1,22 +1,22 @@ -# NXOS 的文档中心 +文档版本v0.1 基于NXOS develop分支 -NXOS的文档中心,所有关于NXOS的文档都将存放在本仓库,如有错误,您可以提交issue或者request来一起完善文档。 +如果您在文档中发现了问题或者想参与文档的编写,可以在文档仓库提出issuse或者提交pr: +[nxos-doc](https://gitee.com/BookOS/nxos-documentation) -([快速入门](Home/QuickStart.md)) 快速上手开发! +# NXOS 简介 -([代码风格](Home/CodeStyle.md)) 了解代码编码风格 +`NXOS`是`Next XBook Operating System`的意思,是一个跨平台的简洁、高性能、高稳定性的支持多核的混合内核,它将应用于桌面操作系统领域,服务器操作系统领域以及移动终端操作系统领域。 -([代码提交规范](Home/CommitRule.md)) 提交代码更改时的日志规范 +我们以简洁、高效、稳定为核心,用比较简洁且高效的方式去实现一些功能,去掉一些复杂,冗杂的功能,化繁为简。 -([目录结构](Home/Catalog.md)) 了解NXOS内核源码目录结构 +## NXOS 概述 -([未来计划](Home/Plan.md)) 我们最新的计划! +`NXOS`是一个分时多进程/多线程(也支持实时优先级),支持MMU的现代操作系统,它和Linux内核,WindowsNT内核是同一个数量级的。 -([测试](Home/Test.md)) 了解测试相关的内容 +## 许可协议 -([菜单配置](Home/Menuconfig.md)) 更详细的菜单配置 +`NXOS`采用Apache-2.0开源协议,可以自由的复制和修改代码,只需要保留版权说明即可,无潜在的商业风险。 -([工具链](Home/Toolchains.md)) 工具链集合 - -([接口设计API](Home/API.md)) 系统为用户提供的API接口 +## NXOS 的架构 +`NXOS`采用混合内核架构,即宏内核和微内核相结合。优势是减小内核代码,增加功能可扩展性,功能模块是独立的进程,添加和删除模块就是进程的创建和关闭。 \ No newline at end of file diff --git a/SUMMARY.md b/SUMMARY.md new file mode 100644 index 0000000..b4d7305 --- /dev/null +++ b/SUMMARY.md @@ -0,0 +1,19 @@ +# Summary + +- NXOS文档中心 + - 简介 + - [NXOS 简介](README.md) + + - 快速上手 + - [Qemu虚拟机](tutorial/quick-start.md) + + - 用户接口 + - [API设计](programing-manual/user/api.md) + + - 编程开发 + - [代码风格](tutorial/code-style.md) + - [提交规则](tutorial/commit-rule.md) + - [菜单配置](tutorial/menuconfig.md) + - [工具链](tutorial/toolchains.md) + - [单元测试](tutorial/utest.md) + \ No newline at end of file diff --git a/Home/API.md b/programing-manual/user/api.md similarity index 100% rename from Home/API.md rename to programing-manual/user/api.md diff --git a/Home/CodeStyle.md b/tutorial/code-style.md similarity index 100% rename from Home/CodeStyle.md rename to tutorial/code-style.md diff --git a/Home/CommitRule.md b/tutorial/commit-rule.md similarity index 100% rename from Home/CommitRule.md rename to tutorial/commit-rule.md diff --git a/Home/Menuconfig.md b/tutorial/menuconfig.md similarity index 76% rename from Home/Menuconfig.md rename to tutorial/menuconfig.md index 70bacd7..176a501 100644 --- a/Home/Menuconfig.md +++ b/tutorial/menuconfig.md @@ -14,13 +14,13 @@ NXOS使用了一个python开发的menuconfig,它的跨平台性以及易用性 1. 更新配置文件 - 当你要使用某个平台的配置时,需要通过设置默认配置来进行选择。需要通过PLATFORM来指定一个平台,默认的平台是I386-PC32。 + 当你要使用某个平台的配置时,需要通过设置默认配置来进行选择。 ```sh - make defconfig PLATFORM=I386-PC32 + make defconfig ``` -2. 进行菜单配置,就可以选择你想要的功能或者进行某些功能的配置。由于上一步已经从`PLATFORM`拉取配置了,就不用在这个地方配置`PLATFORM`了。配置完后,可以根据菜单的提示进行退出或者保存。 +2. 进行菜单配置,就可以选择你想要的功能或者进行某些功能的配置。配置完后,可以根据菜单的提示进行退出或者保存。 ```sh make menuconfig @@ -38,7 +38,7 @@ NXOS使用了一个python开发的menuconfig,它的跨平台性以及易用性 4. 最后,如果想要保存当前的配置到选中的平台,则需要在执行save操作才行。操作完后,你所修改的配置就保存了,当切换到其它平台后,这个配置依然存在,只需要重复第一步,更新一下配置即可。 ```sh - make saveconfig PLATFORM=I386-PC32 + make saveconfig ``` diff --git a/Home/QuickStart.md b/tutorial/quick-start.md similarity index 98% rename from Home/QuickStart.md rename to tutorial/quick-start.md index 1c5933f..97e78cb 100644 --- a/Home/QuickStart.md +++ b/tutorial/quick-start.md @@ -8,7 +8,7 @@ ### 1. 编译器工具链 -在获取NXOS的系统源码后,您需要下载编译NXOS的[工具链(点我跳转)](Toolchains.md),下载好后,进行环境变量的配置。 +在获取NXOS的系统源码后,您需要下载编译NXOS的[工具链(点我跳转)](toolchains.md),下载好后,进行环境变量的配置。 ### 2. 虚拟机 diff --git a/Home/Toolchains.md b/tutorial/toolchains.md similarity index 100% rename from Home/Toolchains.md rename to tutorial/toolchains.md diff --git a/Home/Test.md b/tutorial/utest.md similarity index 100% rename from Home/Test.md rename to tutorial/utest.md -- Gitee