< 返回版块

longjin 发表于 2024-05-13 18:30

Tags:OS,DragonOS,kernel,linux

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服务端

0.1.10

更新内容-内核

  • 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软件镜像站获取

  为解决国内访问GitHub慢、不稳定的问题,同时为了方便开发者们下载DragonOS的每个版本的代码,我们特意搭建了镜像站,您可以通过以下地址访问镜像站:

  您可以通过镜像站获取到DragonOS的代码压缩包,以及编译好的可运行的磁盘镜像。


Ext Link: https://dragonos.org/archives/334

评论区

写评论
chunyunzhe 2024-05-15 08:05

虽然不看好前景,但先赞一波

1 共 1 条评论, 1 页