V0.1.9
V0.1.9
:::{note}
本文作者:何懿聪 [email protected]
DragonOS官方论坛:bbs.dragonos.org.cn
2024年3月13日
:::
贡献者名单
DragonOS V0.1.9版本由以下小伙伴贡献代码:
- 龙进 [email protected]
- 何懿聪 [email protected]
- 裕依 [email protected]
- R0ronoa [email protected]
- 池克俭 [email protected]
- 吴宇健 [email protected]
- zhaoyao73 [email protected]
- 胡兆朋 [email protected]
- 周瀚杰 [email protected]
- 栗子 [email protected]
- Xshine [email protected]
- Chenzx [email protected]
- MContour [email protected]
- Donkey Kane [email protected]
- Luo Jia / Zhouqi Jiang [email protected]
- Wu Mianzhi [email protected]
- Xiaoye Zheng [email protected]
- Plucky923 [email protected]
赞助商列表
- 中国雅云 雅安大数据产业园为DragonOS提供了云服务器支持。
赞助者名单
感谢以下同学的赞赏,我们将不断努力!
- David Wen
- 万晓兰
- 龙进
- 吴宇健
两千元以下:
- Seele.Clover
- FindWangHao
- ferchiel
- 叶锦毅
- 林
- Albert
- TerryLeeSCUT · GitHub
- slientbard
- 悟
- 匿名热心人士
更新内容-内核
新特性
- refactor: 重构进程管理模块 (#380)
- feature: 完善设备驱动模型 (#401)
- feature: 实现e1000e网卡驱动 (#393)
- feature: DragonOS虚拟化框架(#389)
- feature: 支持syscall快速系统调用指令(#417)
- refactor: 重写apic驱动 (#425)
- feature: 线程机制与futex (#411)
- feature: DragonStub引导DragonOS内核 (#460)
- feature: 实现Epoll IO多路复用机制 (#455)
- feature: 帧缓冲抽象以及vesafb驱动 (#483)
- feature: 增加early io remap的fixmap功能 (#495)
- feature: 实现内核日志系统 (#489)
- refactor: 使用Rust重写x86_64下内核初始化代码(#507)
- feature: 新增riscv64架构的内存管理等(#506)
- refactor: 中断管理模块重构完成(#554)
- refactor: 重构tty模块,实现unix兼容tty(#577)
- featurn: 实现若干POSIX标准系统调用
bugfix
- bugfix: 修正由于init proc union导致的无法运行的问题 && 修正由于内核线程启动后默认sleep的行为导致init进程无法正常运行的bug (#381)
- bugfix: 修复了Flusher Drop的时候没有自动刷新TLB的bug(#384)
- bugfix: multiboot2启动的信息因为没及时转存导致后面无法从其中进行查询的bug (#405)
- bugfix: 修复bus/device manager对卸载逻辑的处理错误 (#385)
- bugfix: 解决waitqueue sleep的时候,由于preempt count不为0,导致sched失败,从而导致该waitqueue下一次wakeup时,会把pcb多次加入调度队列的bug (#419)
- bugfix: 修正fork的时候没有正确拷贝vm holes的bug (#433)
- bugfix: 当物理机具有多个memory area的时候,无法正确使用这些区域的问题.以及在内核代码处出现内存空洞而导致无法正常运行的问题. (#448)
- bugfix: 修复因rsdp v1 v2版本问题,导致ACPI无法正常初始化的bug (#454)
- bugfix: 修正由于bus的driver、device强弱引用关系 不正确从而导致对象被释放的bug (#483)
- bugfix: 修复文件关闭后epoll还持有对应描述符的文件弱引用的bug (#455)
- bugfix: 修复无法sleep的问题以及进程处于block(true)状态时无法被信号唤醒&唤醒后不处理信号的问题 (#470)
更新内容-用户环境
新特性
- feature: 新增init程序dragonreach (#391)
- featurn: 新增shell程序NovaShell (#456)
- featurn: 新增文本编辑器Held (#583)
- featurn: 能够支持gcc,tar,redis等程序运行
源码、发布版镜像下载
您可以通过以下方式获得源代码:
通过Git获取
- 您可以访问https://github.com/DragonOS-Community/DragonOS/releases下载发布版的代码,以及编译好的,可运行的磁盘镜像。
通过DragonOS软件镜像站获取
为解决国内访问GitHub慢、不稳定的问题,同时为了方便开发者们下载DragonOS的每个版本的代码,我们特意搭建了镜像站,您可以通过以下地址访问镜像站:
您可以通过镜像站获取到DragonOS的代码压缩包,以及编译好的可运行的磁盘镜像。
开放源代码声明
:::{note}
为促进DragonOS项目的健康发展,DragonOS以GPLv2开源协议进行发布。所有能获得到DragonOS源代码以及相应的软件制品(包括但不限于二进制副本、文档)的人,都能享有我们通过GPLv2协议授予您的权利,同时您也需要遵守协议中规定的义务。
这是一个相当严格的,保护开源软件健康发展,不被侵占的协议。
对于大部分的善意的人们而言,您不会违反我们的开源协议。
我们鼓励DragonOS的自由传播、推广,但是请确保所有行为没有侵犯他人的合法权益,也没有违反GPLv2协议。
请特别注意,对于违反开源协议的,尤其是商业闭源使用以及任何剽窃、学术不端行为将会受到严肃的追责。(这是最容易违反我们的开源协议的场景)。
并且,请注意,按照GPLv2协议的要求,基于DragonOS修改或二次开发的软件,必须同样采用GPLv2协议开源,并标明其基于DragonOS进行了修改。亦需保证这些修改版本的用户能方便的获取到DragonOS的原始版本。
您必须使得DragonOS的开发者们,能够以同样的方式,从公开渠道获取到您二次开发的版本的源代码,否则您将违反GPLv2协议。
关于协议详细内容,还敬请您请阅读项目根目录下的LICENSE文件。请注意,按照GPLv2协议的要求,只有英文原版才具有法律效力。任何翻译版本都仅供参考。
:::
开源软件使用情况
DragonOS在开发的过程中,参考了Linux社区的一些设计,或者引入了他们的部分思想,亦或是受到了他们的启发。我们在这里对Linux社区以及Linux社区的贡献者们致以最衷心的感谢!