xref: /DragonOS/docs/community/ChangeLog/V0.1.x/V0.1.6.md (revision 083e89172f5b2fcd14bc19c7456d3e336de1b358)
1*083e8917Slogin# V0.1.6
252ab5d90Slogin
352ab5d90Slogin:::{note}
4*083e8917Slogin本文作者:龙进 <longjin@DragonOS.org>
5*083e8917Slogin
652ab5d90Slogin
752ab5d90Slogin2023年4月2日
852ab5d90Slogin:::
952ab5d90Slogin
1052ab5d90Slogin## 贡献者名单
1152ab5d90Slogin
1252ab5d90SloginDragonOS V0.1.6版本由以下小伙伴贡献代码:
1352ab5d90Slogin
1452ab5d90Slogin- 龙进 <longjin@DragonOS.org>
1552ab5d90Slogin- 关锦权 <guanjinquan@DragonOS.org>
1652ab5d90Slogin- 苏琎韬 <sujintao@DragonOS.org>
1752ab5d90Slogin- 侯嘉滢 <houjiaying@DragonOS.org>
1852ab5d90Slogin- 吴宇健 <wuyujian@DragonOS.org>
1952ab5d90Slogin- Mork <91721145+MorkCarpenter@users.noreply.github.com>
2052ab5d90Slogin- WaferJay <17383312+WaferJay@users.noreply.github.com>
2152ab5d90Slogin- HoshuChiu <129569557+HoshuChiu@users.noreply.github.com>
2252ab5d90Slogin
2352ab5d90Slogin## 赞助者名单
2452ab5d90Slogin
2552ab5d90Slogin感谢以下同学的赞赏,我们将不断努力!
2652ab5d90Slogin
2752ab5d90Slogin- 万晓兰
2852ab5d90Slogin- David Wen
2952ab5d90Slogin- [Seele.Clover](https://github.com/seeleclover)
3052ab5d90Slogin- [FindWangHao](https://github.com/FindWangHao)
3152ab5d90Slogin- 叶锦毅
3252ab5d90Slogin- 林
3352ab5d90Slogin- Albert
3452ab5d90Slogin- [TerryLeeSCUT · GitHub](https://github.com/TerryLeeSCUT)
3552ab5d90Slogin- slientbard
3652ab5d90Slogin- 悟
3752ab5d90Slogin- 匿名热心人士
3852ab5d90Slogin
3952ab5d90Slogin## 更新内容-内核
4052ab5d90Slogin
4152ab5d90Slogin- softirq: 重构了软中断 (#223)
4252ab5d90Slogin- timer: 重构了系统定时器 (#223)
4352ab5d90Slogin- stdio: 新增tty设备,用于标准输入输出 (#202) (#217)
4452ab5d90Slogin- lib: 第一套键盘扫描码的状态机 (#216) (#219)
4552ab5d90Slogin- syscall: 新增dup,dup2系统调用 (#224)
4652ab5d90Slogin- syscall: 新增SystemError枚举类型,使得错误处理更清晰 (#205)
4752ab5d90Slogin- driver: 新增x87浮点处理器支持 (#212)
4852ab5d90Slogin- driver: VirtIO网卡能够正常发送、接收数据 (#204)
4952ab5d90Slogin- filesystem: 修正了FAT32判断逻辑,解决了文件系统为FAT12/16时系统无法正常启动的问题。 (#211)
5052ab5d90Slogin- filesystem: 新增VFS文档,以及修改文档配置 (#209)
5152ab5d90Slogin- textui: 修复由于textui加锁,更改了preempt_count导致“进程长时间连续输出字符”的情况下,进程调度器不运行的问题。 (#203)
5252ab5d90Slogin- scheduler: 解决由于在中断上下文以外,sched_enqueue时,未关中断导致cpu_queue双重加锁的问题 (#201)
5352ab5d90Slogin
5452ab5d90Slogin
5552ab5d90Slogin## 更新内容-用户环境
5652ab5d90Slogin
5752ab5d90Slogin### 新增仓库
5852ab5d90Slogin
5952ab5d90Slogin- 新增子项目:[dsc](https://github.com/DragonOS-Community/dsc.git)
6052ab5d90Slogin- 移植relibc: [DragonOS-relibc](https://github.com/DragonOS-Community/relibc.git)
6152ab5d90Slogin
6252ab5d90Slogin## 更新内容-其他
6352ab5d90Slogin
6452ab5d90Slogin- build: 添加了qemu使用VNC作为图像输出的选项 (#222)
6552ab5d90Slogin
6652ab5d90Slogin## 更新内容-软件移植
6752ab5d90Slogin
6852ab5d90Slogin6952ab5d90Slogin
7052ab5d90Slogin## 源码、发布版镜像下载
7152ab5d90Slogin
7252ab5d90Slogin&emsp;&emsp;您可以通过以下方式获得源代码:
7352ab5d90Slogin
7452ab5d90Slogin### 通过Git获取
7552ab5d90Slogin
7652ab5d90Slogin- 您可以访问[https://github.com/DragonOS-Community/DragonOS/releases](https://github.com/DragonOS-Community/DragonOS/releases)下载发布版的代码,以及编译好的,可运行的磁盘镜像。
7752ab5d90Slogin- 我们在gitee上也有镜像仓库可供下载:[https://gitee.com/DragonOS/DragonOS](https://gitee.com/DragonOS/DragonOS)
7852ab5d90Slogin
7952ab5d90Slogin### 通过DragonOS软件镜像站获取
8052ab5d90Slogin
8152ab5d90Slogin&emsp;&emsp;为解决国内访问GitHub慢、不稳定的问题,同时为了方便开发者们下载DragonOS的每个版本的代码,我们特意搭建了镜像站,您可以通过以下地址访问镜像站:
8252ab5d90Slogin
8352ab5d90Slogin&emsp;&emsp;您可以通过镜像站获取到DragonOS的代码压缩包,以及编译好的可运行的磁盘镜像。
8452ab5d90Slogin
8552ab5d90Slogin- [https://mirrors.DragonOS.org](https://mirrors.DragonOS.org)
8652ab5d90Slogin- [https://mirrors.DragonOS.org.cn](https://mirrors.DragonOS.org.cn)
8752ab5d90Slogin- 国内镜像加速: [https://mirrors.ringotek.cn/] (https://mirrors.ringotek.cn/)
8852ab5d90Slogin
8952ab5d90Slogin## 开放源代码声明
9052ab5d90Slogin
9152ab5d90Slogin
9252ab5d90Slogin:::{note}
9352ab5d90Slogin为促进DragonOS项目的健康发展,DragonOS以GPLv2开源协议进行发布。所有能获得到DragonOS源代码以及相应的软件制品(包括但不限于二进制副本、文档)的人,都能享有我们通过GPLv2协议授予您的权利,同时您也需要遵守协议中规定的义务。
9452ab5d90Slogin
9552ab5d90Slogin这是一个相当严格的,保护开源软件健康发展,不被侵占的协议。
9652ab5d90Slogin
9752ab5d90Slogin对于大部分的善意的人们而言,您不会违反我们的开源协议。
9852ab5d90Slogin
9952ab5d90Slogin我们鼓励DragonOS的自由传播、推广,但是请确保所有行为没有侵犯他人的合法权益,也没有违反GPLv2协议。
10052ab5d90Slogin
10152ab5d90Slogin请特别注意,对于违反开源协议的,尤其是**商业闭源使用以及任何剽窃、学术不端行为将会受到严肃的追责**。(这是最容易违反我们的开源协议的场景)。
10252ab5d90Slogin
10352ab5d90Slogin并且,请注意,按照GPLv2协议的要求,基于DragonOS修改或二次开发的软件,必须同样采用GPLv2协议开源,并标明其基于DragonOS进行了修改。亦需保证这些修改版本的用户能方便的获取到DragonOS的原始版本。
10452ab5d90Slogin
10552ab5d90Slogin您必须使得DragonOS的开发者们,能够以同样的方式,从公开渠道获取到您二次开发的版本的源代码,否则您将违反GPLv2协议。
10652ab5d90Slogin
10752ab5d90Slogin关于协议详细内容,还敬请您请阅读项目根目录下的**LICENSE**文件。请注意,按照GPLv2协议的要求,**只有英文原版才具有法律效力**。任何翻译版本都仅供参考。
10852ab5d90Slogin:::
10952ab5d90Slogin
11052ab5d90Slogin### 开源软件使用情况
11152ab5d90Slogin
11252ab5d90Slogin&emsp;&emsp;DragonOS在开发的过程中,参考了一些开源项目的设计,或者引入了他们的部分代码,亦或是受到了他们的启发。现将他们列在下面。我们对这些开源项目的贡献者们致以最衷心的感谢!
11352ab5d90Slogin
11452ab5d90Slogin格式:<项目名> - <链接> - <开源协议>
11552ab5d90Slogin
11652ab5d90Slogin- Linux - 	https://git.kernel.org/ - GPLv2
11752ab5d90Slogin- skiftOS - https://github.com/skiftOS/skift - MIT
11852ab5d90Slogin- FYSOS - https://github.com/fysnet/FYSOS - [FYSOS' License](https://github.com/fysnet/FYSOS/blob/9a8968e3d6600de34539c028c843f4c06d134039/license.txt)
11952ab5d90Slogin- LemonOS - https://github.com/LemonOSProject/LemonOS.git - BSD 2-Clause License
12052ab5d90Slogin- LZ4 - https://github.com/lz4/lz4 - BSD 2-Clause license
12152ab5d90Slogin- SerenityOS - https://github.com/SerenityOS/serenity.git - BSD 2-Clause license
12252ab5d90Slogin- MINE - 《一个64位操作系统的设计与实现》田宇; 人民邮电出版社
12352ab5d90Slogin- chcore - 《现代操作系统:设计与实现》陈海波,夏虞斌; 机械工业出版社
12452ab5d90Slogin- SimpleKernel - https://github.com/Simple-XX/SimpleKernel - MIT
12552ab5d90Slogin- rcore-fs - https://github.com/rcore-os/rcore-fs.git - MIT
12652ab5d90Slogin- redox - https://gitlab.redox-os.org/redox-os/redox - MIT
12752ab5d90Slogin
12852ab5d90Slogin## 当前版本的所有提交记录
12952ab5d90Slogin
13052ab5d90Slogin```text
13152ab5d90Slogincommit bacd691c9ef0502b5cc618aad50517f9e59df5e0
13252ab5d90SloginAuthor: login <longjin@DragonOS.org>
13352ab5d90SloginDate:   Sun Apr 2 17:09:33 2023 +0800
13452ab5d90Slogin
13552ab5d90Slogin    软中断&定时器重构 (#223)
13652ab5d90Slogin
13752ab5d90Slogin    * 软中断&定时器重构
13852ab5d90Slogin
13952ab5d90Slogin    Co-authored-by: houmkh<houjiaying@DragonOS.org>
14052ab5d90Slogin
14152ab5d90Slogin    * 修改timer的clock()
14252ab5d90Slogin
14352ab5d90Slogin    * 删除debug信息
14452ab5d90Slogin
14552ab5d90Slogin    ---------
14652ab5d90Slogin
14752ab5d90Slogin    Co-authored-by: houmkh <1119644616@qq.com>
14852ab5d90Slogin
14952ab5d90Slogincommit 6d345b774223b0daaf0ee629c7fb595a1912a9e2
15052ab5d90SloginAuthor: HoshuChiu <129569557+HoshuChiu@users.noreply.github.com>
15152ab5d90SloginDate:   Sun Apr 2 15:55:24 2023 +0800
15252ab5d90Slogin
15352ab5d90Slogin    添加了qemu使用VNC作为图像输出的选项 (#222)
15452ab5d90Slogin
15552ab5d90Slogin    * 添加了qemu使用VNC作为图像输出的选项
15652ab5d90Slogin
15752ab5d90Slogin    * 设置vnc端口为5900
15852ab5d90Slogin
15952ab5d90Slogin    ---------
16052ab5d90Slogin
16152ab5d90Slogin    Co-authored-by: longjin <longjin@RinGoTek.cn>
16252ab5d90Slogin
16352ab5d90Slogincommit 2b771e32f5795e0fdda458e3bb2651ef6b9673ac
16452ab5d90SloginAuthor: Gou Ngai <sujintao@dragonos.org>
16552ab5d90SloginDate:   Sun Apr 2 15:43:53 2023 +0800
16652ab5d90Slogin
16752ab5d90Slogin    Add dup,dup2 (#224)
16852ab5d90Slogin
16952ab5d90Slogin    * dup,dup2
17052ab5d90Slogin
17152ab5d90Slogin    * fix: sys_dup2语义与posix不一致的问题
17252ab5d90Slogin
17352ab5d90Slogin    ---------
17452ab5d90Slogin
17552ab5d90Slogin    Co-authored-by: longjin <longjin@RinGoTek.cn>
17652ab5d90Slogin
17752ab5d90Slogincommit d7b31a969ff091224a4929496f0278d024f78c77
17852ab5d90SloginAuthor: Gou Ngai <sujintao@dragonos.org>
17952ab5d90SloginDate:   Fri Mar 31 18:23:58 2023 +0800
18052ab5d90Slogin
18152ab5d90Slogin    Patch keyboard capslock alt (#219)
18252ab5d90Slogin
18352ab5d90Slogin    * keyboard-alt-capslock
18452ab5d90Slogin
18552ab5d90Slogin    * 解决键盘输入'%'字符的时候无法回显的bug
18652ab5d90Slogin
18752ab5d90Slogin    ---------
18852ab5d90Slogin
18952ab5d90Slogin    Co-authored-by: longjin <longjin@RinGoTek.cn>
19052ab5d90Slogin
19152ab5d90Slogincommit 20e3152e1eea97f87d644c3023391e172bc83c93
19252ab5d90SloginAuthor: login <longjin@DragonOS.org>
19352ab5d90SloginDate:   Fri Mar 31 12:54:37 2023 +0800
19452ab5d90Slogin
19552ab5d90Slogin    将TTY与stdio进行连接,实现基本的stdio功能 (#217)
19652ab5d90Slogin
19752ab5d90Slogin    * 将stdio与tty接上
19852ab5d90Slogin
19952ab5d90Slogincommit 5fb12ce447710edf8566f250655a06cb27519fca
20052ab5d90SloginAuthor: Gou Ngai <sujintao@dragonos.org>
20152ab5d90SloginDate:   Thu Mar 30 18:19:02 2023 +0800
20252ab5d90Slogin
20352ab5d90Slogin    第一套键盘扫描码的状态机 (#216)
20452ab5d90Slogin
20552ab5d90Slogin    第一套键盘扫描码的状态机
20652ab5d90Slogin    ---------
20752ab5d90Slogin
20852ab5d90Slogin    Co-authored-by: guanjinquan <1666320330@qq.com>
20952ab5d90Slogin    Co-authored-by: longjin <longjin@RinGoTek.cn>
21052ab5d90Slogin
21152ab5d90Slogincommit 676b8ef62e1a0a1e52d65b40c53c1636a2954040
21252ab5d90SloginAuthor: Mork <91721145+MorkCarpenter@users.noreply.github.com>
21352ab5d90SloginDate:   Wed Mar 29 21:24:11 2023 +0800
21452ab5d90Slogin
21552ab5d90Slogin    部分函数从返回值为Result<<>,i32>修改为Result<<>,SystemError> (#210)
21652ab5d90Slogin
21752ab5d90Slogin    * 将Result<<>,i32>替换为Result<<>,SystemError>
21852ab5d90Slogin    * bugfix: 显示双缓冲区初始化的时候,连续注册了两次Video Softirq的问题。
21952ab5d90Slogin
22052ab5d90Slogin    Co-authored-by: longjin <longjin@RinGoTek.cn>
22152ab5d90Slogin
22252ab5d90Slogincommit 64aea4b3494bee7375e1c1ee5739c9fab0db0cb7
22352ab5d90SloginAuthor: Gou Ngai <sujintao@dragonos.org>
22452ab5d90SloginDate:   Tue Mar 28 20:44:26 2023 +0800
22552ab5d90Slogin
22652ab5d90Slogin    增加x87FPU支持 (#212)
22752ab5d90Slogin
22852ab5d90Slogin    * remove `ret_from_syscall`
22952ab5d90Slogin    *修复ps2键盘驱动程序inode在进程fork的时候导致死锁的问题.
23052ab5d90Slogin    *更新: VFS每次拷贝文件描述符的时候,都会去调用inode的open函数
23152ab5d90Slogin
23252ab5d90Slogin    ---------
23352ab5d90Slogin
23452ab5d90Slogin    Co-authored-by: longjin <longjin@RinGoTek.cn>
23552ab5d90Slogin
23652ab5d90Slogincommit 2286eda6526ed1b46afd79b47dc701034b9e903d
23752ab5d90SloginAuthor: WaferJay <17383312+WaferJay@users.noreply.github.com>
23852ab5d90SloginDate:   Mon Mar 27 09:32:43 2023 +0800
23952ab5d90Slogin
24052ab5d90Slogin    修正了FAT32判断逻辑,解决了文件系统为FAT12/16时系统无法正常启动的问题。 (#211)
24152ab5d90Slogin
24252ab5d90Slogin    * fix(fat): fix determination of fat type casue crash if fs is fat12/16
24352ab5d90Slogin
24452ab5d90Slogin    * refactor(fat): split BiosParameterBlock.validate() into BiosParameterBlockFAT32.validate() and BiosParameterBlockLegacy.validate()
24552ab5d90Slogin
24652ab5d90Slogin    * 调整“最大允许的簇号”的常量放置的位置。
24752ab5d90Slogin
24852ab5d90Slogin    ---------
24952ab5d90Slogin
25052ab5d90Slogin    Co-authored-by: longjin <longjin@RinGoTek.cn>
25152ab5d90Slogin
25252ab5d90Slogincommit 45b8371173b070028457f7ee64be33f68b4f9ada
25352ab5d90SloginAuthor: login <longjin@DragonOS.org>
25452ab5d90SloginDate:   Sat Mar 25 14:51:16 2023 +0800
25552ab5d90Slogin
25652ab5d90Slogin    新增VFS文档,以及修改文档配置 (#209)
25752ab5d90Slogin
25852ab5d90Slogin    * 1.新增vfs设计文档
25952ab5d90Slogin    2.修改文档版权标志为"2022-2023, DragonOS Community"
26052ab5d90Slogin    3.修改电脑版文档页面的宽度为90%
26152ab5d90Slogin
26252ab5d90Slogin    * layout.html末尾加空行
26352ab5d90Slogin
26452ab5d90Slogincommit 73c607aaddf6e4634cad179a81d3f1bc589f7220
26552ab5d90SloginAuthor: YJwu2023 <119829947+YJwu2023@users.noreply.github.com>
26652ab5d90SloginDate:   Sat Mar 18 20:43:37 2023 +0800
26752ab5d90Slogin
26852ab5d90Slogin    VirtIO网卡能够正常发送、接收数据 (#204)
26952ab5d90Slogin
27052ab5d90Slogin    * virtio-net小修改
27152ab5d90Slogin
27252ab5d90Slogin    * 移动volatile.rs到libs文件夹
27352ab5d90Slogin
27452ab5d90Slogin    * 使用virtio-drivers 0.3.0
27552ab5d90Slogin
27652ab5d90Slogin    * bugfix: 初始化BAR之后,未正确设置command register的问题
27752ab5d90Slogin
27852ab5d90Slogin
27952ab5d90Slogin    ---------
28052ab5d90Slogin
28152ab5d90Slogin    Co-authored-by: longjin <longjin@dragonos.org>
28252ab5d90Slogin
28352ab5d90Slogincommit 4454d1a2dd1f1078750151c028a794cfd9a04a1b
28452ab5d90SloginAuthor: login <longjin@DragonOS.org>
28552ab5d90SloginDate:   Sat Mar 18 20:26:05 2023 +0800
28652ab5d90Slogin
28752ab5d90Slogin    新增SystemError枚举类型,使得错误处理更清晰 (#205)
28852ab5d90Slogin
28952ab5d90Slogincommit 0d48c3c9c21a2dd470d0e1e58b507db60e0887bb
29052ab5d90SloginAuthor: login <longjin@DragonOS.org>
29152ab5d90SloginDate:   Thu Mar 16 19:48:59 2023 +0800
29252ab5d90Slogin
29352ab5d90Slogin    new: tty设备(尚未与stdio接上) (#202)
29452ab5d90Slogin
29552ab5d90Slogincommit 790d45764090bce3bbfb96b42b2818100a8cef9a
29652ab5d90SloginAuthor: login <longjin@DragonOS.org>
29752ab5d90SloginDate:   Wed Mar 15 11:42:41 2023 +0800
29852ab5d90Slogin
29952ab5d90Slogin    修复由于textui加锁,更改了preempt_count导致“进程长时间连续输出字符”的情况下,进程调度器不运行的问题。 (#203)
30052ab5d90Slogin
30152ab5d90Slogincommit c2e757d8cbeed01b16f48bea48ed8447685e6f1a
30252ab5d90SloginAuthor: login <longjin@DragonOS.org>
30352ab5d90SloginDate:   Mon Mar 13 22:22:23 2023 +0800
30452ab5d90Slogin
30552ab5d90Slogin    解决由于在中断上下文以外,sched_enqueue时,未关中断导致cpu_queue双重加锁的问题 (#201)
30652ab5d90Slogin
30752ab5d90Slogin```