Skip to content

V0.1.9

Compare
Choose a tag to compare
@fslongjin fslongjin released this 13 Mar 16:46
· 158 commits to master since this release
e3b8983

V0.1.9

:::{note}
本文作者:何懿聪 [email protected]

DragonOS官方论坛:bbs.dragonos.org.cn

2024年3月13日
:::

贡献者名单

DragonOS V0.1.9版本由以下小伙伴贡献代码:

赞助商列表

  • 中国雅云 雅安大数据产业园为DragonOS提供了云服务器支持。

赞助者名单

感谢以下同学的赞赏,我们将不断努力!

  • David Wen
  • 万晓兰
  • 龙进
  • 吴宇健

两千元以下:

更新内容-内核

新特性

  • 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获取

通过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社区的贡献者们致以最衷心的感谢!