|
| 1 | +# V0.1.4 |
| 2 | + |
| 3 | +:::{note} |
| 4 | +本文作者:龙进 <longjin@RinGoTek.cn> |
| 5 | + |
| 6 | +2023年2月4日 |
| 7 | +::: |
| 8 | + |
| 9 | +## 贡献者名单 |
| 10 | + |
| 11 | +DragonOS V0.1.4版本由以下小伙伴贡献代码: |
| 12 | + |
| 13 | +- 龙进 <longjin@RinGoTek.cn> |
| 14 | +- Gou Ngai <sujintao@DragonOS.org> |
| 15 | +- 孔维超 <kongweichao@DragonOS.org> |
| 16 | +- 侯嘉滢 <houjiaying@DragonOS.org> |
| 17 | + |
| 18 | +## 赞助者名单 |
| 19 | + |
| 20 | +感谢以下同学的赞赏,我们将不断努力! |
| 21 | + |
| 22 | +- David Wen (人民币2000元) |
| 23 | +- [Seele.Clover](https://github.com/seeleclover) (人民币500元) |
| 24 | +- 叶锦毅 (人民币100元) |
| 25 | +- 林 (人民币50元) |
| 26 | +- Albert (人民币9.99元) |
| 27 | +- TerryLeeSCUT (人民币6.66元) |
| 28 | +- slientbard (人民币6.66元) |
| 29 | +- 悟 (人民币2.00元) |
| 30 | +- 【其他匿名的热心人士】(人民币1.00元) |
| 31 | + |
| 32 | +## 更新内容-内核 |
| 33 | + |
| 34 | +- Spinlock: new: 新增具有守卫的自旋锁SpinLock,支持编译期对锁的使用进行检查。 (#148) |
| 35 | +- Spinlock: feature: Raw spin lock 增加lock_irqsave、unlock_irqrestore(#151) |
| 36 | +- Mutex: new: Rust版本的Mutex (#157) |
| 37 | +- doc: new: Rust代码风格文档 (#161) |
| 38 | +- WaitQueue: new: Rust版本的WaitQueue (#162) |
| 39 | +- WaitQueue: update: C版本的wait_queue的唤醒,改为立即唤醒 (#158) |
| 40 | +- block io: new: Block IO 调度器. 当具有多核时,io调度器在核心1上运行。 (#158) |
| 41 | +- smp: bugfix: 为AP核启动apic_timer,使其能够运行调度 (#158) |
| 42 | +- smp: new: 增加kick_cpu功能,支持让某个特定核心立即运行调度器 (#158) |
| 43 | +- smp: new: 增加进程在核心间迁移的功能 (#158) |
| 44 | +- scheduler: new: 增加实时进程调度器(支持FIFO、RR策略) (#139) |
| 45 | +- scheduler: update: CFS调度器为每个核心设置单独的IDLE进程pcb(pid均为0) (#158) |
| 46 | +- scheduler: bugfix: process_wakeup时,对cfs的进程,重设虚拟运行时间。解决由于休眠的进程,其虚拟运行时间过小,导致其他进程饥饿的问题 (#158) |
| 47 | +- process: new: pcb中增加migrate_to字段 (#158) |
| 48 | + |
| 49 | + |
| 50 | +## 更新内容-用户环境 |
| 51 | + |
| 52 | +无 |
| 53 | + |
| 54 | +## 更新内容-其他 |
| 55 | + |
| 56 | +无 |
| 57 | + |
| 58 | +## 更新内容-软件移植 |
| 59 | + |
| 60 | +无 |
| 61 | + |
| 62 | +## 源码、发布版镜像下载 |
| 63 | + |
| 64 | +  您可以通过以下方式获得源代码: |
| 65 | + |
| 66 | +### 通过Git获取 |
| 67 | + |
| 68 | +- 您可以访问[https://github.com/fslongjin/DragonOS/releases](https://github.com/fslongjin/DragonOS/releases)下载发布版的代码,以及编译好的,可运行的磁盘镜像。 |
| 69 | +- 我们在gitee上也有镜像仓库可供下载:[https://gitee.com/DragonOS/DragonOS](https://gitee.com/DragonOS/DragonOS) |
| 70 | + |
| 71 | +### 通过DragonOS软件镜像站获取 |
| 72 | + |
| 73 | +  为解决国内访问GitHub慢、不稳定的问题,同时为了方便开发者们下载DragonOS的每个版本的代码,我们特意搭建了镜像站,您可以通过以下地址访问镜像站: |
| 74 | + |
| 75 | +  您可以通过镜像站获取到DragonOS的代码压缩包,以及编译好的可运行的磁盘镜像。 |
| 76 | + |
| 77 | +- [https://mirrors.DragonOS.org](https://mirrors.DragonOS.org) |
| 78 | +- [https://mirrors.DragonOS.org.cn](https://mirrors.DragonOS.org.cn) |
| 79 | +- 国内镜像加速: [https://mirrors.ringotek.cn/] (https://mirrors.ringotek.cn/) |
| 80 | + |
| 81 | +## 开放源代码声明 |
| 82 | + |
| 83 | + |
| 84 | +:::{note} |
| 85 | +为促进DragonOS项目的健康发展,DragonOS以GPLv2开源协议进行发布。所有能获得到DragonOS源代码以及相应的软件制品(包括但不限于二进制副本、文档)的人,都能享有我们通过GPLv2协议授予您的权利,同时您也需要遵守协议中规定的义务。 |
| 86 | + |
| 87 | +这是一个相当严格的,保护开源软件健康发展,不被侵占的协议。 |
| 88 | + |
| 89 | +对于大部分的善意的人们而言,您不会违反我们的开源协议。 |
| 90 | + |
| 91 | +我们鼓励DragonOS的自由传播、推广,但是请确保所有行为没有侵犯他人的合法权益,也没有违反GPLv2协议。 |
| 92 | + |
| 93 | +请特别注意,对于违反开源协议的,尤其是**商业闭源使用以及任何剽窃、学术不端行为将会受到严肃的追责**。(这是最容易违反我们的开源协议的场景)。 |
| 94 | + |
| 95 | +并且,请注意,按照GPLv2协议的要求,基于DragonOS修改或二次开发的软件,必须同样采用GPLv2协议开源,并标明其基于DragonOS进行了修改。亦需保证这些修改版本的用户能方便的获取到DragonOS的原始版本。 |
| 96 | + |
| 97 | +您必须使得DragonOS的开发者们,能够以同样的方式,从公开渠道获取到您二次开发的版本的源代码,否则您将违反GPLv2协议。 |
| 98 | + |
| 99 | +关于协议详细内容,还敬请您请阅读项目根目录下的**LICENSE**文件。请注意,按照GPLv2协议的要求,**只有英文原版才具有法律效力**。任何翻译版本都仅供参考。 |
| 100 | +::: |
| 101 | + |
| 102 | +### 开源软件使用情况 |
| 103 | + |
| 104 | +  DragonOS在开发的过程中,参考了一些开源项目的设计,或者引入了他们的部分代码,亦或是受到了他们的启发。现将他们列在下面。我们对这些开源项目的贡献者们致以最衷心的感谢! |
| 105 | + |
| 106 | +格式:<项目名> - <链接> - <开源协议> |
| 107 | + |
| 108 | +- Linux - https://git.kernel.org/ - GPLv2 |
| 109 | +- skiftOS - https://github.com/skiftOS/skift - MIT |
| 110 | +- FYSOS - https://github.com/fysnet/FYSOS - [FYSOS' License](https://github.com/fysnet/FYSOS/blob/9a8968e3d6600de34539c028c843f4c06d134039/license.txt) |
| 111 | +- LemonOS - https://github.com/LemonOSProject/LemonOS.git - BSD 2-Clause License |
| 112 | +- LZ4 - https://github.com/lz4/lz4 - BSD 2-Clause license |
| 113 | +- SerenityOS - https://github.com/SerenityOS/serenity.git - BSD 2-Clause license |
| 114 | +- MINE - 《一个64位操作系统的设计与实现》田宇; 人民邮电出版社 |
| 115 | +- chcore - 《现代操作系统:设计与实现》陈海波,夏虞斌; 机械工业出版社 |
| 116 | +- SimpleKernel - https://github.com/Simple-XX/SimpleKernel - MIT |
| 117 | +- rcore-fs - https://github.com/rcore-os/rcore-fs.git - MIT |
| 118 | + |
| 119 | +## 当前版本的所有提交记录 |
| 120 | + |
| 121 | +```text |
| 122 | +commit f6ba114bb0420e848ef7fc844c96c0d7a0552d93 |
| 123 | +Author: houmkh <100781004+houmkh@users.noreply.github.com> |
| 124 | +Date: Sat Feb 4 12:31:15 2023 +0800 |
| 125 | +
|
| 126 | + Block IO Scheduler (#158) |
| 127 | + |
| 128 | + * Block io调度器 |
| 129 | + * process_wakeup时,对cfs的进程,重设虚拟运行时间。解决由于休眠的进程,其虚拟运行时间过小,导致其他进程饥饿的问题 |
| 130 | + |
| 131 | + * 1、为AP核启动apic_timer,使其能够运行调度 |
| 132 | + 2、增加kick_cpu功能,支持让某个特定核心立即运行调度器 |
| 133 | + 3、wait_queue的唤醒,改为立即唤醒。 |
| 134 | + 4、增加进程在核心间迁移的功能 |
| 135 | + 5、CFS调度器为每个核心设置单独的IDLE进程pcb(pid均为0) |
| 136 | + 6、pcb中增加migrate_to字段 |
| 137 | + 7、当具有多核时,io调度器在核心1上运行。 |
| 138 | + |
| 139 | + * io调度器文件位置修改 |
| 140 | + |
| 141 | + * 修改io的makefile |
| 142 | + |
| 143 | + * 更新makefile中的变量名 |
| 144 | + |
| 145 | + * 修改io调度器函数名 |
| 146 | + |
| 147 | + --------- |
| 148 | + |
| 149 | + Co-authored-by: login <longjin@ringotek.cn> |
| 150 | +
|
| 151 | +commit 151251b50b7ed55596edd32ffec49a4041010e2a |
| 152 | +Author: login <longjin@ringotek.cn> |
| 153 | +Date: Tue Jan 31 19:27:02 2023 +0800 |
| 154 | +
|
| 155 | + Patch add rust waitqueue (#162) |
| 156 | + |
| 157 | + * new: rust版本的waitqueue |
| 158 | + |
| 159 | + * new:等待队列的文档 |
| 160 | +
|
| 161 | +commit 3c369b1430e8d571bcc74a8ef7fefc1c4cae5dd2 |
| 162 | +Author: login <longjin@ringotek.cn> |
| 163 | +Date: Mon Jan 30 15:43:42 2023 +0800 |
| 164 | +
|
| 165 | + new:新增rust代码风格 (#161) |
| 166 | +
|
| 167 | +commit c28bd540ac856cd9d8d5597852af8f2588a660e4 |
| 168 | +Author: login <longjin@ringotek.cn> |
| 169 | +Date: Mon Jan 30 15:10:24 2023 +0800 |
| 170 | +
|
| 171 | + 更新赞助者名单 (#160) |
| 172 | + |
| 173 | + * 更新赞赏者列表 |
| 174 | +
|
| 175 | +commit 935f40ec174fec217aed4553d45996327443bc0e |
| 176 | +Author: login <longjin@ringotek.cn> |
| 177 | +Date: Tue Jan 17 21:30:16 2023 +0800 |
| 178 | +
|
| 179 | + new: Rust版本的Mutex (#157) |
| 180 | +
|
| 181 | +commit d8a064128a8a06b90ff4c7b87c193518d9572641 |
| 182 | +Author: Gou Ngai <94795048+AlbertSanoe@users.noreply.github.com> |
| 183 | +Date: Mon Jan 16 19:58:50 2023 +0800 |
| 184 | +
|
| 185 | + Raw spin lock 增加lock_irqsave、unlock_irqrestore(#151) |
| 186 | + |
| 187 | + Raw spin lock 增加lock_irqsave、unlock_irqrestore |
| 188 | +
|
| 189 | +commit 06b09f34ed64a006a80ae8df383e3c8b176f02e0 |
| 190 | +Author: kong <45937622+kkkkkong@users.noreply.github.com> |
| 191 | +Date: Sat Jan 14 22:38:05 2023 +0800 |
| 192 | +
|
| 193 | + Patch sched rust (#139) |
| 194 | + |
| 195 | + * update |
| 196 | + |
| 197 | + * 添加rt调度器的rust初步实现 |
| 198 | + |
| 199 | + * 完善rt调度逻辑 |
| 200 | + |
| 201 | + * 调试rt调度器 |
| 202 | + |
| 203 | + * 修改sched的返回值 |
| 204 | + |
| 205 | + * cargo fmt 格式化 |
| 206 | + |
| 207 | + * 删除无用代码,修补rt bug |
| 208 | + |
| 209 | + * 删除无用的代码,和重复的逻辑 |
| 210 | + |
| 211 | + * 软中断bugfix |
| 212 | + |
| 213 | + * 删除一些代码 |
| 214 | + |
| 215 | + * 添加kthread_run_rt文档 |
| 216 | + |
| 217 | + * 解决sphinix警告_static目录不存在的问题 |
| 218 | + |
| 219 | + Co-authored-by: longjin <longjin@RinGoTek.cn> |
| 220 | +
|
| 221 | +commit ec53d23ed03347854189d92b7e175f309779321b |
| 222 | +Author: login <longjin@ringotek.cn> |
| 223 | +Date: Sat Jan 14 10:35:49 2023 +0800 |
| 224 | +
|
| 225 | + new: 新增具有守卫的自旋锁SpinLock,支持编译期对锁的使用进行检查。 (#148) |
| 226 | +
|
| 227 | +commit 41474ba3df99b6822ce452dc94dc53a4da62cba1 |
| 228 | +Author: login <longjin@ringotek.cn> |
| 229 | +Date: Tue Jan 10 22:07:41 2023 +0800 |
| 230 | +
|
| 231 | + 更新Readme中关于DragonOS的介绍部分 (#146) |
| 232 | +
|
| 233 | +commit 8ad2e358fd3b05eed2919de50640682e51687fb5 |
| 234 | +Author: login <longjin@ringotek.cn> |
| 235 | +Date: Sun Jan 8 15:51:59 2023 +0800 |
| 236 | +
|
| 237 | + 更新about app中的版本号 (#145) |
| 238 | + |
| 239 | + * 更新about app中的版本号 |
| 240 | +
|
| 241 | +commit a8b621c8d1fe77251b8e4eafe258dc0ee7366dd5 |
| 242 | +Author: login <longjin@ringotek.cn> |
| 243 | +Date: Sun Jan 8 15:47:44 2023 +0800 |
| 244 | +
|
| 245 | + 修正由于libc中具有crti.S和crtn.S,造成的与x86_64-elf-gcc不兼容的问题 (#144) |
| 246 | +
|
| 247 | +commit 9358ff0f6f7daa18d6fab4497de025736b3d6725 |
| 248 | +Author: login <longjin@ringotek.cn> |
| 249 | +Date: Sun Jan 8 15:06:52 2023 +0800 |
| 250 | +
|
| 251 | + Add v0.1.3 changelog (#143) |
| 252 | + |
| 253 | + * new: 0.1.3发行日志 |
| 254 | + |
| 255 | + * 新增输出指定时间范围内的贡献者名单的脚本 |
| 256 | + |
| 257 | + * 更新bootloader文档 |
| 258 | + |
| 259 | + * update: 简介文档 |
| 260 | + |
| 261 | + * new: 镜像站文档 |
| 262 | + |
| 263 | + * update: 功能特性文档 |
| 264 | +
|
| 265 | +
|
| 266 | +``` |
0 commit comments