DragonOS V0.1.10 新版发布🌟
项目简介
DragonOS龙操作系统是一个面向云计算轻量化场景的,完全自主内核的,提供Linux二进制兼容性的64位操作系统。它使用Rust语言进行开发,以提供更好的可靠性。目前在Rust操作系统领域,DragonOS在Github排行全国稳居前三位。
DragonOS开源社区成立于2022年7月,它完全商业中立。我们的目标是,构建一个完全独立自主的、开源的、高性能及高可靠性的服务器操作系统,打造完全自主可控的数字化未来!
仓库:https://github.com/DragonOS-Community/DragonOS
前言
我们很高兴地宣布DragonOS V0.1.10版本正式发布!在这个版本中,我们引入了42个feature类型的PR,24个bug修复,5个文档更新,以及一些软件移植、ci相关的内容。
当前版本核心看点:
- 对调度子系统进行了重构
- 能在riscv64下运行到hello world应用程序
- 内存管理子系统引入了匿名页反向映射、写时拷贝以及延迟分配的特性
- 文件系统引入了大量的新的系统接口
- 实现了pty,并能运行简单的ssh服务端
更新内容-内核
- feat(fs): 实现了sys_rename (#578)
- feat(fs): 实现get_pathname (#615)
- feat(kernel): 实现uname系统调用 (#614)
- feat(fs): 添加mount系统调用 (#561)
- feat(smp): 重写SMP模块 (#633)
- feat(fs): 添加Statx系统调用 (#632)
- feat(riscv64): 添加flush tlb的ipi (#636)
- feat(fs): 实现SYS_LINK和SYS_LINKAT (#611)
- fix(fs): mkdir输出错误信息;
- fix(clippy): 修复内核的clippy检查报错 (#637)
- feat(net): 实现socketpair (#576)
- feat(process/riscv): 进程管理初始化 (#654)
- fix(time): 修复clock_gettime返回类型错误,修复小时间间隔duration返回0问题 (#664)
- fix(driver/base): 把Device trait的set_class改为设置Weak指针,以避免循环引用问题。 (#666)
- feat(textui): 支持绘制24位深和16位深显示缓冲区 (#640)
- fix(driver/tty): 修复tty设备显示在/sys目录下的bug (#668)
- feat(fs): 新加结构体POSIXSTATFS与SuperBlock用于处理statfs系统调用 (#667)
- feat(driver/rtc):实现了rtc的抽象,并且把x86的cmos rtc接入到设备驱动模型 (#674)
- fix(net): 修复udp bind的时候,对port0处理不正确的问题(#676)
- fix(fs/ramfs): 修复了ramfs中move_to未更新parent字段的bug (#673)
- feat(mm): 实现页面反向映射 (#670)
- fix(misc): 修复get_ramdom的长度错误问题() (#677)
- feat(process/riscv): riscv64: switch process (#678)
- fix(misc): 使nproc可以正确获取到cpu核心数 (#689)
- fix(time): 修复jiffy时钟过快问题,启用gettimeofday测试,修改mount测试 (#680)
- feat(driver/pty): 实现pty,附带测试程序 (#685)
- feat(process/riscv): 实现copy-thread (#696)
- feat(sched): 重写调度模块 (#679)
- fix(riscv): 把内核编译target改为riscv64gc & 获取time csr的频率 & 修正浮点保存与恢复的汇编的问题 (#699)
- feat(lock): 实现robust futex (#682)
- feat(fs): BlockCache-read cache支持 (#521)
- feat(mm): 实现SystemV共享内存 (#690)
- chore(tools): add bootstrap support for Centos/RHEL8/fedora (#713)
- feat(driver/pty): 完善pty,目前pty能够支持ssh (#708)
- fix(smp): 修复smp启动的时候,损坏0号核心的idle进程的内核栈的问题 (#711)
- feat(driver/riscv): 初始化riscv-sbi-timer (#716)
- doc: Update DragonOS description and introduction (#717)
- feat(riscv): 让riscv64能正常切换进程,并运行完所有的initcall (#721)
- feat(net): 实现tcp backlog功能 (#714)
- feat(mm): 添加slab内存分配器 (#683)
- feat(fs): 引入Umount系统调用 (#719)
- doc: Update build instructions for riscv64 architecture (#725)
- fix(fs): socket统一改用
GlobalSocketHandle
,并且修复fcntl SETFD的错误 (#730) - feat: alarm系统调用实现 (#710)
- feat(tty): add dummy console (#735)
- fix(driver/pci): pci: 统一使用ecam root (#744)
- feat(driver/pci): pci: 添加pci root manager来管理pci root,并使得riscv能够正常扫描pci设备. (#745)
- build: 将smoltcp升级到0.11.0版本 (#740)
- fix(unified-init): 修复unified-init导致cargo check失败的问题 (#747)
- chore: Update virtio-drivers to commit 61ece509c4 and modify max_queue_size implementation (#748)
- feat(net): 实现raw socket的poll (#739)
- feat(mm): 实现缺页中断处理,支持页面延迟分配和写时拷贝,以及用户栈自动拓展 (#715)
- feat(driver): 把virtio添加到sysfs (#752)
- fix(dog): 添加CC环境变量,解决编译时找不到musl-gcc的问题 (#753)
- doc(community): add description of conventional commit standard (#754)
- feat(driver/virtio): riscv: 添加virtio-blk driver,并在riscv下能够正确挂载FAT32 (#761)
- feat(fs): add sys_dup3 (#755)
- feat(riscv): riscv下能够运行hello world用户程序 (#770)
- feat(sched): add sched_yield (#766)
- refactor(process): 调整arch_switch_to_user函数,把riscv和x86_64的共用逻辑抽取出来。 (#773)
- feat(driver/acpi_pm): Implement ACPI PM Timer (#772)
- chore: 适配dadk 0.1.11 (#777)
- fix(libs/lib_ui): fix the display errors when system initialize (#779)
- fix(riscv/process): 把riscv的调度时钟节拍率与HZ同步,并且修复切换到用户态的时候忘了在内核态关中断的bug (#780)
- fix: (riscv/timer): 修复riscv下没有更新墙上时钟以及没有处理软中断的bug (#783)
- feat(mm): add slab usage calculation (#768)
- feat(bitmap): Add bit and for AllocBitMap (#793)
- fix(mm): 修复vma映射标志错误 (#801)
- feat:(riscv/intr) 实现riscv plic驱动,能处理外部中断 (#799)
- doc(sched):调度子系统文档即cfs文档 (#807)
- fix(net): Fix TCP Unresponsiveness and Inability to Close Connections (#791)
- fix: disable mm debug log to prevent system lockup due to thingbuf issue (#808)
- feat(driver/pci): add pci bus into sysfs (#792)
- doc: Add Gentoo Linux In build_system.md (#810)
更新内容-用户环境
新特性/新应用移植
- 添加core utils到系统 (#624)
- 移植dns查询工具dog的--tcp功能 (#652)
更新内容-CI
- 引入triagebot对issue和PR进行分类
- 添加clippy检测的自动化工作流 (#649)
- ci: import issue checker (#750)
- ci: update the match regex of issue checker (#784)
- ci: 添加支持gentoo系统的一键安装脚本 (#809)
赞助商列表
- 中国雅云 雅安大数据产业园为DragonOS提供了云服务器支持。
源码、发布版镜像下载
您可以通过以下方式获得源代码:
通过Git获取
- 您可以访问DragonOS的仓库获取源代码:https://github.com/DragonOS-Community/DragonOS
- 您可以访问https://github.com/DragonOS-Community/DragonOS/releases下载发布版的代码。
通过DragonOS软件镜像站获取
为解决国内访问GitHub慢、不稳定的问题,同时为了方便开发者们下载DragonOS的每个版本的代码,我们特意搭建了镜像站,您可以通过以下地址访问镜像站:
您可以通过镜像站获取到DragonOS的代码压缩包,以及编译好的可运行的磁盘镜像。
Ext Link: https://dragonos.org/archives/334
1
共 1 条评论, 1 页
评论区
写评论虽然不看好前景,但先赞一波