From 34e05fe0f0ed2fbe05ca85742910a9c88af79e92 Mon Sep 17 00:00:00 2001 From: login Date: Sat, 4 Feb 2023 13:07:32 +0800 Subject: [PATCH] Patch add v0.1.4 changelog (#165) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * new: V0.1.4 change log * 更新about APP版本号 --- README.md | 3 +- README_EN.md | 3 +- docs/community/ChangeLog/V0.1.x/V0.1.4.md | 266 ++++++++++++++++++++++ docs/community/ChangeLog/index.rst | 1 + user/apps/about/about.c | 2 +- 5 files changed, 272 insertions(+), 3 deletions(-) create mode 100644 docs/community/ChangeLog/V0.1.x/V0.1.4.md diff --git a/README.md b/README.md index 890c2bbf7..4a127a4b9 100644 --- a/README.md +++ b/README.md @@ -98,9 +98,10 @@ - [Seele.Clover](https://github.com/seeleclover) - 叶锦毅 - 林 -- 悟 +- Albert - [TerryLeeSCUT · GitHub](https://github.com/TerryLeeSCUT) - slientbard +- 悟 ## 开放源代码声明 diff --git a/README_EN.md b/README_EN.md index 4a5bf41c2..c2e5fb887 100644 --- a/README_EN.md +++ b/README_EN.md @@ -84,9 +84,10 @@ We hope that in the future, some enterprises can sponsor DragonOS and inject fin - [Seele.Clover](https://github.com/seeleclover) - 叶锦毅 - 林 -- 悟 +- Albert - [TerryLeeSCUT · GitHub](https://github.com/TerryLeeSCUT) - slientbard +- 悟 ## Open source statement diff --git a/docs/community/ChangeLog/V0.1.x/V0.1.4.md b/docs/community/ChangeLog/V0.1.x/V0.1.4.md new file mode 100644 index 000000000..ee42e39d8 --- /dev/null +++ b/docs/community/ChangeLog/V0.1.x/V0.1.4.md @@ -0,0 +1,266 @@ +# V0.1.4 + +:::{note} +本文作者:龙进 + +2023年2月4日 +::: + +## 贡献者名单 + +DragonOS V0.1.4版本由以下小伙伴贡献代码: + +- 龙进 +- Gou Ngai +- 孔维超 +- 侯嘉滢 + +## 赞助者名单 + +感谢以下同学的赞赏,我们将不断努力! + +- David Wen (人民币2000元) +- [Seele.Clover](https://github.com/seeleclover) (人民币500元) +- 叶锦毅 (人民币100元) +- 林 (人民币50元) +- Albert (人民币9.99元) +- TerryLeeSCUT (人民币6.66元) +- slientbard (人民币6.66元) +- 悟 (人民币2.00元) +- 【其他匿名的热心人士】(人民币1.00元) + +## 更新内容-内核 + +- Spinlock: new: 新增具有守卫的自旋锁SpinLock,支持编译期对锁的使用进行检查。 (#148) +- Spinlock: feature: Raw spin lock 增加lock_irqsave、unlock_irqrestore(#151) +- Mutex: new: Rust版本的Mutex (#157) +- doc: new: Rust代码风格文档 (#161) +- WaitQueue: new: Rust版本的WaitQueue (#162) +- WaitQueue: update: C版本的wait_queue的唤醒,改为立即唤醒 (#158) +- block io: new: Block IO 调度器. 当具有多核时,io调度器在核心1上运行。 (#158) +- smp: bugfix: 为AP核启动apic_timer,使其能够运行调度 (#158) +- smp: new: 增加kick_cpu功能,支持让某个特定核心立即运行调度器 (#158) +- smp: new: 增加进程在核心间迁移的功能 (#158) +- scheduler: new: 增加实时进程调度器(支持FIFO、RR策略) (#139) +- scheduler: update: CFS调度器为每个核心设置单独的IDLE进程pcb(pid均为0) (#158) +- scheduler: bugfix: process_wakeup时,对cfs的进程,重设虚拟运行时间。解决由于休眠的进程,其虚拟运行时间过小,导致其他进程饥饿的问题 (#158) +- process: new: pcb中增加migrate_to字段 (#158) + + +## 更新内容-用户环境 + +无 + +## 更新内容-其他 + +无 + +## 更新内容-软件移植 + +无 + +## 源码、发布版镜像下载 + +  您可以通过以下方式获得源代码: + +### 通过Git获取 + +- 您可以访问[https://github.com/fslongjin/DragonOS/releases](https://github.com/fslongjin/DragonOS/releases)下载发布版的代码,以及编译好的,可运行的磁盘镜像。 +- 我们在gitee上也有镜像仓库可供下载:[https://gitee.com/DragonOS/DragonOS](https://gitee.com/DragonOS/DragonOS) + +### 通过DragonOS软件镜像站获取 + +  为解决国内访问GitHub慢、不稳定的问题,同时为了方便开发者们下载DragonOS的每个版本的代码,我们特意搭建了镜像站,您可以通过以下地址访问镜像站: + +  您可以通过镜像站获取到DragonOS的代码压缩包,以及编译好的可运行的磁盘镜像。 + +- [https://mirrors.DragonOS.org](https://mirrors.DragonOS.org) +- [https://mirrors.DragonOS.org.cn](https://mirrors.DragonOS.org.cn) +- 国内镜像加速: [https://mirrors.ringotek.cn/] (https://mirrors.ringotek.cn/) + +## 开放源代码声明 + + +:::{note} +为促进DragonOS项目的健康发展,DragonOS以GPLv2开源协议进行发布。所有能获得到DragonOS源代码以及相应的软件制品(包括但不限于二进制副本、文档)的人,都能享有我们通过GPLv2协议授予您的权利,同时您也需要遵守协议中规定的义务。 + +这是一个相当严格的,保护开源软件健康发展,不被侵占的协议。 + +对于大部分的善意的人们而言,您不会违反我们的开源协议。 + +我们鼓励DragonOS的自由传播、推广,但是请确保所有行为没有侵犯他人的合法权益,也没有违反GPLv2协议。 + +请特别注意,对于违反开源协议的,尤其是**商业闭源使用以及任何剽窃、学术不端行为将会受到严肃的追责**。(这是最容易违反我们的开源协议的场景)。 + +并且,请注意,按照GPLv2协议的要求,基于DragonOS修改或二次开发的软件,必须同样采用GPLv2协议开源,并标明其基于DragonOS进行了修改。亦需保证这些修改版本的用户能方便的获取到DragonOS的原始版本。 + +您必须使得DragonOS的开发者们,能够以同样的方式,从公开渠道获取到您二次开发的版本的源代码,否则您将违反GPLv2协议。 + +关于协议详细内容,还敬请您请阅读项目根目录下的**LICENSE**文件。请注意,按照GPLv2协议的要求,**只有英文原版才具有法律效力**。任何翻译版本都仅供参考。 +::: + +### 开源软件使用情况 + +  DragonOS在开发的过程中,参考了一些开源项目的设计,或者引入了他们的部分代码,亦或是受到了他们的启发。现将他们列在下面。我们对这些开源项目的贡献者们致以最衷心的感谢! + +格式:<项目名> - <链接> - <开源协议> + +- Linux - https://git.kernel.org/ - GPLv2 +- skiftOS - https://github.com/skiftOS/skift - MIT +- FYSOS - https://github.com/fysnet/FYSOS - [FYSOS' License](https://github.com/fysnet/FYSOS/blob/9a8968e3d6600de34539c028c843f4c06d134039/license.txt) +- LemonOS - https://github.com/LemonOSProject/LemonOS.git - BSD 2-Clause License +- LZ4 - https://github.com/lz4/lz4 - BSD 2-Clause license +- SerenityOS - https://github.com/SerenityOS/serenity.git - BSD 2-Clause license +- MINE - 《一个64位操作系统的设计与实现》田宇; 人民邮电出版社 +- chcore - 《现代操作系统:设计与实现》陈海波,夏虞斌; 机械工业出版社 +- SimpleKernel - https://github.com/Simple-XX/SimpleKernel - MIT +- rcore-fs - https://github.com/rcore-os/rcore-fs.git - MIT + +## 当前版本的所有提交记录 + +```text +commit f6ba114bb0420e848ef7fc844c96c0d7a0552d93 +Author: houmkh <100781004+houmkh@users.noreply.github.com> +Date: Sat Feb 4 12:31:15 2023 +0800 + + Block IO Scheduler (#158) + + * Block io调度器 + * process_wakeup时,对cfs的进程,重设虚拟运行时间。解决由于休眠的进程,其虚拟运行时间过小,导致其他进程饥饿的问题 + + * 1、为AP核启动apic_timer,使其能够运行调度 + 2、增加kick_cpu功能,支持让某个特定核心立即运行调度器 + 3、wait_queue的唤醒,改为立即唤醒。 + 4、增加进程在核心间迁移的功能 + 5、CFS调度器为每个核心设置单独的IDLE进程pcb(pid均为0) + 6、pcb中增加migrate_to字段 + 7、当具有多核时,io调度器在核心1上运行。 + + * io调度器文件位置修改 + + * 修改io的makefile + + * 更新makefile中的变量名 + + * 修改io调度器函数名 + + --------- + + Co-authored-by: login + +commit 151251b50b7ed55596edd32ffec49a4041010e2a +Author: login +Date: Tue Jan 31 19:27:02 2023 +0800 + + Patch add rust waitqueue (#162) + + * new: rust版本的waitqueue + + * new:等待队列的文档 + +commit 3c369b1430e8d571bcc74a8ef7fefc1c4cae5dd2 +Author: login +Date: Mon Jan 30 15:43:42 2023 +0800 + + new:新增rust代码风格 (#161) + +commit c28bd540ac856cd9d8d5597852af8f2588a660e4 +Author: login +Date: Mon Jan 30 15:10:24 2023 +0800 + + 更新赞助者名单 (#160) + + * 更新赞赏者列表 + +commit 935f40ec174fec217aed4553d45996327443bc0e +Author: login +Date: Tue Jan 17 21:30:16 2023 +0800 + + new: Rust版本的Mutex (#157) + +commit d8a064128a8a06b90ff4c7b87c193518d9572641 +Author: Gou Ngai <94795048+AlbertSanoe@users.noreply.github.com> +Date: Mon Jan 16 19:58:50 2023 +0800 + + Raw spin lock 增加lock_irqsave、unlock_irqrestore(#151) + + Raw spin lock 增加lock_irqsave、unlock_irqrestore + +commit 06b09f34ed64a006a80ae8df383e3c8b176f02e0 +Author: kong <45937622+kkkkkong@users.noreply.github.com> +Date: Sat Jan 14 22:38:05 2023 +0800 + + Patch sched rust (#139) + + * update + + * 添加rt调度器的rust初步实现 + + * 完善rt调度逻辑 + + * 调试rt调度器 + + * 修改sched的返回值 + + * cargo fmt 格式化 + + * 删除无用代码,修补rt bug + + * 删除无用的代码,和重复的逻辑 + + * 软中断bugfix + + * 删除一些代码 + + * 添加kthread_run_rt文档 + + * 解决sphinix警告_static目录不存在的问题 + + Co-authored-by: longjin + +commit ec53d23ed03347854189d92b7e175f309779321b +Author: login +Date: Sat Jan 14 10:35:49 2023 +0800 + + new: 新增具有守卫的自旋锁SpinLock,支持编译期对锁的使用进行检查。 (#148) + +commit 41474ba3df99b6822ce452dc94dc53a4da62cba1 +Author: login +Date: Tue Jan 10 22:07:41 2023 +0800 + + 更新Readme中关于DragonOS的介绍部分 (#146) + +commit 8ad2e358fd3b05eed2919de50640682e51687fb5 +Author: login +Date: Sun Jan 8 15:51:59 2023 +0800 + + 更新about app中的版本号 (#145) + + * 更新about app中的版本号 + +commit a8b621c8d1fe77251b8e4eafe258dc0ee7366dd5 +Author: login +Date: Sun Jan 8 15:47:44 2023 +0800 + + 修正由于libc中具有crti.S和crtn.S,造成的与x86_64-elf-gcc不兼容的问题 (#144) + +commit 9358ff0f6f7daa18d6fab4497de025736b3d6725 +Author: login +Date: Sun Jan 8 15:06:52 2023 +0800 + + Add v0.1.3 changelog (#143) + + * new: 0.1.3发行日志 + + * 新增输出指定时间范围内的贡献者名单的脚本 + + * 更新bootloader文档 + + * update: 简介文档 + + * new: 镜像站文档 + + * update: 功能特性文档 + + +``` \ No newline at end of file diff --git a/docs/community/ChangeLog/index.rst b/docs/community/ChangeLog/index.rst index f3f923f64..630e6ef88 100644 --- a/docs/community/ChangeLog/index.rst +++ b/docs/community/ChangeLog/index.rst @@ -6,6 +6,7 @@ .. toctree:: :maxdepth: 1 + V0.1.x/V0.1.4 V0.1.x/V0.1.3 V0.1.x/V0.1.2 V0.1.x/V0.1.1 diff --git a/user/apps/about/about.c b/user/apps/about/about.c index d0edaf54b..49c781d1d 100644 --- a/user/apps/about/about.c +++ b/user/apps/about/about.c @@ -19,7 +19,7 @@ void print_copyright() printf(" DragonOS - An opensource operating system.\n"); printf(" Copyright: fslongjin & DragonOS Community. 2022, All rights reserved.\n"); printf(" Version: "); - put_string("V0.1.3\n", COLOR_GREEN, COLOR_BLACK); + put_string("V0.1.4\n", COLOR_GREEN, COLOR_BLACK); printf(" Git commit SHA1: %s\n", DRAGONOS_GIT_COMMIT_SHA1); printf(" Build time: %s %s\n", __DATE__, __TIME__); printf(" \nYou can visit the project via:\n");