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