|
| 1 | +# V0.1.7 |
| 2 | + |
| 3 | +:::{note} |
| 4 | +本文作者:龙进 <longjin@DragonOS.org> |
| 5 | + |
| 6 | + |
| 7 | +2023年4月24日 |
| 8 | +::: |
| 9 | + |
| 10 | +## 贡献者名单 |
| 11 | + |
| 12 | +DragonOS V0.1.7版本由以下小伙伴贡献代码: |
| 13 | + |
| 14 | +- 龙进 <longjin@DragonOS.org> |
| 15 | +- 关锦权 <guanjinquan@DragonOS.org> |
| 16 | +- 黄厅 <huangting@DragonOS.org> |
| 17 | +- 侯嘉滢 <houjiaying@DragonOS.org> |
| 18 | +- 吴宇健 <wuyujian@DragonOS.org> |
| 19 | +- 苏琎韬 <sujintao@DragonOS.org> |
| 20 | +- 周瀚杰 <zhouhanjie@DragonOS.org> |
| 21 | +- HoshuChiu <129569557+HoshuChiu@users.noreply.github.com> |
| 22 | +- Bullet <93781792+GP-Bullet@users.noreply.github.com> |
| 23 | + |
| 24 | +## 赞助者名单 |
| 25 | + |
| 26 | +感谢以下同学的赞赏,我们将不断努力! |
| 27 | + |
| 28 | +- 万晓兰 |
| 29 | +- David Wen |
| 30 | +- [Seele.Clover](https://github.com/seeleclover) |
| 31 | +- [FindWangHao](https://github.com/FindWangHao) |
| 32 | +- [ferchiel](https://github.com/ferchiel) |
| 33 | +- 叶锦毅 |
| 34 | +- 林 |
| 35 | +- Albert |
| 36 | +- [TerryLeeSCUT · GitHub](https://github.com/TerryLeeSCUT) |
| 37 | +- slientbard |
| 38 | +- 悟 |
| 39 | +- 匿名热心人士 |
| 40 | + |
| 41 | +## 更新内容-内核 |
| 42 | + |
| 43 | +- scheduler: 修改CFSqueue从Vec变成红黑树 (#229) |
| 44 | +- new: lazy_init (#230) (#236) |
| 45 | +- pci: pci重构+pcie支持 (#235) |
| 46 | +- net: 增加网络子系统,且能在用户态进行编程 (#237) (#247) |
| 47 | +- mm: 调整brk系统调用,使得参数、返回值与Linux一致 (#238) |
| 48 | +- 修改errno,使其与relibc的保持一致 (#234) |
| 49 | +- pci: 修复ecam无法获取MCFG table的问题 (#241) |
| 50 | +- libs: DowncastArc and its docs (#244) |
| 51 | +- softirq: 增加定时器和软中断文档,修改了softirq面向c的接口 (#245) |
| 52 | +- spinlock: 修复spinlock忘记恢复rflags的问题 (#247) |
| 53 | +- waitqueue: 增加wakeup_all和sleep_without_schedule的功能 (#247)(#253) |
| 54 | +- filesystem: 把PollStatus结构体改为使用bitflags库来实现 (#247) |
| 55 | +- filesystem: 增加iovec的支持(暴力实现) (#247) |
| 56 | +- filesystem: 新增SysFS (#250) (#254) |
| 57 | +- driver: 根据sysfs,完善设备驱动模型 (#254) |
| 58 | +- pipe: 匿名管道重构 (#253) |
| 59 | +- irq: 新增IrqArch抽象。以及IrqFlagsGuard。以简化关中断-恢复中断的过程 (#253) |
| 60 | + |
| 61 | + |
| 62 | +## 更新内容-用户环境 |
| 63 | + |
| 64 | +### 新增仓库 |
| 65 | + |
| 66 | +- 新增子项目:[dsc](https://github.com/DragonOS-Community/dsc.git) |
| 67 | +- 新增子项目:[DADK](https://github.com/DragonOS-Community/DADK.git) DragonOS Application Development Kit |
| 68 | + |
| 69 | +### [DragonOS-relibc](https://github.com/DragonOS-Community/relibc.git) |
| 70 | + |
| 71 | +- Add sys_dup and sys_dup2 support (#2) |
| 72 | +- 添加原本的libc的内存分配器,修复对齐问题。 (#6) (#7) |
| 73 | +- 配置网络相关的系统调用 (#8) |
| 74 | +- 修复由于DragonOS不支持TLS(thread local storage)导致errno变量无法正常工作的问题. (#8) |
| 75 | + |
| 76 | +## 更新内容-其他 |
| 77 | + |
| 78 | +- build: 修复Issue#220;vnc的端口号恢复5900 (#243) |
| 79 | +- bootstrap: 解决使用zsh在构建DragonOS时,无法直接使用一键初始化脚本进行安装的问题 (#252) |
| 80 | + |
| 81 | +## 更新内容-软件移植 |
| 82 | + |
| 83 | +无 |
| 84 | + |
| 85 | +## 源码、发布版镜像下载 |
| 86 | + |
| 87 | +  您可以通过以下方式获得源代码: |
| 88 | + |
| 89 | +### 通过Git获取 |
| 90 | + |
| 91 | +- 您可以访问[https://github.com/DragonOS-Community/DragonOS/releases](https://github.com/DragonOS-Community/DragonOS/releases)下载发布版的代码,以及编译好的,可运行的磁盘镜像。 |
| 92 | +- 我们在gitee上也有镜像仓库可供下载:[https://gitee.com/DragonOS/DragonOS](https://gitee.com/DragonOS/DragonOS) |
| 93 | + |
| 94 | +### 通过DragonOS软件镜像站获取 |
| 95 | + |
| 96 | +  为解决国内访问GitHub慢、不稳定的问题,同时为了方便开发者们下载DragonOS的每个版本的代码,我们特意搭建了镜像站,您可以通过以下地址访问镜像站: |
| 97 | + |
| 98 | +  您可以通过镜像站获取到DragonOS的代码压缩包,以及编译好的可运行的磁盘镜像。 |
| 99 | + |
| 100 | +- [https://mirrors.DragonOS.org](https://mirrors.DragonOS.org) |
| 101 | +- [https://mirrors.DragonOS.org.cn](https://mirrors.DragonOS.org.cn) |
| 102 | +- 国内镜像加速: [https://mirrors.ringotek.cn/] (https://mirrors.ringotek.cn/) |
| 103 | + |
| 104 | +## 开放源代码声明 |
| 105 | + |
| 106 | + |
| 107 | +:::{note} |
| 108 | +为促进DragonOS项目的健康发展,DragonOS以GPLv2开源协议进行发布。所有能获得到DragonOS源代码以及相应的软件制品(包括但不限于二进制副本、文档)的人,都能享有我们通过GPLv2协议授予您的权利,同时您也需要遵守协议中规定的义务。 |
| 109 | + |
| 110 | +这是一个相当严格的,保护开源软件健康发展,不被侵占的协议。 |
| 111 | + |
| 112 | +对于大部分的善意的人们而言,您不会违反我们的开源协议。 |
| 113 | + |
| 114 | +我们鼓励DragonOS的自由传播、推广,但是请确保所有行为没有侵犯他人的合法权益,也没有违反GPLv2协议。 |
| 115 | + |
| 116 | +请特别注意,对于违反开源协议的,尤其是**商业闭源使用以及任何剽窃、学术不端行为将会受到严肃的追责**。(这是最容易违反我们的开源协议的场景)。 |
| 117 | + |
| 118 | +并且,请注意,按照GPLv2协议的要求,基于DragonOS修改或二次开发的软件,必须同样采用GPLv2协议开源,并标明其基于DragonOS进行了修改。亦需保证这些修改版本的用户能方便的获取到DragonOS的原始版本。 |
| 119 | + |
| 120 | +您必须使得DragonOS的开发者们,能够以同样的方式,从公开渠道获取到您二次开发的版本的源代码,否则您将违反GPLv2协议。 |
| 121 | + |
| 122 | +关于协议详细内容,还敬请您请阅读项目根目录下的**LICENSE**文件。请注意,按照GPLv2协议的要求,**只有英文原版才具有法律效力**。任何翻译版本都仅供参考。 |
| 123 | +::: |
| 124 | + |
| 125 | +### 开源软件使用情况 |
| 126 | + |
| 127 | +  DragonOS在开发的过程中,参考了一些开源项目的设计,或者引入了他们的部分代码,亦或是受到了他们的启发。现将他们列在下面。我们对这些开源项目的贡献者们致以最衷心的感谢! |
| 128 | + |
| 129 | +格式:<项目名> - <链接> - <开源协议> |
| 130 | + |
| 131 | +- Linux - https://git.kernel.org/ - GPLv2 |
| 132 | +- skiftOS - https://github.com/skiftOS/skift - MIT |
| 133 | +- FYSOS - https://github.com/fysnet/FYSOS - [FYSOS' License](https://github.com/fysnet/FYSOS/blob/9a8968e3d6600de34539c028c843f4c06d134039/license.txt) |
| 134 | +- LemonOS - https://github.com/LemonOSProject/LemonOS.git - BSD 2-Clause License |
| 135 | +- LZ4 - https://github.com/lz4/lz4 - BSD 2-Clause license |
| 136 | +- SerenityOS - https://github.com/SerenityOS/serenity.git - BSD 2-Clause license |
| 137 | +- MINE - 《一个64位操作系统的设计与实现》田宇; 人民邮电出版社 |
| 138 | +- chcore - 《现代操作系统:设计与实现》陈海波,夏虞斌; 机械工业出版社 |
| 139 | +- SimpleKernel - https://github.com/Simple-XX/SimpleKernel - MIT |
| 140 | +- rcore-fs - https://github.com/rcore-os/rcore-fs.git - MIT |
| 141 | +- redox - https://gitlab.redox-os.org/redox-os/redox - MIT |
| 142 | + |
| 143 | +## 当前版本的所有提交记录 |
| 144 | + |
| 145 | +```text |
| 146 | +commit e0de0fd6a52199753a3127cfbb5d12f0a1555aae |
| 147 | +Author: TingHuang <92705854+TingSHub@users.noreply.github.com> |
| 148 | +Date: Sun Apr 23 22:55:57 2023 +0800 |
| 149 | +
|
| 150 | + 根据sysfs完善设备驱动模型 & 添加sysfs官方文档 (#254) |
| 151 | + |
| 152 | + * 根据sysfs完善设备驱动模型 |
| 153 | + |
| 154 | + * 添加sysfs官方文档 |
| 155 | +
|
| 156 | +commit f678331a3315b7847f08ab32b42d5bf49a9f3a6a |
| 157 | +Author: hanjiezhou <zhouhanjie@dragonos.org> |
| 158 | +Date: Sun Apr 23 21:05:10 2023 +0800 |
| 159 | +
|
| 160 | + 匿名管道重构&增加IrqArch trait以及IrqFlags及其守卫 (#253) |
| 161 | + |
| 162 | + * 实现匿名管道 |
| 163 | + |
| 164 | + * 增加IrqArch trait以及IrqFlags及其守卫 |
| 165 | + |
| 166 | + --------- |
| 167 | + |
| 168 | + Co-authored-by: longjin <longjin@RinGoTek.cn> |
| 169 | +
|
| 170 | +commit 8a1e95abb5e4df5e872bb452efc26c9e9631157d |
| 171 | +Author: Bullet <93781792+GP-Bullet@users.noreply.github.com> |
| 172 | +Date: Fri Apr 21 23:36:54 2023 +0800 |
| 173 | +
|
| 174 | + 解决使用zsh在构建DragonOS时,无法直接使用一键初始化脚本进行安装的问题 (#252) |
| 175 | +
|
| 176 | +commit dd9f1fc1a42406461e6f0d38cce1e56e22a1a15f |
| 177 | +Author: TingHuang <92705854+TingSHub@users.noreply.github.com> |
| 178 | +Date: Fri Apr 21 16:03:42 2023 +0800 |
| 179 | +
|
| 180 | + 新增SysFS (#250) |
| 181 | + |
| 182 | + * 添加sysfs |
| 183 | + |
| 184 | + * 注册sysfs |
| 185 | + |
| 186 | + * 添加sysfs相关 |
| 187 | + |
| 188 | + * 添加rust-anlyzer辅助配置 |
| 189 | + |
| 190 | + * 将设备与sysfs相关联 |
| 191 | + |
| 192 | + * 添加单独的文件管理sysfs下的文件夹 |
| 193 | +
|
| 194 | +commit cde5492f725681ed89abe1e6eb088e05d943d793 |
| 195 | +Author: login <longjin@DragonOS.org> |
| 196 | +Date: Wed Apr 19 18:05:02 2023 +0800 |
| 197 | +
|
| 198 | + 新增网络socket的系统调用接口 (#247) |
| 199 | + |
| 200 | + 1.修复spinlock忘记恢复rflags的问题 |
| 201 | + 2.WaitQueue增加wakeup_all的功能 |
| 202 | + 3.完善tcp,udp,raw socket |
| 203 | + 4.把PollStatus结构体改为使用bitflags |
| 204 | + 5.新增iovec结构体 |
| 205 | + 6.完成网络的系统调用 |
| 206 | + 7.在bootstrap里面添加dnsmasq bridge-utils iptables |
| 207 | + |
| 208 | + --------- |
| 209 | + |
| 210 | + Co-authored-by: guanjinquan <1666320330@qq.com> |
| 211 | +
|
| 212 | +commit 8fd71f277271ae68e648f290c67f187b030feae0 |
| 213 | +Author: houmkh <1119644616@qq.com> |
| 214 | +Date: Mon Apr 17 17:17:06 2023 +0800 |
| 215 | +
|
| 216 | + 增加定时器和软中断文档,修改了softirq面向c的接口 (#245) |
| 217 | + |
| 218 | + * 增加定时器和软中断文档 |
| 219 | + |
| 220 | + * 修改softirq对c的接口和文档 |
| 221 | + |
| 222 | + * 修改文档格式 |
| 223 | +
|
| 224 | +commit 77c928f6ce3192c79ea42ab7bcba2713e289f73b |
| 225 | +Author: login <longjin@DragonOS.org> |
| 226 | +Date: Sun Apr 16 20:29:04 2023 +0800 |
| 227 | +
|
| 228 | + new: DowncastArc and its docs (#244) |
| 229 | +
|
| 230 | +commit 7149abaa49a4ca70f0e42ad3b61fdfd6a941a092 |
| 231 | +Author: HoshuChiu <129569557+HoshuChiu@users.noreply.github.com> |
| 232 | +Date: Sun Apr 16 14:47:51 2023 +0800 |
| 233 | +
|
| 234 | + 修复Issue#220;vnc的端口号恢复5900 (#243) |
| 235 | + |
| 236 | + |
| 237 | + * 修复Issue#220 |
| 238 | + |
| 239 | + * qemu-vnc端口号恢复为5900 |
| 240 | +
|
| 241 | +commit 5c1e552cc7f0a6ad75c8a1fa2928e3b9cc619657 |
| 242 | +Author: YJwu2023 <yujianwu2019@gmail.com> |
| 243 | +Date: Fri Apr 14 12:21:08 2023 +0800 |
| 244 | +
|
| 245 | + 修复ecam无法获取MCFG table的问题 (#241) |
| 246 | +
|
| 247 | +commit 79a452ce8f27ad9c7283ac0bcf4078ed6fa018d7 |
| 248 | +Author: houmkh <1119644616@qq.com> |
| 249 | +Date: Tue Apr 11 17:05:33 2023 +0800 |
| 250 | +
|
| 251 | + 修改errno,使其与relibc的保持一致 (#234) |
| 252 | + |
| 253 | + 修改errno,使其与relibc的保持一致 |
| 254 | +
|
| 255 | +commit ac48398d3f17f24ff9b5da5e400ce912d05f0ba2 |
| 256 | +Author: login <longjin@DragonOS.org> |
| 257 | +Date: Tue Apr 11 16:54:14 2023 +0800 |
| 258 | +
|
| 259 | + 调整brk系统调用,使得参数、返回值与Linux一致 (#238) |
| 260 | + |
| 261 | + * 新增用于测试relibc的app |
| 262 | + |
| 263 | + * 为适配relibc,修改do_execve中关于用户栈的内容的设置 |
| 264 | + |
| 265 | + * 调整brk系统调用,使得参数、返回值与Linux一致 |
| 266 | +
|
| 267 | +commit 13776c114b15c406b1e0aaeeb71812ea6e471d2e |
| 268 | +Author: login <longjin@DragonOS.org> |
| 269 | +Date: Mon Apr 10 20:22:39 2023 +0800 |
| 270 | +
|
| 271 | + 增加对dhcpv4的支持(tcp、udp socket已写好,但由于缺少epoll机制,尚未完整测试) (#237) |
| 272 | + |
| 273 | + * 为virtio网卡完成smoltcp的phy层配置 |
| 274 | + |
| 275 | + * raw socket |
| 276 | + |
| 277 | + * 初步写完udp和tcp socket |
| 278 | + |
| 279 | + * 能够正常通过dhcp获取ipv4地址(具有全局iface btree) |
| 280 | + |
| 281 | + --------- |
| 282 | + |
| 283 | + Co-authored-by: guanjinquan <1666320330@qq.com> |
| 284 | +
|
| 285 | +commit 78bf93f02f84bf5e024ddfb559f040e68ce39ccf |
| 286 | +Author: YJwu2023 <yujianwu2019@gmail.com> |
| 287 | +Date: Sun Apr 9 12:30:02 2023 +0800 |
| 288 | +
|
| 289 | + pci重构+pcie支持 (#235) |
| 290 | + |
| 291 | + * pci重构+pcie支持 |
| 292 | + |
| 293 | + * pci重构测试完成 |
| 294 | + |
| 295 | + * 修正makefile的问题 |
| 296 | + |
| 297 | + * 小修改 |
| 298 | + |
| 299 | + * 修改函数名字 |
| 300 | +
|
| 301 | +commit 5c9a63df836eedaca33c8c4c600b7aaeb2caf9a6 |
| 302 | +Author: login <longjin@DragonOS.org> |
| 303 | +Date: Sat Apr 8 23:53:53 2023 +0800 |
| 304 | +
|
| 305 | + Patch add lazy init (#236) |
| 306 | + |
| 307 | + * 修正并发安全问题 |
| 308 | +
|
| 309 | +commit 766127209ee49465a8086cfd0bec90d8b79a96c0 |
| 310 | +Author: login <longjin@DragonOS.org> |
| 311 | +Date: Thu Apr 6 19:01:30 2023 +0800 |
| 312 | +
|
| 313 | + new: lazy_init (#230) |
| 314 | +
|
| 315 | +commit e0dfd4d5d70d1b50fc7ad3ed4bf84b7ba6dad19d |
| 316 | +Author: hanjiezhou <zhouhanjie@dragonos.org> |
| 317 | +Date: Thu Apr 6 00:50:14 2023 +0800 |
| 318 | +
|
| 319 | + 修改CFSqueue从Vec变成红黑树 (#229) |
| 320 | + |
| 321 | + 使用了由tickbh编写的rbtree: https://github.com/tickbh/rbtree-rs/blob/master/src/lib.rs |
| 322 | + |
| 323 | + Co-authored-by: tickbh <tickdream125@hotmail.com> |
| 324 | +
|
| 325 | +commit 2a7d773d3d39f1cb3d59d6baa817c896c6fd52d1 |
| 326 | +Author: TingHuang <92705854+TingSHub@users.noreply.github.com> |
| 327 | +Date: Wed Apr 5 13:02:05 2023 +0800 |
| 328 | +
|
| 329 | + 新增设备驱动模型,为设备和驱动提供高层视图 (#227) |
| 330 | + |
| 331 | + * 添加base mod |
| 332 | + |
| 333 | + * 添加设备驱动模型相关文件 |
| 334 | + |
| 335 | + * 删除单独的mod文件,使用mod.rs,修改一些格式上的问题 |
| 336 | + |
| 337 | + * 移动驱动错误类型到该文件 |
| 338 | + |
| 339 | + * 修改一些格式上的问题 |
| 340 | +
|
| 341 | +commit 5d00b1852818dd4b25952fd6a30deb20e7c7df53 |
| 342 | +Author: login <longjin@DragonOS.org> |
| 343 | +Date: Wed Apr 5 00:53:35 2023 +0800 |
| 344 | +
|
| 345 | + 修复显示刷新线程的空指针问题 (#228) |
| 346 | +
|
| 347 | +``` |
0 commit comments