Browse Source

update: readme文档

fslongjin 2 years ago
parent
commit
55e63fcb63
7 changed files with 207 additions and 140 deletions
  1. 37 67
      README.md
  2. 34 68
      README_EN.md
  3. 5 1
      docs/conf.py
  4. 1 1
      docs/index.rst
  5. 117 0
      docs/introduction/features.md
  6. 13 0
      docs/introduction/index.rst
  7. 0 3
      docs/introduction/intro.md

+ 37 - 67
README.md

@@ -4,95 +4,57 @@
 
 
  
  
 
 
-这是一个运行于x86_64平台的64位操作系统。目前正在开发之中!
+  这是一个运行于x86_64平台的64位操作系统。目前正在开发之中!
+
+[关于DragonOS,你想了解的都在这儿 - DragonOS](https://dragonos.org/uncategorized/summary/)
 
 
 ## 网站
 ## 网站
+
 - 项目官网  **[DragonOS.org](https://dragonos.org)**
 - 项目官网  **[DragonOS.org](https://dragonos.org)**
+
 - 项目文档  **[docs.DragonOS.org](https://docs.dragonos.org)**
 - 项目文档  **[docs.DragonOS.org](https://docs.dragonos.org)**
-- 开源论坛  **[bbs.DragonOS.org](https://bbs.dragonos.org)**
-- 开发交流QQ群 **115763565**
-- 代码搜索引擎 [code.DragonOS.org](http://code.dragonos.org) 
-## 开发环境
 
 
-GCC>=8.0
+- 开源论坛  **[bbs.DragonOS.org](https://bbs.dragonos.org)**
 
 
-qemu==6.2
+- 开发交流QQ群 **115763565**
 
 
-grub==2.06
+- 代码搜索引擎 [code.DragonOS.org](http://code.dragonos.org)
+  
+   
 
 
 ## 如何运行?
 ## 如何运行?
 
 
-1. clone本项目
+  运行DragonOS的步骤非常简单,您可以参考以下几个资料,在最短15分钟内运行DragonOS!
-
-2. 运行命令 bash run.sh
-
-## To do list:
-
-- [x] multiboot2
-
-- [x] printk
-
-- [x] 简单的异常捕获及中断处理
-
-- [x] APIC
-
-- [x] 初级内存管理单元
-
-- [x] SLAB内存池
-
-- [x] PS/2 键盘、鼠标驱动
 
 
-- [x] PCI 总线驱动
+- [构建DragonOS — DragonOS dev 文档](https://docs.dragonos.org/zh_CN/latest/introduction/build_system.html#docker)
 
 
-- [ ] usb驱动
+- [如何在电脑的虚拟机上运行DragonOS? | | 龙进的博客](https://longjin666.cn/?p=1514)
 
 
-- [x] SATA硬盘驱动(AHCI)
+- [教你在15分钟内运行DragonOS!- Bilibili](https://www.bilibili.com/video/BV1zF411w7s2?share_source=copy_web&vd_source=41ab4a1b73e6f65219a785923511517e)
 
 
-- [ ] 驱动程序框架
+## 系统特性
 
 
-- [ ] 网卡驱动
+  请参见文档:[系统特性](https://docs.dragonos.org/zh_CN/latest/introduction/features.html)
 
 
-- [ ] 网络协议栈
+## 如何加入?
 
 
-- [ ] 图形驱动
+  如果你愿意加入我们,你可以查看GitHub仓库的Project面板,选择近期已规划的功能,对他们进行完善。
 
 
-- [x] 第一个进程
+  或者,你也可以带着你的创意与想法,和社区的小伙伴一起讨论,为DragonOS创造一些新的功能。
 
 
-- [x] 进程管理
+## 如何与社区建立联系?
 
 
-- [ ] IPC进程间通信
+  你可以发邮件给我,我的邮件地址是[longjin@RinGoTek.cn](mailto:longjin@RinGoTek.cn)。
 
 
-- [x] 第一个系统调用函数
+  或者是加入我们的开发交流QQ群:**115763565**
 
 
-- [x] 在物理平台上启动DragonOS(AMD处理器上存在自动重启的问题)
+  对于正式问题的讨论,我们建议在论坛[bbs.DragonOS.org](https://bbs.dragonos.org/)上的对应板块,使用正式的语言发帖讨论。亦或者是在本仓库的issue下提出问题。
 
 
-- [x] 多核启动
+  在发帖的同时,可以把帖子转发到交流QQ群,这样能使得问题的交流更加高效,也便于问题的归档。
-
-- [ ] 多核调度及负载均衡
-
-- [x] FAT32文件系统
-
-- [x] VFS虚拟文件系统
-
-- [x] 解析ELF文件格式
-
-- [x] 浮点数支持
-
-- [x] 基于POSIX实现系统调用库
-
-- [x] Shell
-
-- [x] 内核栈反向跟踪
-
-- [ ] 动态加载模块
-
-## 贡献代码
-
-如果你愿意跟我一起开发这个项目,请先发邮件到我的邮箱~
 
 
 ## 贡献者名单
 ## 贡献者名单
 
 
-fslongjin
+[Contributors to fslongjin/DragonOS · GitHub](https://github.com/fslongjin/DragonOS/graphs/contributors)
 
 
 ## 联系我
 ## 联系我
 
 
@@ -102,11 +64,19 @@ fslongjin
 
 
 ## 赞赏
 ## 赞赏
 
 
-如果你愿意的话,点击下面的链接,请我喝杯咖啡吧~请在付款备注处留下您的github ID,我会将其贴到这个页面. 捐赠所得资金将用于网站、论坛社区维护以及一切与本项目所相关的用途。
+  DragonOS是一个公益性质的开源项目,但是其日常维护仍需要一些资金,如果你愿意的话,可以通过[赞助 - DragonOS](https://dragonos.org/donate/),从而促进这个项目的发展。所有的赞助者的名单都会被公示。
+
+### 赞助的资金都会被用到哪里?
+
+- 官网及社区论坛的服务器开支
+
+- 代码搜索引擎服务器的开支(这不是一个小数目)
+
+- 域名、CDN等服务的开支
 
 
-[捐赠 | 龙进的博客](https://longjin666.cn/?page_id=54)
+- 任何有助于DragonOS发展建设的用途
 
 
-## 赞赏者列表
+### 赞赏者列表
 
 
 - 悟
 - 悟
 - [TerryLeeSCUT · GitHub](https://github.com/TerryLeeSCUT)
 - [TerryLeeSCUT · GitHub](https://github.com/TerryLeeSCUT)
@@ -123,7 +93,7 @@ fslongjin
 
 
 ## 参考资料
 ## 参考资料
 
 
-本项目参考了以下资料,我对这些项目、书籍、文档的作者表示感谢!
+  本项目参考了以下资料,我对这些项目、书籍、文档的作者表示感谢!
 
 
 - 《一个64位操作系统的实现》田宇(人民邮电出版社)
 - 《一个64位操作系统的实现》田宇(人民邮电出版社)
 
 

+ 34 - 68
README_EN.md

@@ -4,96 +4,51 @@
 
 
  
  
 
 
-This project is a operating system running on computer which is in X86_ 64 Architecture . The DragonOS is currently under development!
+  This project is a operating system running on computer which is in X86_ 64 Architecture . The DragonOS is currently under development!
+
+[All you want to know about DragonOS is here - DragonOS](https://dragonos.org/uncategorized/summary/)
 
 
 ## Websites
 ## Websites
+
 - Home Page  **[DragonOS.org](https://dragonos.org)**
 - Home Page  **[DragonOS.org](https://dragonos.org)**
 - Documentation  **[docs.DragonOS.org](https://docs.dragonos.org)**
 - Documentation  **[docs.DragonOS.org](https://docs.dragonos.org)**
 - BBS  **[bbs.DragonOS.org](https://bbs.dragonos.org)**
 - BBS  **[bbs.DragonOS.org](https://bbs.dragonos.org)**
 - QQ group **115763565**
 - QQ group **115763565**
 - code search engine [code.DragonOS.org](http://code.dragonos.org) 
 - code search engine [code.DragonOS.org](http://code.dragonos.org) 
 
 
-## Development Environment
-
-GCC>=8.0
-
-qemu==6.2
-
-grub==2.06
-
 ## How to run?
 ## How to run?
 
 
-1. clone the project
+  The steps to run DragonOS are very simple. You can refer to the following materials to run DragonOS in the shortest 15 minutes!
-
-2. Run the <u>run.sh</u> 
-
-## To do list:
-
-- [x] multiboot2
-
-- [x] printk
-
-- [x] Simple exception capture and interrupt handling
-
-- [x] APIC
-
-- [x] Primary memory management unit
-
-- [x] SLAB memory pool
-
-- [x] PS/2 Keyboard and mouse driver
-
-- [x] PCI bus driver
-
-- [ ] USB Driver
 
 
-- [x] SATA Hard disk driver(AHCI)
+- [Building DragonOS - DragonOS dev document](https://docs.dragonos.org/zh_CN/latest/introduction/build_system.html#docker)
 
 
-- [ ] Driver Framework
+- [How to run DragonOS on a computer's virtual machine? || Long Jin's blog](https://longjin666.cn/?p=1514)
 
 
-- [ ] Network card driver
+- [Teach you to run DragonOS in 15 minutes- Bilibili](https://www.bilibili.com/video/BV1zF411w7s2?share_source=copy_web&vd_source=41ab4a1b73e6f65219a785923511517e)
 
 
-- [ ] Internet protocol stack
+## DragonOS' Features
 
 
-- [ ] Graphics driver
+&emsp;&emsp;See documentation:[Features](https://docs.dragonos.org/zh_CN/latest/introduction/features.html)
 
 
-- [x] First process
+## How to join DragonOS ?
 
 
-- [x] Process management
+&emsp;&emsp;If you are willing to join us, you can check the project panel of GitHub warehouse, select the recently planned functions, and improve them.
 
 
-- [ ] IPC
+&emsp;&emsp;Or, you can also bring your ideas and ideas, discuss with the community partners, and create some new functions for dragonos.
 
 
-- [x] First system call function
+## How to come in contact with the community?
 
 
-- [x] Start dragonos on the physical platform (There is a bug which can make the computer automatically reboot on AMD processor)
+&emsp;&emsp;You can send me an email. My email address is[ longjin@RinGoTek.cn ](mailto: longjin@RinGoTek.cn )。
 
 
-- [x] Multi core boot
+&emsp;&emsp;Or join our development exchange QQ group: **115763565**
 
 
-- [ ] Multi core scheduling and load balancing
+&emsp;&emsp;For the discussion of formal issues, we suggest that they be discussed in the forum [BBS.Dragonos.org](https://bbs.dragonos.org/) In the corresponding section of the, use formal language to post for discussion. Or ask questions under the issue of the warehouse.
 
 
-- [x] FAT32 file system
+&emsp;&emsp;While posting, you can forward the post to the communication QQ group, which can make the communication of problems more efficient and facilitate the archiving of problems.
-
-- [x] virtual file system
-
-- [x] Parsing ELF file format
-
-- [x] Floating point support
-
-- [x] Implementation of system call library based on POSIX
-
-- [x] Shell
-
-- [x] Kernel stack backtracking
-
-- [ ] Dynamic loading module
-
-## Contribute code
-
-If you are willing to develop this project with me, please email me first~
 
 
 ## List of contributors
 ## List of contributors
 
 
-fslongjin
+[Contributors to fslongjin/DragonOS · GitHub](https://github.com/fslongjin/DragonOS/graphs/contributors)
 
 
 ## Contact with me
 ## Contact with me
 
 
@@ -103,9 +58,17 @@ Blog:[longjin666.cn](https://longjin666.cn)
 
 
 ## Reward
 ## Reward
 
 
-If you like, click the link below and buy me a cup of coffee ~ please leave your GitHub ID in the payment remarks and I will post it to this page. The donated funds will be used for website, forum community maintenance and all purposes related to the project.
+&emsp;&emsp;Dragonos is a public welfare open source project, but its daily maintenance still needs some funds. If you want, you can visit [Sponsor - DragonOS](https://dragonos.org/donate/), so as to promote the development of this project. The list of all sponsors will be published.
+
+### Where will the sponsorship funds be used?
+
+- Server expenses of official website and community forum
+
+- Code search engine server expenses (this is not a small amount)
 
 
-[The reward webpage](https://longjin666.cn/?page_id=54)
+- Expenses for domain name, CDN and other services
+
+- Any use that is conducive to the development and construction of DragonOS
 
 
 ## Sponsors
 ## Sponsors
 
 
@@ -114,14 +77,17 @@ If you like, click the link below and buy me a cup of coffee ~ please leave your
 
 
 ## Open source statement
 ## Open source statement
 
 
-This project adopts GPLv2 LICENSE for open source. You are welcome to use the code of this project on the basis of abiding by the open source license!
+&emsp;&emsp;This project adopts GPLv2 LICENSE for open source. You are welcome to use the code of this project on the basis of abiding by the open source license!
+
 **What we support:** using this project to create greater value and contribute code to this project under the condition of abiding by the agreement.
 **What we support:** using this project to create greater value and contribute code to this project under the condition of abiding by the agreement.
+
 **What we condemn**: any non-compliance with the open source license. Including but not limited to: plagiarizing the code of the project as your graduation project and other academic misconduct, as well as commercial closed source use without payment.
 **What we condemn**: any non-compliance with the open source license. Including but not limited to: plagiarizing the code of the project as your graduation project and other academic misconduct, as well as commercial closed source use without payment.
+
 If you find any violation of the open source license, we welcome you to send email feedback! Let's build an honest open source community together!
 If you find any violation of the open source license, we welcome you to send email feedback! Let's build an honest open source community together!
 
 
 ## References
 ## References
 
 
-This project refers to the following materials. I sincerely give my thanks to the authors of these projects, books and documents!
+&emsp;&emsp;This project refers to the following materials. I sincerely give my thanks to the authors of these projects, books and documents!
 
 
 - Implementation of a 64 bit operating system, Tian Yu (POSTS&TELECOM  PRESS)
 - Implementation of a 64 bit operating system, Tian Yu (POSTS&TELECOM  PRESS)
 
 

+ 5 - 1
docs/conf.py

@@ -58,4 +58,8 @@ html_theme = 'sphinx_rtd_theme'
 # Add any paths that contain custom static files (such as style sheets) here,
 # Add any paths that contain custom static files (such as style sheets) here,
 # relative to this directory. They are copied after the builtin static files,
 # relative to this directory. They are copied after the builtin static files,
 # so a file named "default.css" will overwrite the builtin "default.css".
 # so a file named "default.css" will overwrite the builtin "default.css".
-html_static_path = ['_static']
+html_static_path = ['_static']
+
+myst_enable_extensions = [
+    "tasklist",
+]

+ 1 - 1
docs/index.rst

@@ -10,7 +10,7 @@
    :maxdepth: 1
    :maxdepth: 1
    :caption: 入门
    :caption: 入门
 
 
-   introduction/intro
+   introduction/index
    introduction/build_system
    introduction/build_system
 
 
 .. toctree::
 .. toctree::

+ 117 - 0
docs/introduction/features.md

@@ -0,0 +1,117 @@
+(_genreal_features)=
+
+# DragonOS的功能
+
+## 规范
+
+- [x] 启动引导:Multiboot2
+
+- [x] 接口:posix 2008
+
+## 内核层
+
+### 内存管理
+
+- [x] 页分配器
+- [x] slab分配器
+- [x] VMA
+- [x] MMIO地址空间自动分配
+
+### 多核
+
+- [x] 多核引导
+- [x] ipi框架
+
+### 进程管理
+
+- [x] 进程创建
+- [x] 进程回收
+- [x] 内核线程
+- [x] fork
+- [x] exec
+- [x] 进程睡眠(支持高精度睡眠)
+
+#### 同步原语
+
+- [x] mutex互斥量
+- [x] semaphore信号量
+- [x] atomic原子变量
+- [x] spinlock自旋锁
+- [x] wait_queue等待队列
+
+### 调度
+
+- [x] CFS调度器
+- [x] 单核调度
+
+### IPC
+
+- [x] 匿名pipe管道
+
+### 文件系统
+
+- [x] VFS
+- [x] fat32
+- [x] devfs
+
+### 异常及中断处理
+
+- [x] APIC
+- [x] softirq 软中断
+- [x] 内核栈traceback
+
+### 内核数据结构
+
+- [x] 普通二叉树
+- [x] kfifo缓冲区
+- [x] 循环链表
+
+### 内核实用库
+
+- [x] LZ4压缩库(1.9.3)
+- [x] 字符串操作库
+- [x] ELF可执行文件支持
+- [x] printk
+- [x] 基础数学库
+- [x] 屏幕管理器
+- [x] textui框架
+
+### 系统调用
+
+&emsp;&emsp;[请见系统调用文档](https://docs.dragonos.org/zh_CN/latest/syscall_api/index.html)
+
+### 测试框架
+
+- [x] ktest
+
+### 驱动程序
+
+- [x] ACPI 高级电源配置模块
+- [x] IDE硬盘
+- [x] AHCI硬盘
+- [x] PCI
+- [x] XHCI(usb3.0)
+- [x] ps/2 键盘
+- [x] ps/2 鼠标
+- [x] HPET高精度定时器
+- [x] RTC时钟
+- [x] local apic定时器
+- [x] UART串口
+- [x] VBE显示
+
+## 用户层
+
+### LibC
+
+- [x] 基础系统调用
+- [x] 基础标准库函数
+- [x] 部分数学函数
+
+### shell命令行程序
+
+- [x] 基于字符串匹配的解析
+- [x] 基本的几个命令
+
+### 驱动程序
+
+- [x] ps/2键盘用户态驱动

+ 13 - 0
docs/introduction/index.rst

@@ -0,0 +1,13 @@
+DragonOS简介
+====================================
+
+    DragonOS龙操作系统(以下简称“DragonOS”)是一个基于x86-64体系结构开发的,基于GPLv2协议开放源代码的64位操作系统
+
+
+   
+    你可能对DragonOS中已经实现了哪些功能感兴趣,您可以转到这里::ref:`功能特性 <_genreal_features>`
+
+.. toctree::
+    :maxdepth: 1
+
+    features

+ 0 - 3
docs/introduction/intro.md

@@ -1,3 +0,0 @@
-# DragonOS简介
-
-DragonOS龙操作系统(以下简称“DragonOS”)是一个基于x86-64体系结构开发的,基于GPLv2协议开放源代码的64位操作系统。