:::{note} 本文作者:龙进 [email protected]
2023年2月4日 :::
DragonOS V0.1.4版本由以下小伙伴贡献代码:
感谢以下同学的赞赏,我们将不断努力!
无
无
无
您可以通过以下方式获得源代码:
为解决国内访问GitHub慢、不稳定的问题,同时为了方便开发者们下载DragonOS的每个版本的代码,我们特意搭建了镜像站,您可以通过以下地址访问镜像站:
您可以通过镜像站获取到DragonOS的代码压缩包,以及编译好的可运行的磁盘镜像。
:::{note} 为促进DragonOS项目的健康发展,DragonOS以GPLv2开源协议进行发布。所有能获得到DragonOS源代码以及相应的软件制品(包括但不限于二进制副本、文档)的人,都能享有我们通过GPLv2协议授予您的权利,同时您也需要遵守协议中规定的义务。
这是一个相当严格的,保护开源软件健康发展,不被侵占的协议。
对于大部分的善意的人们而言,您不会违反我们的开源协议。
我们鼓励DragonOS的自由传播、推广,但是请确保所有行为没有侵犯他人的合法权益,也没有违反GPLv2协议。
请特别注意,对于违反开源协议的,尤其是商业闭源使用以及任何剽窃、学术不端行为将会受到严肃的追责。(这是最容易违反我们的开源协议的场景)。
并且,请注意,按照GPLv2协议的要求,基于DragonOS修改或二次开发的软件,必须同样采用GPLv2协议开源,并标明其基于DragonOS进行了修改。亦需保证这些修改版本的用户能方便的获取到DragonOS的原始版本。
您必须使得DragonOS的开发者们,能够以同样的方式,从公开渠道获取到您二次开发的版本的源代码,否则您将违反GPLv2协议。
关于协议详细内容,还敬请您请阅读项目根目录下的LICENSE文件。请注意,按照GPLv2协议的要求,只有英文原版才具有法律效力。任何翻译版本都仅供参考。 :::
DragonOS在开发的过程中,参考了一些开源项目的设计,或者引入了他们的部分代码,亦或是受到了他们的启发。现将他们列在下面。我们对这些开源项目的贡献者们致以最衷心的感谢!
格式:<项目名> - <链接> - <开源协议>
commit f6ba114bb0420e848ef7fc844c96c0d7a0552d93
Author: houmkh <[email protected]>
Date: Sat Feb 4 12:31:15 2023 +0800
Block IO Scheduler (#158)
* Block io调度器
* process_wakeup时,对cfs的进程,重设虚拟运行时间。解决由于休眠的进程,其虚拟运行时间过小,导致其他进程饥饿的问题
* 1、为AP核启动apic_timer,使其能够运行调度
2、增加kick_cpu功能,支持让某个特定核心立即运行调度器
3、wait_queue的唤醒,改为立即唤醒。
4、增加进程在核心间迁移的功能
5、CFS调度器为每个核心设置单独的IDLE进程pcb(pid均为0)
6、pcb中增加migrate_to字段
7、当具有多核时,io调度器在核心1上运行。
* io调度器文件位置修改
* 修改io的makefile
* 更新makefile中的变量名
* 修改io调度器函数名
---------
Co-authored-by: login <[email protected]>
commit 151251b50b7ed55596edd32ffec49a4041010e2a
Author: login <[email protected]>
Date: Tue Jan 31 19:27:02 2023 +0800
Patch add rust waitqueue (#162)
* new: rust版本的waitqueue
* new:等待队列的文档
commit 3c369b1430e8d571bcc74a8ef7fefc1c4cae5dd2
Author: login <[email protected]>
Date: Mon Jan 30 15:43:42 2023 +0800
new:新增rust代码风格 (#161)
commit c28bd540ac856cd9d8d5597852af8f2588a660e4
Author: login <[email protected]>
Date: Mon Jan 30 15:10:24 2023 +0800
更新赞助者名单 (#160)
* 更新赞赏者列表
commit 935f40ec174fec217aed4553d45996327443bc0e
Author: login <[email protected]>
Date: Tue Jan 17 21:30:16 2023 +0800
new: Rust版本的Mutex (#157)
commit d8a064128a8a06b90ff4c7b87c193518d9572641
Author: Gou Ngai <[email protected]>
Date: Mon Jan 16 19:58:50 2023 +0800
Raw spin lock 增加lock_irqsave、unlock_irqrestore(#151)
Raw spin lock 增加lock_irqsave、unlock_irqrestore
commit 06b09f34ed64a006a80ae8df383e3c8b176f02e0
Author: kong <[email protected]>
Date: Sat Jan 14 22:38:05 2023 +0800
Patch sched rust (#139)
* update
* 添加rt调度器的rust初步实现
* 完善rt调度逻辑
* 调试rt调度器
* 修改sched的返回值
* cargo fmt 格式化
* 删除无用代码,修补rt bug
* 删除无用的代码,和重复的逻辑
* 软中断bugfix
* 删除一些代码
* 添加kthread_run_rt文档
* 解决sphinix警告_static目录不存在的问题
Co-authored-by: longjin <[email protected]>
commit ec53d23ed03347854189d92b7e175f309779321b
Author: login <[email protected]>
Date: Sat Jan 14 10:35:49 2023 +0800
new: 新增具有守卫的自旋锁SpinLock,支持编译期对锁的使用进行检查。 (#148)
commit 41474ba3df99b6822ce452dc94dc53a4da62cba1
Author: login <[email protected]>
Date: Tue Jan 10 22:07:41 2023 +0800
更新Readme中关于DragonOS的介绍部分 (#146)
commit 8ad2e358fd3b05eed2919de50640682e51687fb5
Author: login <[email protected]>
Date: Sun Jan 8 15:51:59 2023 +0800
更新about app中的版本号 (#145)
* 更新about app中的版本号
commit a8b621c8d1fe77251b8e4eafe258dc0ee7366dd5
Author: login <[email protected]>
Date: Sun Jan 8 15:47:44 2023 +0800
修正由于libc中具有crti.S和crtn.S,造成的与x86_64-elf-gcc不兼容的问题 (#144)
commit 9358ff0f6f7daa18d6fab4497de025736b3d6725
Author: login <[email protected]>
Date: Sun Jan 8 15:06:52 2023 +0800
Add v0.1.3 changelog (#143)
* new: 0.1.3发行日志
* 新增输出指定时间范围内的贡献者名单的脚本
* 更新bootloader文档
* update: 简介文档
* new: 镜像站文档
* update: 功能特性文档