xref: /DragonOS/docs/community/ChangeLog/V0.1.x/V0.1.10.md (revision f79998f626801329580c782fd05e36cb2027f474)
1# V0.1.10
2
3:::{note}
4本文作者:龙进 <longjin@DragonOS.org>
5
6DragonOS官方论坛:[bbs.dragonos.org.cn](https://bbs.dragonos.org.cn)
7
82024年5月13日
9:::
10
11## 简介
12
13&emsp;&emsp;本次版本更新,引入了42个feature类型的PR,24个bug修复,5个文档更新,以及一些软件移植、ci相关的内容。
14
15&emsp;&emsp;当前版本核心看点:
16
17- 对调度子系统进行了重构
18- 能在riscv64下运行到hello world应用程序
19- 内存管理子系统引入了匿名页反向映射、写时拷贝以及延迟分配的特性
20- 文件系统引入了大量的新的系统接口
21- 实现了pty,并能运行简单的ssh服务端
22
23
24## 赞助商列表
25
26- **[中国雅云](https://yacloud.net)** 雅安大数据产业园为DragonOS提供了云服务器支持。
27
28## 更新内容-内核
29
30- feat(fs): 实现了sys_rename (#578)
31- feat(fs): 实现get_pathname (#615)
32- feat(kernel): 实现uname系统调用 (#614)
33- feat(fs): 添加mount系统调用 (#561)
34- feat(smp): 重写SMP模块 (#633)
35- feat(fs): 添加Statx系统调用 (#632)
36- feat(riscv64): 添加flush tlb的ipi (#636)
37- feat(fs): 实现SYS_LINK和SYS_LINKAT (#611)
38- fix(fs): mkdir输出错误信息;
39- fix(clippy): 修复内核的clippy检查报错 (#637)
40- feat(net): 实现socketpair (#576)
41- feat(process/riscv): 进程管理初始化 (#654)
42- fix(time): 修复clock_gettime返回类型错误,修复小时间间隔duration返回0问题 (#664)
43- fix(driver/base): 把Device trait的set_class改为设置Weak指针,以避免循环引用问题。 (#666)
44- feat(textui): 支持绘制24位深和16位深显示缓冲区 (#640)
45- fix(driver/tty): 修复tty设备显示在/sys目录下的bug (#668)
46- feat(fs): 新加结构体POSIXSTATFS与SuperBlock用于处理statfs系统调用 (#667)
47- feat(driver/rtc):实现了rtc的抽象,并且把x86的cmos rtc接入到设备驱动模型 (#674)
48- fix(net): 修复udp bind的时候,对port0处理不正确的问题(#676)
49- fix(fs/ramfs): 修复了ramfs中move_to未更新parent字段的bug (#673)
50- feat(mm): 实现页面反向映射 (#670)
51- fix(misc): 修复get_ramdom的长度错误问题() (#677)
52- feat(process/riscv): riscv64: switch process (#678)
53- fix(misc): 使nproc可以正确获取到cpu核心数 (#689)
54- fix(time): 修复jiffy时钟过快问题,启用gettimeofday测试,修改mount测试 (#680)
55- feat(driver/pty): 实现pty,附带测试程序 (#685)
56- feat(process/riscv): 实现copy-thread (#696)
57- feat(sched): 重写调度模块 (#679)
58- fix(riscv): 把内核编译target改为riscv64gc & 获取time csr的频率 & 修正浮点保存与恢复的汇编的问题 (#699)
59- feat(lock): 实现robust futex (#682)
60- feat(fs): BlockCache-read cache支持 (#521)
61- feat(mm): 实现SystemV共享内存 (#690)
62- chore(tools): add bootstrap support for Centos/RHEL8/fedora (#713)
63- feat(driver/pty): 完善pty,目前pty能够支持ssh (#708)
64- fix(smp): 修复smp启动的时候,损坏0号核心的idle进程的内核栈的问题 (#711)
65- feat(driver/riscv): 初始化riscv-sbi-timer (#716)
66- doc: Update DragonOS description and introduction (#717)
67- feat(riscv): 让riscv64能正常切换进程,并运行完所有的initcall (#721)
68- feat(net): 实现tcp backlog功能 (#714)
69- feat(mm): 添加slab内存分配器 (#683)
70- feat(fs): 引入Umount系统调用 (#719)
71- doc: Update build instructions for riscv64 architecture (#725)
72- fix(fs): socket统一改用`GlobalSocketHandle`,并且修复fcntl SETFD的错误 (#730)
73- feat: alarm系统调用实现 (#710)
74- feat(tty): add dummy console (#735)
75- fix(driver/pci): pci: 统一使用ecam root (#744)
76- feat(driver/pci): pci: 添加pci root manager来管理pci root,并使得riscv能够正常扫描pci设备. (#745)
77- build: 将smoltcp升级到0.11.0版本 (#740)
78- fix(unified-init): 修复unified-init导致cargo check失败的问题 (#747)
79- chore: Update virtio-drivers to commit 61ece509c4 and modify max_queue_size implementation (#748)
80- feat(net): 实现raw socket的poll (#739)
81- feat(mm): 实现缺页中断处理,支持页面延迟分配和写时拷贝,以及用户栈自动拓展 (#715)
82- feat(driver): 把virtio添加到sysfs (#752)
83- fix(dog): 添加CC环境变量,解决编译时找不到musl-gcc的问题 (#753)
84- doc(community): add description of conventional commit standard (#754)
85- feat(driver/virtio): riscv: 添加virtio-blk driver,并在riscv下能够正确挂载FAT32 (#761)
86- feat(fs): add sys_dup3 (#755)
87- feat(riscv): riscv下能够运行hello world用户程序 (#770)
88- feat(sched): add sched_yield (#766)
89- refactor(process): 调整arch_switch_to_user函数,把riscv和x86_64的共用逻辑抽取出来。 (#773)
90- feat(driver/acpi_pm): Implement ACPI PM Timer (#772)
91- chore: 适配dadk 0.1.11 (#777)
92- fix(libs/lib_ui): fix the display errors when system initialize (#779)
93- fix(riscv/process): 把riscv的调度时钟节拍率与HZ同步,并且修复切换到用户态的时候忘了在内核态关中断的bug (#780)
94- fix: (riscv/timer): 修复riscv下没有更新墙上时钟以及没有处理软中断的bug (#783)
95- feat(mm): add slab usage calculation (#768)
96- feat(bitmap): Add bit and for AllocBitMap (#793)
97- fix(mm): 修复vma映射标志错误 (#801)
98- feat:(riscv/intr) 实现riscv plic驱动,能处理外部中断 (#799)
99- doc(sched):调度子系统文档即cfs文档 (#807)
100- fix(net): Fix TCP Unresponsiveness and Inability to Close Connections (#791)
101- fix: disable mm debug log to prevent system lockup due to thingbuf issue (#808)
102- feat(driver/pci): add pci bus into sysfs (#792)
103- doc: Add Gentoo Linux In build_system.md (#810)
104
105## 更新内容-用户环境
106
107### 新特性/新应用移植
108
109- 添加core utils到系统 (#624)
110- 移植dns查询工具dog的--tcp功能 (#652)
111
112
113## 更新内容-CI
114
115- 引入triagebot对issue和PR进行分类
116- 添加clippy检测的自动化工作流 (#649)
117- ci: import issue checker (#750)
118- ci: update the match regex of issue checker (#784)
119- ci: 添加支持gentoo系统的一键安装脚本 (#809)
120
121## 源码、发布版镜像下载
122
123&emsp;&emsp;您可以通过以下方式获得源代码:
124
125### 通过Git获取
126
127- 您可以访问DragonOS的仓库获取源代码:[https://github.com/DragonOS-Community/DragonOS](https://github.com/DragonOS-Community/DragonOS)
128- 您可以访问[https://github.com/DragonOS-Community/DragonOS/releases](https://github.com/DragonOS-Community/DragonOS/releases)下载发布版的代码。
129
130### 通过DragonOS软件镜像站获取
131
132&emsp;&emsp;为解决国内访问GitHub慢、不稳定的问题,同时为了方便开发者们下载DragonOS的每个版本的代码,我们特意搭建了镜像站,您可以通过以下地址访问镜像站:
133
134&emsp;&emsp;您可以通过镜像站获取到DragonOS的代码压缩包,以及编译好的可运行的磁盘镜像。
135
136- [https://mirrors.DragonOS.org.cn](https://mirrors.DragonOS.org.cn)
137- [https://git.mirrors.DragonOS.org.cn](https://git.mirrors.DragonOS.org.cn)
138
139## 开放源代码声明
140
141:::{note}
142为促进DragonOS项目的健康发展,DragonOS以GPLv2开源协议进行发布。所有能获得到DragonOS源代码以及相应的软件制品(包括但不限于二进制副本、文档)的人,都能享有我们通过GPLv2协议授予您的权利,同时您也需要遵守协议中规定的义务。
143
144这是一个相当严格的,保护开源软件健康发展,不被侵占的协议。
145
146对于大部分的善意的人们而言,您不会违反我们的开源协议。
147
148我们鼓励DragonOS的自由传播、推广,但是请确保所有行为没有侵犯他人的合法权益,也没有违反GPLv2协议。
149
150请特别注意,对于违反开源协议的,尤其是**商业闭源使用以及任何剽窃、学术不端行为将会受到严肃的追责**。(这是最容易违反我们的开源协议的场景)。
151
152并且,请注意,按照GPLv2协议的要求,基于DragonOS修改或二次开发的软件,必须同样采用GPLv2协议开源,并标明其基于DragonOS进行了修改。亦需保证这些修改版本的用户能方便的获取到DragonOS的原始版本。
153
154您必须使得DragonOS的开发者们,能够以同样的方式,从公开渠道获取到您二次开发的版本的源代码,否则您将违反GPLv2协议。
155
156关于协议详细内容,还敬请您请阅读项目根目录下的**LICENSE**文件。请注意,按照GPLv2协议的要求,**只有英文原版才具有法律效力**。任何翻译版本都仅供参考。
157:::
158
159### 开源软件使用情况
160
161&emsp;&emsp;DragonOS在开发的过程中,参考了Linux社区的一些设计,或者引入了他们的部分思想,亦或是受到了他们的启发。我们在这里对Linux社区以及Linux社区的贡献者们致以最衷心的感谢!
162
163## 当前版本的所有提交记录
164
165```text
166commit 9a0802fd2ddda39e96342997abbfc30bf65f1f0e
167Author: donjuanplatinum <113148619+donjuanplatinum@users.noreply.github.com>
168Date:   Mon May 13 15:36:23 2024 +0800
169
170    doc: Add Gentoo Linux In build_system.md (#810)
171
172    * 增加安装文档中的Gentoo Linux提示
173
174commit 1f4877a4c512eb5ad232436128a0c52287b39aaa
175Author: 曾俊 <110876916+ZZJJWarth@users.noreply.github.com>
176Date:   Mon May 13 15:27:08 2024 +0800
177
178    feat(driver/pci): add pci bus into sysfs (#792)
179
180    把pci设备加入sysfs
181
182commit 1df85daf8f1b4426fe09d489d815997cdf989a87
183Author: donjuanplatinum <113148619+donjuanplatinum@users.noreply.github.com>
184Date:   Sun May 12 22:58:59 2024 +0800
185
186    添加支持gentoo系统的一键安装脚本 (#809)
187
188commit 352ee04918f4585ad4f8a896ca6e18b1ef7d7934
189Author: LoGin <longjin@DragonOS.org>
190Date:   Sat May 11 18:02:13 2024 +0800
191
192    fix: disable mm debug log to prevent system lockup due to thingbuf issue (#808)
193
194commit 37cef00bb404c9cc01509c12df57548029967dc2
195Author: Samuel Dai <samuka007@qq.com>
196Date:   Sat May 11 17:17:43 2024 +0800
197
198    fix(net): Fix TCP Unresponsiveness and Inability to Close Connections (#791)
199
200    * fix(net): Improve stability. 为RawSocket与UdpSocket实现close时调用close方法,符合smoltcp的行为。为SocketInode实现drop,保证程序任何情况下退出时都能正确close对应socket, 释放被占用的端口。
201
202    * fix(net): Correct socket close behavior.
203
204commit b941261d943fac38d3154495e19ec99c90ebea8d
205Author: GnoCiYeH <heyicong@dragonos.org>
206Date:   Tue May 7 22:01:01 2024 +0800
207
208    docs(sched):调度子系统文档即cfs文档 (#807)
209
210    * 调度子系统文档以及cfs文档
211
212commit 0102d69fdd231e472d7bb3d609a41ae56a3799ee
213Author: LoGin <longjin@DragonOS.org>
214Date:   Wed May 1 21:11:32 2024 +0800
215
216    feat:(riscv/intr) 实现riscv plic驱动,能处理外部中断 (#799)
217
218    * feat:(riscv/intr) 实现riscv plic驱动,能处理外部中断
219
220    - 实现riscv plic驱动,能处理外部中断
221    - 能收到virtio-blk的中断
222    - 实现fasteoi interrupt handler
223
224commit 17dc558977663433bd0181aa73ad131a1a265c1f
225Author: MemoryShore <105195940+MemoryShore@users.noreply.github.com>
226Date:   Wed May 1 21:09:51 2024 +0800
227
228    修复vma映射标志错误 (#801)
229
230commit 7db6e06354328ea7c6164723f504e8ba58d0c4a4
231Author: LoGin <longjin@DragonOS.org>
232Date:   Tue Apr 30 18:45:01 2024 +0800
233
234    feat(bitmap): Add bit and for AllocBitMap (#793)
235
236commit 7401bec5e3c42015399a46e29c370abe7c7388b5
237Author: laokengwt <143977175+laokengwt@users.noreply.github.com>
238Date:   Mon Apr 29 23:03:33 2024 +0800
239
240    feat(mm): add slab usage calculation (#768)
241
242    * Add slab free space calculation and add it to freeram of sysinfo
243
244commit bde4a334c1ff2ae27989de4f6f8b45f5154b684d
245Author: 曾俊 <110876916+ZZJJWarth@users.noreply.github.com>
246Date:   Mon Apr 29 18:55:17 2024 +0800
247
248    修复了未初始化时ui显示模块内存越界的问题,优化了代码结构 (#789)
249
250commit 0722a06a09ed52cb980a6147123453f86d0ea267
251Author: LoGin <longjin@DragonOS.org>
252Date:   Sun Apr 28 19:40:09 2024 +0800
253
254    fix: (riscv/timer): 修复riscv下没有更新墙上时钟以及没有处理软中断的bug (#783)
255
256commit ab53b2eb75fe79167aa100e655b3589ee306f793
257Author: Chiichen <chiichen@qq.com>
258Date:   Sun Apr 28 19:37:58 2024 +0800
259
260    ci: update the match regex of issue checker (#784)
261
262    The previous regex can not successfully match the pattern like `feat(driver/pci)`, which has a slash in the scope
263
264commit 942cf26b48c8b024a6fa7867bb0c8ae39bb1ae09
265Author: LoGin <longjin@DragonOS.org>
266Date:   Sun Apr 28 16:49:40 2024 +0800
267
268    fix(riscv/process): 把riscv的调度时钟节拍率与HZ同步,并且修复切换到用户态的时候忘了在内核态关中断的bug (#780)
269
270commit 13b057cc0fda0cf9630c98d246937b85fa01a7c9
271Author: 曾俊 <110876916+ZZJJWarth@users.noreply.github.com>
272Date:   Sun Apr 28 16:49:19 2024 +0800
273
274    fix(libs/lib_ui): fix the display errors when system initialize (#779)
275
276    * 修复了系统初启动时会花屏的bug
277
278commit 182b778a3ca8c633b605ae7dd90a5e9f1131cc6d
279Author: LoGin <longjin@DragonOS.org>
280Date:   Sun Apr 28 13:39:51 2024 +0800
281
282    chore: 适配dadk 0.1.11 (#777)
283
284    * chore: 适配dadk 0.1.11
285
286commit dd8e74ef0d7f91a141bd217736bef4fe7dc6df3d
287Author: Mingtao Huang <114841534+1037827920@users.noreply.github.com>
288Date:   Sun Apr 28 13:25:12 2024 +0800
289
290    feat(driver/acpi_pm): Implement ACPI PM Timer (#772)
291
292    * feat: Implement ACPI PM Timer
293
294commit f75cb0f8ed754d94c3b2924519b785db3321c1d9
295Author: LoGin <longjin@DragonOS.org>
296Date:   Sat Apr 27 15:35:24 2024 +0800
297
298    refactor(process): 调整arch_switch_to_user函数,把riscv和x86_64的共用逻辑抽取出来。 (#773)
299
300    * refactor(process): Extract common logic for riscv and x86_64 in arch_switch_to_user to run_init_process
301
302    调整arch_switch_to_user函数,把riscv和x86_64的共用逻辑抽取出来。写成run_init_process函数,并且能够尝试运行多个不同的init程序,直到某个运行成功
303
304commit 173c4567cf4fb2276ef3f4614b69da7913fc8381
305Author: zwb0x00 <163394849+zwb0x00@users.noreply.github.com>
306Date:   Fri Apr 26 15:33:29 2024 +0800
307
308    feat(sched): add sched_yield (#766)
309
310    * 实现sched_yield系统调用
311
312commit 471d65cf158c9bf741c21f5d0ab92efe7bf1c3d4
313Author: LoGin <longjin@DragonOS.org>
314Date:   Fri Apr 26 11:59:47 2024 +0800
315
316    feat(riscv): riscv下能够运行hello world用户程序 (#770)
317
318    * feat(riscv): riscv下能够运行hello world用户程序
319
320commit 40348dd8d5a008ecc9eb3aab931933e4eba0e6da
321Author: zwb0x00 <163394849+zwb0x00@users.noreply.github.com>
322Date:   Tue Apr 23 19:35:02 2024 +0800
323
324    feat(fs): add sys_dup3 (#755)
325
326    * feat(fs): add sys_dup3
327
328commit 3b799d13beeb80900d728937308e47f8011835e1
329Author: LoGin <longjin@DragonOS.org>
330Date:   Tue Apr 23 19:14:41 2024 +0800
331
332    Create FUNDING.yml (#763)
333
334commit 731bc2b32d7b37298883d7a15b6dca659b436ee4
335Author: LoGin <longjin@DragonOS.org>
336Date:   Tue Apr 23 17:19:54 2024 +0800
337
338    feat(virtio): riscv: 添加virtio-blk driver,并在riscv下能够正确挂载FAT32 (#761)
339
340commit 0c1ef30087d10035c256fed08097f5897041979d
341Author: Chiichen <chiichen@qq.com>
342Date:   Tue Apr 23 00:27:05 2024 +0800
343
344    docs(community): add description of conventional commit standard (#754)
345
346    * docs(community): add description of conventional commit standard
347
348    * docs: add index
349
350commit 70c991af204167db26ec1d9494efcff010893482
351Author: laokengwt <143977175+laokengwt@users.noreply.github.com>
352Date:   Mon Apr 22 17:40:03 2024 +0800
353
354    fix(dog): 添加CC环境变量,解决编译时找不到musl-gcc的问题 (#753)
355
356commit e32effb1507773d32c216d9e77b963786e275c06
357Author: LoGin <longjin@DragonOS.org>
358Date:   Mon Apr 22 15:11:47 2024 +0800
359
360    feat(driver): 把virtio添加到sysfs (#752)
361
362commit a17651b14b86dd70655090381db4a2f710853aa1
363Author: MemoryShore <105195940+MemoryShore@users.noreply.github.com>
364Date:   Mon Apr 22 15:10:47 2024 +0800
365
366    feat(mm): 实现缺页中断处理,支持页面延迟分配和写时拷贝,以及用户栈自动拓展 (#715)
367
368    * 实现缺页中断处理
369
370    * 完善页表拷贝逻辑
371
372    * 优化代码结构
373
374    * 完善缺页异常信息
375
376    * 修改大页映射逻辑
377
378    * 修正大页映射错误
379
380    * 添加缺页中断支持标志
381
382    * 实现用户栈自动拓展功能
383
384commit cb02d0bbc213867ac845b7e8a0fb337f723d396a
385Author: Chiichen <chiichen@qq.com>
386Date:   Sun Apr 21 23:23:21 2024 +0800
387
388    ci: import issue checker (#750)
389
390    * ci: supprot auto tag on pull request
391
392    * ci: update issue checker config
393
394    * ci: update issue checker & block merge while
395
396commit 93c379703e3be210799953bc0686d02f97119b39
397Author: sun5etop <146408999+sun5etop@users.noreply.github.com>
398Date:   Sun Apr 21 13:36:44 2024 +0800
399
400    feat(net): 实现raw socket的poll (#739)
401
402    feat(net): 实现raw socket的poll
403
404commit b502fbf0b9c575a4c04e103d0fb708c4e383ab06
405Author: LoGin <longjin@DragonOS.org>
406Date:   Sun Apr 21 13:30:29 2024 +0800
407
408    chore: Update virtio-drivers to commit 61ece509c4 and modify max_queue_size implementation (#748)
409
410commit d770de5d53ce9b598fb0024800a347b081f92a73
411Author: LoGin <longjin@DragonOS.org>
412Date:   Sun Apr 21 13:12:31 2024 +0800
413
414    fix: 修复unified-init导致cargo check失败的问题 (#747)
415
416commit 881ff6f95e4addc373d815d66cb912bf721c20e6
417Author: yuyi2439 <68320855+yuyi2439@users.noreply.github.com>
418Date:   Sun Apr 21 11:39:00 2024 +0800
419
420    将smoltcp升级到0.11.0版本 (#740)
421
422commit 370472f7288b568c7b80815f5b150daf4496446c
423Author: LoGin <longjin@DragonOS.org>
424Date:   Sun Apr 21 11:27:36 2024 +0800
425
426    pci: 添加pci root manager来管理pci root,并使得riscv能够正常扫描pci设备. (#745)
427
428    * pci: 添加pci root manager来管理pci root.
429    pci: 使得riscv能够正常扫描pci设备.
430
431    * doc: 添加注释
432
433commit 2709e017d0d216d61b2caed3c7286459de7794c7
434Author: LoGin <longjin@DragonOS.org>
435Date:   Sat Apr 20 18:31:56 2024 +0800
436
437    pci: 统一使用ecam root (#744)
438
439commit 418ad41fd84c15ed7e132e56970150ac38fc24a9
440Author: LoGin <longjin@DragonOS.org>
441Date:   Wed Apr 17 10:03:22 2024 +0800
442
443    Feat(tty): add dummy console (#735)
444
445    使得riscv能暂时完成stdio_init(将来需要实现riscv的串口console)
446
447commit 1012552dea71bf04cf1d329d570c4c9ca9b2a2f8
448Author: Saga1718 <161323888+Saga1718@users.noreply.github.com>
449Date:   Tue Apr 16 21:37:42 2024 +0800
450
451    删除无用的hid代码 (#734)
452
453commit fbd63a301c5648f906eeb802f10ac03518ba1264
454Author: SMALLC <121806694+SMALLC04@users.noreply.github.com>
455Date:   Tue Apr 16 21:34:36 2024 +0800
456
457    feat: alarm系统调用实现 (#710)
458
459    * alarm系统调用实现
460
461commit d623e90231ef6a31d091c3f611c0af3a83d3343b
462Author: GnoCiYeH <heyicong@dragonos.org>
463Date:   Mon Apr 15 22:01:32 2024 +0800
464
465    socket统一改用`GlobalSocketHandle`,并且修复fcntl SETFD的错误 (#730)
466
467    * socket统一改用`GlobalSocketHandle`,并且修复fcntl SETFD的错误
468
469    ---------
470
471    Co-authored-by: longjin <longjin@DragonOS.org>
472
473commit 7162a8358d94c7799dd2b5300192b6a794b23d79
474Author: LoGin <longjin@DragonOS.org>
475Date:   Mon Apr 15 13:20:46 2024 +0800
476
477    doc: Update build instructions for riscv64 architecture (#725)
478
479commit 1074eb34e784aa2adfc5b9e0d89fa4b7e6ea03ef
480Author: Samuel Dai <samuka007@qq.com>
481Date:   Mon Apr 15 13:02:04 2024 +0800
482
483    feat(filesystem): 引入Umount系统调用 (#719)
484
485    * feat(filesystem): 引入Umount系统调用
486
487    * 将所有ENOSYS误用更正
488
489    * 修复了一个使同一个挂载点可以挂载2个文件系统的bug
490
491    * 统一注释,增强程序稳定性,统一接口。注意:Umount时在fatfs的路径要使用大写,此受限于当前文件系统设计。
492
493commit ceeb2e943ca7645609920ec7ad8bfceea2b13de6
494Author: laokengwt <143977175+laokengwt@users.noreply.github.com>
495Date:   Mon Apr 15 12:51:14 2024 +0800
496
497    feat(mm): 添加slab内存分配器 (#683)
498
499    feat(mm): 添加slab内存分配器
500    ---------
501
502    Co-authored-by: longjin <longjin@DragonOS.org>
503
504commit c719ddc6312acd7976e0f6fd449a94ff9abad5a6
505Author: Saga1718 <161323888+Saga1718@users.noreply.github.com>
506Date:   Sun Apr 14 23:51:47 2024 +0800
507
508    feat(net): 实现tcp backlog功能 (#714)
509
510    * feat:实现tcp的backlog功能
511
512commit 9621ab16ef27bc94f223e6254fafb9bb07d46d57
513Author: LoGin <longjin@DragonOS.org>
514Date:   Sun Apr 14 20:39:20 2024 +0800
515
516    让riscv64能正常切换进程,并运行完所有的initcall (#721)
517
518commit 9fab312ea9921618629924ab15c28c2d255b21c6
519Author: LoGin <longjin@DragonOS.org>
520Date:   Fri Apr 12 15:27:44 2024 +0800
521
522    Update DragonOS description and introduction (#717)
523
524commit f049d1af01da7b92f312245ed411b22475b76065
525Author: LoGin <longjin@DragonOS.org>
526Date:   Fri Apr 12 14:46:47 2024 +0800
527
528    初始化riscv-sbi-timer (#716)
529
530commit 3959e94df38073fdb80b199777015f95611ba05f
531Author: 曾俊 <110876916+ZZJJWarth@users.noreply.github.com>
532Date:   Wed Apr 10 19:00:32 2024 +0800
533
534    bugfix: 修复smp启动的时候,损坏0号核心的idle进程的内核栈的问题 (#711)
535
536    ---------
537
538    Co-authored-by: longjin <longjin@DragonOS.org>
539    Co-authored-by: heyicong <heyicong@dragonos.org>
540
541commit 9365e8017b39582eca620ba93c64f1b3c87c73d4
542Author: GnoCiYeH <heyicong@dragonos.org>
543Date:   Wed Apr 10 19:00:12 2024 +0800
544
545    完善pty,目前pty能够支持ssh (#708)
546
547commit 4b0170bd6bb374d0e9699a0076cc23b976ad6db7
548Author: Chiichen <chiichen@qq.com>
549Date:   Wed Apr 10 18:58:54 2024 +0800
550
551    chore(tools): add bootstrap support for Centos/RHEL8/fedora (#713)
552
553    Co-authored-by: kejianchi <kejianchi@tencent.com>
554
555commit 15b94df01adc7e8931961b9b9a89db4e7c014b64
556Author: Jomo <xuzihao@dragonos.org>
557Date:   Wed Apr 10 10:58:07 2024 +0800
558
559    add xuzihao (#712)
560
561commit 6fc066ac11d2f9a3ac629d57487a6144fda1ac63
562Author: Jomo <2512364506@qq.com>
563Date:   Sun Apr 7 14:04:19 2024 +0800
564
565    实现SystemV共享内存 (#690)
566
567    * 实现SystemV共享内存
568
569    * 测试shm
570
571    * 添加测试程序
572
573    * 完善细节
574
575    * 修正shm的时间数据错误的问题
576
577    * fix: devfs的metadata权限为0x777的错误
578
579    ---------
580
581    Co-authored-by: longjin <longjin@DragonOS.org>
582
583commit eb49bb993a39964f92494ec3effafed3fb9adfd8
584Author: 曾俊 <110876916+ZZJJWarth@users.noreply.github.com>
585Date:   Sun Apr 7 14:03:51 2024 +0800
586
587    BlockCache-read cache支持 (#521)
588
589    支持block cache的读缓存
590
591commit 06560afa2aa4db352526f4be8b6262719b8b3eac
592Author: hmt <114841534+1037827920@users.noreply.github.com>
593Date:   Sat Apr 6 22:26:34 2024 +0800
594
595    Patch feat robust futex (#682)
596
597    * feat: 实现robust lock机制
598
599    * 前面更改vscode,修改回来
600
601    * 修改dadk的路径
602
603    * 提交.gitnore和.cargo,删除LICENSE,修改README
604
605    * 修改一个warn
606
607    * 删除.rustc_info.json
608
609    * 删除target文件夹
610
611    * 恢复DragonOS的LICENSE,删除Cargo.lock
612
613    * 将校验用户空间地址的代码写入函数内;将部分match分支用ok_or代替
614
615    * 修改wakeup函数获取running queue时unwrap一个None值发生panic
616
617    * 测试程序使用syscalls库进行系统调用
618
619commit 23ef2b33d1e3cfd2506eb7449a33df4ec42f11d3
620Author: LoGin <longjin@DragonOS.org>
621Date:   Sat Apr 6 22:13:26 2024 +0800
622
623    riscv: 把内核编译target改为riscv64gc & 获取time csr的频率 & 修正浮点保存与恢复的汇编的问题 (#699)
624
625    * 1. 把内核编译target改为riscv64gc
626    2. fix: 修正浮点保存与恢复的汇编的问题
627
628    * riscv: 获取time csr的频率
629
630commit f0c87a897fe813b7f06bf5a9e93c43ad9519dafd
631Author: GnoCiYeH <heyicong@dragonos.org>
632Date:   Fri Apr 5 17:54:48 2024 +0800
633
634    重写调度模块 (#679)
635
636    ## PR:重写调度模块
637    ---
638    ### 完成的部分
639    - 实现cfs调度策略
640    - 搭建框架,后续功能可以迭代开发
641    - 目前能跑,未测试性能
642
643    ### 需要后续接力的部分
644    - 实现组内调度(task_group)
645    - 实现跨核负载均衡(pelt算法)
646    - 接入sysfs,实现参数动态调节(sched_stat等)
647    - nice值以及priority等参数的设置及调优
648
649commit e8eab1ac824e1b1e638e50debb8326dfed4f05e5
650Author: LoGin <longjin@DragonOS.org>
651Date:   Fri Apr 5 16:37:08 2024 +0800
652
653    riscv: copy-thread (#696)
654
655commit dfe53cf087ef4c7b6db63d992906b062dc63e93f
656Author: GnoCiYeH <heyicong@dragonos.org>
657Date:   Fri Apr 5 00:21:55 2024 +0800
658
659    实现pty,附带测试程序 (#685)
660
661    * 实现pty,附带测试程序
662
663    * fmt ** clippy
664
665    * 将file层的锁粒度缩小,从而不使用no_preempt。更改pipe在sleep部分的bug
666
667    * 修复拼写错误
668
669commit b8ed38251dc255b0c525801b5dbf37d3b0d0d61e
670Author: Donkey Kane <109840258+xiaolin2004@users.noreply.github.com>
671Date:   Fri Apr 5 00:06:26 2024 +0800
672
673    修复jiffy时钟过快问题,启用gettimeofday测试,修改mount测试 (#680)
674
675    1. 把clock tick rate与hpet频率关联起来
676    2. 修复墙上时间同步错误的问题
677    3. 启用时间watch dog.
678    4. 修复时间流逝速度异常
679
680    ---------
681
682    Co-authored-by: longjin <longjin@DragonOS.org>
683
684commit 9430523b465b19db4dd476e9fd3038bdc2aa0c8d
685Author: yuyi2439 <68320855+yuyi2439@users.noreply.github.com>
686Date:   Thu Apr 4 12:41:19 2024 +0800
687
688    使nproc可以正确获取到cpu核心数 (#689)
689
690commit 9b96c5b547c337502db7ec820312f119f95eece1
691Author: LoGin <longjin@DragonOS.org>
692Date:   Sun Mar 31 22:53:01 2024 +0800
693
694    riscv64: switch process (#678)
695
696    * riscv64: switch process
697
698    * fixname
699
700commit 7d580ef99d2a52250b384afd49c7f87ab66a8c84
701Author: Val213 <112376067+val213@users.noreply.github.com>
702Date:   Sun Mar 31 18:01:32 2024 +0800
703
704    修复get_ramdom的长度错误问题() (#677)
705
706commit 56cc4dbe27e132aac5c61b8bd4f4ec9a223b49ee
707Author: Jomo <2512364506@qq.com>
708Date:   Sun Mar 31 16:33:49 2024 +0800
709
710    实现页面反向映射 (#670)
711
712    * 实现页面反向映射
713
714    * 完善PAGE_MANAGER初始化时机 && 封装lock函数 && 删掉过时注释
715
716commit 924d64de8def99488f57dc618de763f7aca4a68b
717Author: BrahmaMantra <140599389+BrahmaMantra@users.noreply.github.com>
718Date:   Sun Mar 31 15:19:12 2024 +0800
719
720    修复了ramfs中move_to未更新parent字段的bug (#673)
721
722    修复了ramfs中move_to未更新parent字段的bug
723
724    ---------
725
726    Co-authored-by: Samuel Dai <samuka007@qq.com>
727
728commit 9d9a09841ce2d650a41fed776916c0a11d52f92e
729Author: sun5etop <146408999+sun5etop@users.noreply.github.com>
730Date:   Sun Mar 31 15:11:10 2024 +0800
731
732    修复udp bind的时候,对port0处理不正确的问题(#676)
733
734commit da152319797436368304cbc3f85a3b9ec049134b
735Author: LoGin <longjin@DragonOS.org>
736Date:   Thu Mar 28 00:28:13 2024 +0800
737
738    实现了rtc的抽象,并且把x86的cmos rtc接入到设备驱动模型 (#674)
739
740    * 实现了rtc的抽象,并且把x86的cmos rtc接入到设备驱动模型。
741
742commit 597ecc08c2444dcc8f527eb021932718b69c9cc5
743Author: TTaq <103996388+TTaq@users.noreply.github.com>
744Date:   Tue Mar 26 18:28:26 2024 +0800
745
746    新加结构体POSIXSTATFS与SuperBlock用于处理statfs系统调用 (#667)
747
748    * 新加结构体POSIXSTATFS与SuperBlock用于处理statfs系统调用
749
750commit 0cb807346cb3c47924538585087d9fc846cf5e6f
751Author: LoGin <longjin@DragonOS.org>
752Date:   Tue Mar 26 18:26:02 2024 +0800
753
754    修复tty设备显示在/sys目录下的bug (#668)
755
756commit 2755467c790d6510fa97cbf052ce8e91ad1372c6
757Author: 曾俊 <110876916+ZZJJWarth@users.noreply.github.com>
758Date:   Mon Mar 25 16:39:36 2024 +0800
759
760    支持绘制24位深和16位深显示缓冲区 (#640)
761
762    * 修复了初始化时显示,边界条件的一个bug
763
764    * 解决了内存未初始前字体显示的兼容性问题
765    * 支持绘制24位深和16位深显示缓冲区
766
767commit 4256da7fb6ad25a3caab6f656607aaf047cb6446
768Author: LoGin <longjin@DragonOS.org>
769Date:   Mon Mar 25 15:47:05 2024 +0800
770
771    把Device trait的set_class改为设置Weak指针,以避免循环引用问题。 (#666)
772
773commit 5c20e05a2eb82da6dd73104fcf51d538500c2856
774Author: LoGin <longjin@DragonOS.org>
775Date:   Mon Mar 25 13:59:00 2024 +0800
776
777    修改bug report模版label (#665)
778
779commit 7c958c9ef0cd25eb15abb21d0d3420aac1c67c88
780Author: Val213 <112376067+val213@users.noreply.github.com>
781Date:   Mon Mar 25 13:04:53 2024 +0800
782
783    移植dns查询工具dog的--tcp功能 (#652)
784
785    * add dog, modify user/Makefile and user.sysconfig
786
787    * add dog, modify user/Makefile and user.sysconfig
788
789    * fix tty unicode
790
791    * 修正无法正确编译dog的问题
792
793    ---------
794
795    Co-authored-by: val213 <val213666@gmail.com>
796    Co-authored-by: GnoCiYeH <heyicong@dragonos.org>
797    Co-authored-by: longjin <longjin@DragonOS.org>
798
799commit 911132c4b8ea0e9c49a4e84b9fa1db114102acbb
800Author: Donkey Kane <109840258+xiaolin2004@users.noreply.github.com>
801Date:   Mon Mar 25 13:04:32 2024 +0800
802
803    修复clock_gettime返回类型错误,修复小时间间隔duration返回0问题 (#664)
804
805    * 修复clock_gettime返回类型错误,修正wtm初始化逻辑
806
807    * 修复duration在小时间间隔下为0的问题
808
809    * 临时修复时间流逝速度异常,在test-mount中加入运行时间检测
810
811commit 401699735b5ec29768c3c0c47df6c529991f108f
812Author: LoGin <longjin@DragonOS.org>
813Date:   Sat Mar 23 16:25:56 2024 +0800
814
815    riscv: 进程管理初始化 (#654)
816
817commit 6046f77591cf23dc9cc53b68b25c0d74f94fa493
818Author: 裕依 <68320855+yuyi2439@users.noreply.github.com>
819Date:   Sat Mar 23 15:56:49 2024 +0800
820
821    Patch socketpair (#576)
822
823    * 将sockets分成inet和unix域
824    - 添加File端点
825    - 添加SocketPair trait并将Socket trait中的pair相关方法移动
826    - 添加对SockAddrUn的处理
827
828    * 精简SocketHandleItem
829
830    * 重构socketpair相关逻辑
831    - 将File端点换成Inode端点
832    - 尝试使用SocketInode进行socketpair(未成功)
833
834
835    * 将SocketPair trait合并到Socket trait中,去除downcast
836
837commit 3660256a9ee94abc30b5b22508cbd48c44c86089
838Author: LoGin <longjin@DragonOS.org>
839Date:   Sat Mar 23 11:51:30 2024 +0800
840
841    只对x86_64进行clippy check (#651)
842
843commit 4e4c8c41e90989c1f732995511e0f9a77a33f650
844Author: LoGin <longjin@DragonOS.org>
845Date:   Fri Mar 22 23:56:30 2024 +0800
846
847    添加clippy检测的自动化工作流 (#649)
848
849    * 添加clippy检测的自动化工作流
850
851    * fmt
852
853    * 1
854
855commit b5b571e02693d91eb6918d3b7561e088c3e7ee81
856Author: LoGin <longjin@DragonOS.org>
857Date:   Fri Mar 22 23:26:39 2024 +0800
858
859    修复内核的clippy检查报错 (#637)
860
861    修复内核的clippy检查报错
862    ---------
863
864    Co-authored-by: Samuel Dai <947309196@qq.com>
865    Co-authored-by: Donkey Kane <109840258+xiaolin2004@users.noreply.github.com>
866    Co-authored-by: themildwind <107623059+themildwind@users.noreply.github.com>
867    Co-authored-by: GnoCiYeH <heyicong@dragonos.org>
868    Co-authored-by: MemoryShore <105195940+MemoryShore@users.noreply.github.com>
869    Co-authored-by: 曾俊 <110876916+ZZJJWarth@users.noreply.github.com>
870    Co-authored-by: sun5etop <146408999+sun5etop@users.noreply.github.com>
871    Co-authored-by: hmt <114841534+1037827920@users.noreply.github.com>
872    Co-authored-by: laokengwt <143977175+laokengwt@users.noreply.github.com>
873    Co-authored-by: TTaq <103996388+TTaq@users.noreply.github.com>
874    Co-authored-by: Jomo <2512364506@qq.com>
875    Co-authored-by: Samuel Dai <samuka007@qq.com>
876    Co-authored-by: sspphh <112558065+sspphh@users.noreply.github.com>
877
878commit 4695947e1b601c83641676485571d42c692a2bbd
879Author: Chenzx <109664121+schulice@users.noreply.github.com>
880Date:   Fri Mar 22 18:27:07 2024 +0800
881
882    实现SYS_LINK和SYS_LINKAT (#611)
883
884    * 实现do_linkat及SYS_LINK和SYS_LINKAT
885
886    * 未在riscv上测试,添加target_arch
887
888    * 将c字符串检查移动到vfs/syscall.rs,修改do_linkat()逻辑
889
890    * 修改部分注释
891
892commit 70f159a3988eab656ea1d2b204fde87948526ecf
893Author: LoGin <longjin@DragonOS.org>
894Date:   Thu Mar 21 21:35:39 2024 +0800
895
896    riscv64: 添加flush tlb的ipi (#636)
897
898    * riscv64: 添加flush tlb的ipi
899
900    * update triagebot
901
902commit b4eb05a17f0f65668f69e7979660874ef8e01a2e
903Author: TTaq <103996388+TTaq@users.noreply.github.com>
904Date:   Thu Mar 21 19:59:10 2024 +0800
905
906    Statx (#632)
907
908
909    * 实现statx及测试的应用程序
910
911commit 8cb2e9b344230227fe5f3ab3ebeb2522f1c5e289
912Author: LoGin <longjin@DragonOS.org>
913Date:   Thu Mar 21 19:19:32 2024 +0800
914
915    重写SMP模块 (#633)
916
917    * 修复cpumask的迭代器的错误。
918
919    * 能进系统(AP核心还没有初始化自身)
920
921    * 初始化ap core
922
923    * 修改percpu
924
925    * 删除无用的cpu.c
926
927    * riscv64编译通过
928
929commit 1d37ca6d172e01a98fa6785d2b3e07fb8202a4a9
930Author: Donkey Kane <109840258+xiaolin2004@users.noreply.github.com>
931Date:   Wed Mar 20 15:31:20 2024 +0800
932
933    添加mount系统调用 (#561)
934
935    * Modify dadk config to switch NovaShell revision
936
937    * finish primary build of mount(2), usable now
938
939    * 使用read_from_cstr函数优化代码可读性 , 针对文件系统新增错误EUNSUPFS
940
941    * small changes
942
943    * 添加系统调用文档
944
945    * cargo fmt
946
947    * Revert "small changes"
948
949    This reverts commit e1991314ce687faa2d652479e8ef64f5bea25fa1.
950
951    * 修复用户程序参数传入错误
952
953    * Revert "small changes"
954
955    This reverts commit e1991314ce687faa2d652479e8ef64f5bea25fa1.
956
957    * 解决合并冲突,最终提交
958
959    * 将dadk_config切换为相对路径以修复依赖问题
960
961    * Update settings.json
962
963    * Delete user/apps/test-mount/LICENSE
964
965    * 换用更好的c字符串读取函数,优化系统调用函数注释,修复错误处理bug,删除无用文件,修改测试程序readme
966
967    * 修改用户程序readme
968
969    * 代码格式化,初级版本
970
971    * 初级版本,未实现文件系统管理器,未支持设备挂载
972
973    * 为文件系统添加name方法,返回文件系统名字字符串,为挂载查询服务
974
975    * mount系统调用:添加统一文件系统初始化管理器
976
977    * null
978
979    * 解除冲突
980
981    * 删除无用kdebug
982
983commit 1cd9bb43f0256aecf19a090dd71e4ac2b86a5e29
984Author: LoGin <longjin@DragonOS.org>
985Date:   Tue Mar 19 21:31:02 2024 +0800
986
987    添加core utils到系统 (#624)
988
989commit 8c6f21840f820a161d4386000aea1d79e3bc8d13
990Author: sspphh <112558065+sspphh@users.noreply.github.com>
991Date:   Tue Mar 19 17:01:20 2024 +0800
992
993    实现uname系统调用 (#614)
994
995    * 实现uname系统调用
996
997    Co-authored-by: longjin <longjin@DragonOS.org>
998
999commit 82df0a13109e400602ddaec049d04ae230eb485b
1000Author: hmt <114841534+1037827920@users.noreply.github.com>
1001Date:   Tue Mar 19 16:45:44 2024 +0800
1002
1003    fix: mkdir输出错误信息; feat: 实现get_pathname (#615)
1004
1005    * fix: mkdir输出错误信息; feat: 实现get_pathname
1006
1007    * fix: 将处理路径的操作放入vfs而不是在syscall/mod.rs1008
1009    * 调整入参类型
1010
1011    ---------
1012
1013    Co-authored-by: longjin <longjin@DragonOS.org>
1014
1015commit 9e481b3bfe303e0b104694da9750ae978dfeecae
1016Author: TTaq <103996388+TTaq@users.noreply.github.com>
1017Date:   Mon Mar 18 14:47:59 2024 +0800
1018
1019    实现了sys_rename (#578)
1020
1021    * 基本实现了rename的系统调用
1022
1023    * 实现相对路径的mv
1024
1025    * confilct resolve
1026
1027    * make fmt
1028
1029    * 更改校验位置,
1030     增加了SYS_RENAMEAT与SYS_RENAMEAT2两个系统调用,其实现与SYS_RENAME基本一致
1031
1032    * 删除了fat中的link
1033
1034    * fix
1035
1036    * 修改注释格式,删除管道文件判断
1037
1038    * 1
1039
1040commit c3c73444516b7b47b6327cd66f5453133f47998d
1041Author: LoGin <longjin@DragonOS.org>
1042Date:   Sat Mar 16 22:28:59 2024 +0800
1043
1044    更新triagebot配置 (#616)
1045
1046    * 更新triagebot配置
1047
1048commit 4fd916113e576a1c5d8ca9faae7a9d6b25afb9ae
1049Author: LoGin <longjin@DragonOS.org>
1050Date:   Sat Mar 16 18:09:32 2024 +0800
1051
1052    triagebot-add-shortcut (#612)
1053
1054commit fbc174499f5200924c732263e461c79b4a936c5b
1055Author: LoGin <longjin@DragonOS.org>
1056Date:   Fri Mar 15 20:06:24 2024 +0800
1057
1058    添加triagebot文件 (#608)
1059
1060    * 添加triagebot文件
1061
1062```