|
| 1 | +# V0.1.5 |
| 2 | + |
| 3 | +:::{note} |
| 4 | + |
| 5 | + |
| 6 | +2023年4月2日 |
| 7 | +::: |
| 8 | + |
| 9 | +## 贡献者名单 |
| 10 | + |
| 11 | +DragonOS V0.1.6版本由以下小伙伴贡献代码: |
| 12 | + |
| 13 | + |
| 14 | + |
| 15 | + |
| 16 | + |
| 17 | + |
| 18 | + |
| 19 | + |
| 20 | + |
| 21 | + |
| 22 | +## 赞助者名单 |
| 23 | + |
| 24 | +感谢以下同学的赞赏,我们将不断努力! |
| 25 | + |
| 26 | +- 万晓兰 |
| 27 | +- David Wen |
| 28 | +- [Seele.Clover](https://github.com/seeleclover) |
| 29 | +- [FindWangHao](https://github.com/FindWangHao) |
| 30 | +- 叶锦毅 |
| 31 | +- 林 |
| 32 | +- Albert |
| 33 | +- [TerryLeeSCUT · GitHub](https://github.com/TerryLeeSCUT) |
| 34 | +- slientbard |
| 35 | +- 悟 |
| 36 | +- 匿名热心人士 |
| 37 | + |
| 38 | +## 更新内容-内核 |
| 39 | + |
| 40 | +- softirq: 重构了软中断 (#223) |
| 41 | +- timer: 重构了系统定时器 (#223) |
| 42 | +- stdio: 新增tty设备,用于标准输入输出 (#202) (#217) |
| 43 | +- lib: 第一套键盘扫描码的状态机 (#216) (#219) |
| 44 | +- syscall: 新增dup,dup2系统调用 (#224) |
| 45 | +- syscall: 新增SystemError枚举类型,使得错误处理更清晰 (#205) |
| 46 | +- driver: 新增x87浮点处理器支持 (#212) |
| 47 | +- driver: VirtIO网卡能够正常发送、接收数据 (#204) |
| 48 | +- filesystem: 修正了FAT32判断逻辑,解决了文件系统为FAT12/16时系统无法正常启动的问题。 (#211) |
| 49 | +- filesystem: 新增VFS文档,以及修改文档配置 (#209) |
| 50 | +- textui: 修复由于textui加锁,更改了preempt_count导致“进程长时间连续输出字符”的情况下,进程调度器不运行的问题。 (#203) |
| 51 | +- scheduler: 解决由于在中断上下文以外,sched_enqueue时,未关中断导致cpu_queue双重加锁的问题 (#201) |
| 52 | + |
| 53 | + |
| 54 | +## 更新内容-用户环境 |
| 55 | + |
| 56 | +### 新增仓库 |
| 57 | + |
| 58 | +- 新增子项目:[dsc](https://github.com/DragonOS-Community/dsc.git) |
| 59 | +- 移植relibc: [DragonOS-relibc](https://github.com/DragonOS-Community/relibc.git) |
| 60 | + |
| 61 | +## 更新内容-其他 |
| 62 | + |
| 63 | +- build: 添加了qemu使用VNC作为图像输出的选项 (#222) |
| 64 | + |
| 65 | +## 更新内容-软件移植 |
| 66 | + |
| 67 | +无 |
| 68 | + |
| 69 | +## 源码、发布版镜像下载 |
| 70 | + |
| 71 | +  您可以通过以下方式获得源代码: |
| 72 | + |
| 73 | +### 通过Git获取 |
| 74 | + |
| 75 | +- 您可以访问[https://github.com/DragonOS-Community/DragonOS/releases](https://github.com/DragonOS-Community/DragonOS/releases)下载发布版的代码,以及编译好的,可运行的磁盘镜像。 |
| 76 | +- 我们在gitee上也有镜像仓库可供下载:[https://gitee.com/DragonOS/DragonOS](https://gitee.com/DragonOS/DragonOS) |
| 77 | + |
| 78 | +### 通过DragonOS软件镜像站获取 |
| 79 | + |
| 80 | +  为解决国内访问GitHub慢、不稳定的问题,同时为了方便开发者们下载DragonOS的每个版本的代码,我们特意搭建了镜像站,您可以通过以下地址访问镜像站: |
| 81 | + |
| 82 | +  您可以通过镜像站获取到DragonOS的代码压缩包,以及编译好的可运行的磁盘镜像。 |
| 83 | + |
| 84 | +- [https://mirrors.DragonOS.org](https://mirrors.DragonOS.org) |
| 85 | +- [https://mirrors.DragonOS.org.cn](https://mirrors.DragonOS.org.cn) |
| 86 | +- 国内镜像加速: [https://mirrors.ringotek.cn/] (https://mirrors.ringotek.cn/) |
| 87 | + |
| 88 | +## 开放源代码声明 |
| 89 | + |
| 90 | + |
| 91 | +:::{note} |
| 92 | +为促进DragonOS项目的健康发展,DragonOS以GPLv2开源协议进行发布。所有能获得到DragonOS源代码以及相应的软件制品(包括但不限于二进制副本、文档)的人,都能享有我们通过GPLv2协议授予您的权利,同时您也需要遵守协议中规定的义务。 |
| 93 | + |
| 94 | +这是一个相当严格的,保护开源软件健康发展,不被侵占的协议。 |
| 95 | + |
| 96 | +对于大部分的善意的人们而言,您不会违反我们的开源协议。 |
| 97 | + |
| 98 | +我们鼓励DragonOS的自由传播、推广,但是请确保所有行为没有侵犯他人的合法权益,也没有违反GPLv2协议。 |
| 99 | + |
| 100 | +请特别注意,对于违反开源协议的,尤其是**商业闭源使用以及任何剽窃、学术不端行为将会受到严肃的追责**。(这是最容易违反我们的开源协议的场景)。 |
| 101 | + |
| 102 | +并且,请注意,按照GPLv2协议的要求,基于DragonOS修改或二次开发的软件,必须同样采用GPLv2协议开源,并标明其基于DragonOS进行了修改。亦需保证这些修改版本的用户能方便的获取到DragonOS的原始版本。 |
| 103 | + |
| 104 | +您必须使得DragonOS的开发者们,能够以同样的方式,从公开渠道获取到您二次开发的版本的源代码,否则您将违反GPLv2协议。 |
| 105 | + |
| 106 | +关于协议详细内容,还敬请您请阅读项目根目录下的**LICENSE**文件。请注意,按照GPLv2协议的要求,**只有英文原版才具有法律效力**。任何翻译版本都仅供参考。 |
| 107 | +::: |
| 108 | + |
| 109 | +### 开源软件使用情况 |
| 110 | + |
| 111 | +  DragonOS在开发的过程中,参考了一些开源项目的设计,或者引入了他们的部分代码,亦或是受到了他们的启发。现将他们列在下面。我们对这些开源项目的贡献者们致以最衷心的感谢! |
| 112 | + |
| 113 | +格式:<项目名> - <链接> - <开源协议> |
| 114 | + |
| 115 | +- Linux - https://git.kernel.org/ - GPLv2 |
| 116 | +- skiftOS - https://github.com/skiftOS/skift - MIT |
| 117 | +- FYSOS - https://github.com/fysnet/FYSOS - [FYSOS' License](https://github.com/fysnet/FYSOS/blob/9a8968e3d6600de34539c028c843f4c06d134039/license.txt) |
| 118 | +- LemonOS - https://github.com/LemonOSProject/LemonOS.git - BSD 2-Clause License |
| 119 | +- LZ4 - https://github.com/lz4/lz4 - BSD 2-Clause license |
| 120 | +- SerenityOS - https://github.com/SerenityOS/serenity.git - BSD 2-Clause license |
| 121 | +- MINE - 《一个64位操作系统的设计与实现》田宇; 人民邮电出版社 |
| 122 | +- chcore - 《现代操作系统:设计与实现》陈海波,夏虞斌; 机械工业出版社 |
| 123 | +- SimpleKernel - https://github.com/Simple-XX/SimpleKernel - MIT |
| 124 | +- rcore-fs - https://github.com/rcore-os/rcore-fs.git - MIT |
| 125 | +- redox - https://gitlab.redox-os.org/redox-os/redox - MIT |
| 126 | + |
| 127 | +## 当前版本的所有提交记录 |
| 128 | + |
| 129 | +```text |
| 130 | +commit bacd691c9ef0502b5cc618aad50517f9e59df5e0 |
| 131 | + |
| 132 | +Date: Sun Apr 2 17:09:33 2023 +0800 |
| 133 | +
|
| 134 | + 软中断&定时器重构 (#223) |
| 135 | + |
| 136 | + * 软中断&定时器重构 |
| 137 | + |
| 138 | + Co-authored-by: houmkh<[email protected]> |
| 139 | + |
| 140 | + * 修改timer的clock() |
| 141 | + |
| 142 | + * 删除debug信息 |
| 143 | + |
| 144 | + --------- |
| 145 | + |
| 146 | + Co-authored-by: houmkh <[email protected]> |
| 147 | +
|
| 148 | +commit 6d345b774223b0daaf0ee629c7fb595a1912a9e2 |
| 149 | +Author: HoshuChiu <[email protected]> |
| 150 | +Date: Sun Apr 2 15:55:24 2023 +0800 |
| 151 | +
|
| 152 | + 添加了qemu使用VNC作为图像输出的选项 (#222) |
| 153 | + |
| 154 | + * 添加了qemu使用VNC作为图像输出的选项 |
| 155 | + |
| 156 | + * 设置vnc端口为5900 |
| 157 | + |
| 158 | + --------- |
| 159 | + |
| 160 | + Co-authored-by: longjin <[email protected]> |
| 161 | +
|
| 162 | +commit 2b771e32f5795e0fdda458e3bb2651ef6b9673ac |
| 163 | +Author: Gou Ngai <[email protected]> |
| 164 | +Date: Sun Apr 2 15:43:53 2023 +0800 |
| 165 | +
|
| 166 | + Add dup,dup2 (#224) |
| 167 | + |
| 168 | + * dup,dup2 |
| 169 | + |
| 170 | + * fix: sys_dup2语义与posix不一致的问题 |
| 171 | + |
| 172 | + --------- |
| 173 | + |
| 174 | + Co-authored-by: longjin <[email protected]> |
| 175 | +
|
| 176 | +commit d7b31a969ff091224a4929496f0278d024f78c77 |
| 177 | +Author: Gou Ngai <[email protected]> |
| 178 | +Date: Fri Mar 31 18:23:58 2023 +0800 |
| 179 | +
|
| 180 | + Patch keyboard capslock alt (#219) |
| 181 | + |
| 182 | + * keyboard-alt-capslock |
| 183 | + |
| 184 | + * 解决键盘输入'%'字符的时候无法回显的bug |
| 185 | + |
| 186 | + --------- |
| 187 | + |
| 188 | + Co-authored-by: longjin <[email protected]> |
| 189 | +
|
| 190 | +commit 20e3152e1eea97f87d644c3023391e172bc83c93 |
| 191 | + |
| 192 | +Date: Fri Mar 31 12:54:37 2023 +0800 |
| 193 | +
|
| 194 | + 将TTY与stdio进行连接,实现基本的stdio功能 (#217) |
| 195 | + |
| 196 | + * 将stdio与tty接上 |
| 197 | +
|
| 198 | +commit 5fb12ce447710edf8566f250655a06cb27519fca |
| 199 | +Author: Gou Ngai <[email protected]> |
| 200 | +Date: Thu Mar 30 18:19:02 2023 +0800 |
| 201 | +
|
| 202 | + 第一套键盘扫描码的状态机 (#216) |
| 203 | + |
| 204 | + 第一套键盘扫描码的状态机 |
| 205 | + --------- |
| 206 | + |
| 207 | + Co-authored-by: guanjinquan <[email protected]> |
| 208 | + Co-authored-by: longjin <[email protected]> |
| 209 | +
|
| 210 | +commit 676b8ef62e1a0a1e52d65b40c53c1636a2954040 |
| 211 | + |
| 212 | +Date: Wed Mar 29 21:24:11 2023 +0800 |
| 213 | +
|
| 214 | + 部分函数从返回值为Result<<>,i32>修改为Result<<>,SystemError> (#210) |
| 215 | + |
| 216 | + * 将Result<<>,i32>替换为Result<<>,SystemError> |
| 217 | + * bugfix: 显示双缓冲区初始化的时候,连续注册了两次Video Softirq的问题。 |
| 218 | + |
| 219 | + Co-authored-by: longjin <[email protected]> |
| 220 | +
|
| 221 | +commit 64aea4b3494bee7375e1c1ee5739c9fab0db0cb7 |
| 222 | +Author: Gou Ngai <[email protected]> |
| 223 | +Date: Tue Mar 28 20:44:26 2023 +0800 |
| 224 | +
|
| 225 | + 增加x87FPU支持 (#212) |
| 226 | + |
| 227 | + * remove `ret_from_syscall` |
| 228 | + *修复ps2键盘驱动程序inode在进程fork的时候导致死锁的问题. |
| 229 | + *更新: VFS每次拷贝文件描述符的时候,都会去调用inode的open函数 |
| 230 | + |
| 231 | + --------- |
| 232 | + |
| 233 | + Co-authored-by: longjin <[email protected]> |
| 234 | +
|
| 235 | +commit 2286eda6526ed1b46afd79b47dc701034b9e903d |
| 236 | +Author: WaferJay <[email protected]> |
| 237 | +Date: Mon Mar 27 09:32:43 2023 +0800 |
| 238 | +
|
| 239 | + 修正了FAT32判断逻辑,解决了文件系统为FAT12/16时系统无法正常启动的问题。 (#211) |
| 240 | + |
| 241 | + * fix(fat): fix determination of fat type casue crash if fs is fat12/16 |
| 242 | + |
| 243 | + * refactor(fat): split BiosParameterBlock.validate() into BiosParameterBlockFAT32.validate() and BiosParameterBlockLegacy.validate() |
| 244 | + |
| 245 | + * 调整“最大允许的簇号”的常量放置的位置。 |
| 246 | + |
| 247 | + --------- |
| 248 | + |
| 249 | + Co-authored-by: longjin <[email protected]> |
| 250 | +
|
| 251 | +commit 45b8371173b070028457f7ee64be33f68b4f9ada |
| 252 | + |
| 253 | +Date: Sat Mar 25 14:51:16 2023 +0800 |
| 254 | +
|
| 255 | + 新增VFS文档,以及修改文档配置 (#209) |
| 256 | + |
| 257 | + * 1.新增vfs设计文档 |
| 258 | + 2.修改文档版权标志为"2022-2023, DragonOS Community" |
| 259 | + 3.修改电脑版文档页面的宽度为90% |
| 260 | + |
| 261 | + * layout.html末尾加空行 |
| 262 | +
|
| 263 | +commit 73c607aaddf6e4634cad179a81d3f1bc589f7220 |
| 264 | +Author: YJwu2023 <[email protected]> |
| 265 | +Date: Sat Mar 18 20:43:37 2023 +0800 |
| 266 | +
|
| 267 | + VirtIO网卡能够正常发送、接收数据 (#204) |
| 268 | + |
| 269 | + * virtio-net小修改 |
| 270 | + |
| 271 | + * 移动volatile.rs到libs文件夹 |
| 272 | + |
| 273 | + * 使用virtio-drivers 0.3.0 |
| 274 | + |
| 275 | + * bugfix: 初始化BAR之后,未正确设置command register的问题 |
| 276 | + |
| 277 | + |
| 278 | + --------- |
| 279 | + |
| 280 | + Co-authored-by: longjin <[email protected]> |
| 281 | +
|
| 282 | +commit 4454d1a2dd1f1078750151c028a794cfd9a04a1b |
| 283 | + |
| 284 | +Date: Sat Mar 18 20:26:05 2023 +0800 |
| 285 | +
|
| 286 | + 新增SystemError枚举类型,使得错误处理更清晰 (#205) |
| 287 | +
|
| 288 | +commit 0d48c3c9c21a2dd470d0e1e58b507db60e0887bb |
| 289 | + |
| 290 | +Date: Thu Mar 16 19:48:59 2023 +0800 |
| 291 | +
|
| 292 | + new: tty设备(尚未与stdio接上) (#202) |
| 293 | +
|
| 294 | +commit 790d45764090bce3bbfb96b42b2818100a8cef9a |
| 295 | + |
| 296 | +Date: Wed Mar 15 11:42:41 2023 +0800 |
| 297 | +
|
| 298 | + 修复由于textui加锁,更改了preempt_count导致“进程长时间连续输出字符”的情况下,进程调度器不运行的问题。 (#203) |
| 299 | +
|
| 300 | +commit c2e757d8cbeed01b16f48bea48ed8447685e6f1a |
| 301 | + |
| 302 | +Date: Mon Mar 13 22:22:23 2023 +0800 |
| 303 | +
|
| 304 | + 解决由于在中断上下文以外,sched_enqueue时,未关中断导致cpu_queue双重加锁的问题 (#201) |
| 305 | +
|
| 306 | +``` |
0 commit comments