diff --git a/README.md b/README.md index 68732db3a..84961f3c6 100644 --- a/README.md +++ b/README.md @@ -94,6 +94,7 @@ - David Wen - [Seele.Clover](https://github.com/seeleclover) - [FindWangHao](https://github.com/FindWangHao) +- [ferchiel](https://github.com/ferchiel) - 叶锦毅 - 林 - Albert diff --git a/README_EN.md b/README_EN.md index fa17b4cbe..dafd3ed16 100644 --- a/README_EN.md +++ b/README_EN.md @@ -81,6 +81,7 @@ We hope that in the future, some enterprises can sponsor DragonOS and inject fin - David Wen - [Seele.Clover](https://github.com/seeleclover) - [FindWangHao](https://github.com/FindWangHao) +- [ferchiel](https://github.com/ferchiel) - 叶锦毅 - 林 - Albert diff --git a/docs/community/ChangeLog/V0.1.x/V0.1.7.md b/docs/community/ChangeLog/V0.1.x/V0.1.7.md new file mode 100644 index 000000000..20044f28d --- /dev/null +++ b/docs/community/ChangeLog/V0.1.x/V0.1.7.md @@ -0,0 +1,347 @@ +# V0.1.7 + +:::{note} +本文作者:龙进 + + +2023年4月24日 +::: + +## 贡献者名单 + +DragonOS V0.1.7版本由以下小伙伴贡献代码: + +- 龙进 +- 关锦权 +- 黄厅 +- 侯嘉滢 +- 吴宇健 +- 苏琎韬 +- 周瀚杰 +- HoshuChiu <129569557+HoshuChiu@users.noreply.github.com> +- Bullet <93781792+GP-Bullet@users.noreply.github.com> + +## 赞助者名单 + +感谢以下同学的赞赏,我们将不断努力! + +- 万晓兰 +- David Wen +- [Seele.Clover](https://github.com/seeleclover) +- [FindWangHao](https://github.com/FindWangHao) +- [ferchiel](https://github.com/ferchiel) +- 叶锦毅 +- 林 +- Albert +- [TerryLeeSCUT · GitHub](https://github.com/TerryLeeSCUT) +- slientbard +- 悟 +- 匿名热心人士 + +## 更新内容-内核 + +- scheduler: 修改CFSqueue从Vec变成红黑树 (#229) +- new: lazy_init (#230) (#236) +- pci: pci重构+pcie支持 (#235) +- net: 增加网络子系统,且能在用户态进行编程 (#237) (#247) +- mm: 调整brk系统调用,使得参数、返回值与Linux一致 (#238) +- 修改errno,使其与relibc的保持一致 (#234) +- pci: 修复ecam无法获取MCFG table的问题 (#241) +- libs: DowncastArc and its docs (#244) +- softirq: 增加定时器和软中断文档,修改了softirq面向c的接口 (#245) +- spinlock: 修复spinlock忘记恢复rflags的问题 (#247) +- waitqueue: 增加wakeup_all和sleep_without_schedule的功能 (#247)(#253) +- filesystem: 把PollStatus结构体改为使用bitflags库来实现 (#247) +- filesystem: 增加iovec的支持(暴力实现) (#247) +- filesystem: 新增SysFS (#250) (#254) +- driver: 根据sysfs,完善设备驱动模型 (#254) +- pipe: 匿名管道重构 (#253) +- irq: 新增IrqArch抽象。以及IrqFlagsGuard。以简化关中断-恢复中断的过程 (#253) + + +## 更新内容-用户环境 + +### 新增仓库 + +- 新增子项目:[dsc](https://github.com/DragonOS-Community/dsc.git) +- 新增子项目:[DADK](https://github.com/DragonOS-Community/DADK.git) DragonOS Application Development Kit + +### [DragonOS-relibc](https://github.com/DragonOS-Community/relibc.git) + +- Add sys_dup and sys_dup2 support (#2) +- 添加原本的libc的内存分配器,修复对齐问题。 (#6) (#7) +- 配置网络相关的系统调用 (#8) +- 修复由于DragonOS不支持TLS(thread local storage)导致errno变量无法正常工作的问题. (#8) + +## 更新内容-其他 + +- build: 修复Issue#220;vnc的端口号恢复5900 (#243) +- bootstrap: 解决使用zsh在构建DragonOS时,无法直接使用一键初始化脚本进行安装的问题 (#252) + +## 更新内容-软件移植 + +无 + +## 源码、发布版镜像下载 + +  您可以通过以下方式获得源代码: + +### 通过Git获取 + +- 您可以访问[https://github.com/DragonOS-Community/DragonOS/releases](https://github.com/DragonOS-Community/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 +- redox - https://gitlab.redox-os.org/redox-os/redox - MIT + +## 当前版本的所有提交记录 + +```text +commit e0de0fd6a52199753a3127cfbb5d12f0a1555aae +Author: TingHuang <92705854+TingSHub@users.noreply.github.com> +Date: Sun Apr 23 22:55:57 2023 +0800 + + 根据sysfs完善设备驱动模型 & 添加sysfs官方文档 (#254) + + * 根据sysfs完善设备驱动模型 + + * 添加sysfs官方文档 + +commit f678331a3315b7847f08ab32b42d5bf49a9f3a6a +Author: hanjiezhou +Date: Sun Apr 23 21:05:10 2023 +0800 + + 匿名管道重构&增加IrqArch trait以及IrqFlags及其守卫 (#253) + + * 实现匿名管道 + + * 增加IrqArch trait以及IrqFlags及其守卫 + + --------- + + Co-authored-by: longjin + +commit 8a1e95abb5e4df5e872bb452efc26c9e9631157d +Author: Bullet <93781792+GP-Bullet@users.noreply.github.com> +Date: Fri Apr 21 23:36:54 2023 +0800 + + 解决使用zsh在构建DragonOS时,无法直接使用一键初始化脚本进行安装的问题 (#252) + +commit dd9f1fc1a42406461e6f0d38cce1e56e22a1a15f +Author: TingHuang <92705854+TingSHub@users.noreply.github.com> +Date: Fri Apr 21 16:03:42 2023 +0800 + + 新增SysFS (#250) + + * 添加sysfs + + * 注册sysfs + + * 添加sysfs相关 + + * 添加rust-anlyzer辅助配置 + + * 将设备与sysfs相关联 + + * 添加单独的文件管理sysfs下的文件夹 + +commit cde5492f725681ed89abe1e6eb088e05d943d793 +Author: login +Date: Wed Apr 19 18:05:02 2023 +0800 + + 新增网络socket的系统调用接口 (#247) + + 1.修复spinlock忘记恢复rflags的问题 + 2.WaitQueue增加wakeup_all的功能 + 3.完善tcp,udp,raw socket + 4.把PollStatus结构体改为使用bitflags + 5.新增iovec结构体 + 6.完成网络的系统调用 + 7.在bootstrap里面添加dnsmasq bridge-utils iptables + + --------- + + Co-authored-by: guanjinquan <1666320330@qq.com> + +commit 8fd71f277271ae68e648f290c67f187b030feae0 +Author: houmkh <1119644616@qq.com> +Date: Mon Apr 17 17:17:06 2023 +0800 + + 增加定时器和软中断文档,修改了softirq面向c的接口 (#245) + + * 增加定时器和软中断文档 + + * 修改softirq对c的接口和文档 + + * 修改文档格式 + +commit 77c928f6ce3192c79ea42ab7bcba2713e289f73b +Author: login +Date: Sun Apr 16 20:29:04 2023 +0800 + + new: DowncastArc and its docs (#244) + +commit 7149abaa49a4ca70f0e42ad3b61fdfd6a941a092 +Author: HoshuChiu <129569557+HoshuChiu@users.noreply.github.com> +Date: Sun Apr 16 14:47:51 2023 +0800 + + 修复Issue#220;vnc的端口号恢复5900 (#243) + + + * 修复Issue#220 + + * qemu-vnc端口号恢复为5900 + +commit 5c1e552cc7f0a6ad75c8a1fa2928e3b9cc619657 +Author: YJwu2023 +Date: Fri Apr 14 12:21:08 2023 +0800 + + 修复ecam无法获取MCFG table的问题 (#241) + +commit 79a452ce8f27ad9c7283ac0bcf4078ed6fa018d7 +Author: houmkh <1119644616@qq.com> +Date: Tue Apr 11 17:05:33 2023 +0800 + + 修改errno,使其与relibc的保持一致 (#234) + + 修改errno,使其与relibc的保持一致 + +commit ac48398d3f17f24ff9b5da5e400ce912d05f0ba2 +Author: login +Date: Tue Apr 11 16:54:14 2023 +0800 + + 调整brk系统调用,使得参数、返回值与Linux一致 (#238) + + * 新增用于测试relibc的app + + * 为适配relibc,修改do_execve中关于用户栈的内容的设置 + + * 调整brk系统调用,使得参数、返回值与Linux一致 + +commit 13776c114b15c406b1e0aaeeb71812ea6e471d2e +Author: login +Date: Mon Apr 10 20:22:39 2023 +0800 + + 增加对dhcpv4的支持(tcp、udp socket已写好,但由于缺少epoll机制,尚未完整测试) (#237) + + * 为virtio网卡完成smoltcp的phy层配置 + + * raw socket + + * 初步写完udp和tcp socket + + * 能够正常通过dhcp获取ipv4地址(具有全局iface btree) + + --------- + + Co-authored-by: guanjinquan <1666320330@qq.com> + +commit 78bf93f02f84bf5e024ddfb559f040e68ce39ccf +Author: YJwu2023 +Date: Sun Apr 9 12:30:02 2023 +0800 + + pci重构+pcie支持 (#235) + + * pci重构+pcie支持 + + * pci重构测试完成 + + * 修正makefile的问题 + + * 小修改 + + * 修改函数名字 + +commit 5c9a63df836eedaca33c8c4c600b7aaeb2caf9a6 +Author: login +Date: Sat Apr 8 23:53:53 2023 +0800 + + Patch add lazy init (#236) + + * 修正并发安全问题 + +commit 766127209ee49465a8086cfd0bec90d8b79a96c0 +Author: login +Date: Thu Apr 6 19:01:30 2023 +0800 + + new: lazy_init (#230) + +commit e0dfd4d5d70d1b50fc7ad3ed4bf84b7ba6dad19d +Author: hanjiezhou +Date: Thu Apr 6 00:50:14 2023 +0800 + + 修改CFSqueue从Vec变成红黑树 (#229) + + 使用了由tickbh编写的rbtree: https://github.com/tickbh/rbtree-rs/blob/master/src/lib.rs + + Co-authored-by: tickbh + +commit 2a7d773d3d39f1cb3d59d6baa817c896c6fd52d1 +Author: TingHuang <92705854+TingSHub@users.noreply.github.com> +Date: Wed Apr 5 13:02:05 2023 +0800 + + 新增设备驱动模型,为设备和驱动提供高层视图 (#227) + + * 添加base mod + + * 添加设备驱动模型相关文件 + + * 删除单独的mod文件,使用mod.rs,修改一些格式上的问题 + + * 移动驱动错误类型到该文件 + + * 修改一些格式上的问题 + +commit 5d00b1852818dd4b25952fd6a30deb20e7c7df53 +Author: login +Date: Wed Apr 5 00:53:35 2023 +0800 + + 修复显示刷新线程的空指针问题 (#228) + +``` \ No newline at end of file diff --git a/docs/community/ChangeLog/index.rst b/docs/community/ChangeLog/index.rst index 026b8fcdd..2e694c46b 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.7 V0.1.x/V0.1.6 V0.1.x/V0.1.5 V0.1.x/V0.1.4 diff --git a/user/apps/about/about.c b/user/apps/about/about.c index 3daa9ed9a..7bc5d35b4 100644 --- a/user/apps/about/about.c +++ b/user/apps/about/about.c @@ -16,9 +16,9 @@ void print_ascii_logo() void print_copyright() { printf(" DragonOS - An opensource operating system.\n"); - printf(" Copyright: fslongjin & DragonOS Community. 2022, All rights reserved.\n"); + printf(" Copyright: fslongjin & DragonOS Community. 2022-2023, All rights reserved.\n"); printf(" Version: "); - put_string("V0.1.6\n", COLOR_GREEN, COLOR_BLACK); + put_string("V0.1.7\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");