V0.1.5

备注

本文作者:龙进 longjin@RinGoTek.cn

2023年3月13日

贡献者名单

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

赞助者名单

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

更新内容-内核

  • scheduler: doc: 实时进程调度器文档 (#163)

  • scheduler: rt: RTQueue改用双向链表存储 (#174)

  • scheduler: load balance: 多核负载均衡 (#193)

  • Semaphore: new: 新增了rust实现的信号量 (#183)

  • mm: refactor: 重构了MMIO地址分配器 (#184)

  • RwLock: new: 新增了rust实现的读写锁 (#186)

  • driver: update: 完善pci的功能 (#194)

  • driver: new: VirtIO网卡驱动(仍存在问题) (#194)

  • driver: refactor: Rust版本的AHCI驱动 (#198)

  • block io: delete: 移除Block IO 调度器. (#196)

  • filesystem: refactor: 新版的VFS (#198)

  • filesystem: refactor: 新版的ProcFS (#198)

  • filesystem: refactor: 新版的DevS (#198)

  • filesystem: new: RamFS内存文件系统 (#198)

  • filesystem: new: FAT12/FAT16/FAT32文件系统 (#198)

  • filesystem: new: 新的设备、块设备抽象 (#198)

更新内容-用户环境

  • libc: 调整,将所有的app直接链接到libc.a中,而不是都执行一遍”搜索.o”的过程 (#171)

更新内容-其他

  • bootstrap: 解决ubuntu2210版本无法正确编译grub,以及正确安装qemu的问题 (#176)

  • toolchain: 添加rust的bare bone工具链 (#197)

更新内容-软件移植

源码、发布版镜像下载

  您可以通过以下方式获得源代码:

通过Git获取

通过DragonOS软件镜像站获取

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

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

开放源代码声明

备注

为促进DragonOS项目的健康发展,DragonOS以GPLv2开源协议进行发布。所有能获得到DragonOS源代码以及相应的软件制品(包括但不限于二进制副本、文档)的人,都能享有我们通过GPLv2协议授予您的权利,同时您也需要遵守协议中规定的义务。

这是一个相当严格的,保护开源软件健康发展,不被侵占的协议。

对于大部分的善意的人们而言,您不会违反我们的开源协议。

我们鼓励DragonOS的自由传播、推广,但是请确保所有行为没有侵犯他人的合法权益,也没有违反GPLv2协议。

请特别注意,对于违反开源协议的,尤其是商业闭源使用以及任何剽窃、学术不端行为将会受到严肃的追责。(这是最容易违反我们的开源协议的场景)。

并且,请注意,按照GPLv2协议的要求,基于DragonOS修改或二次开发的软件,必须同样采用GPLv2协议开源,并标明其基于DragonOS进行了修改。亦需保证这些修改版本的用户能方便的获取到DragonOS的原始版本。

您必须使得DragonOS的开发者们,能够以同样的方式,从公开渠道获取到您二次开发的版本的源代码,否则您将违反GPLv2协议。

关于协议详细内容,还敬请您请阅读项目根目录下的LICENSE文件。请注意,按照GPLv2协议的要求,只有英文原版才具有法律效力。任何翻译版本都仅供参考。

开源软件使用情况

  DragonOS在开发的过程中,参考了一些开源项目的设计,或者引入了他们的部分代码,亦或是受到了他们的启发。现将他们列在下面。我们对这些开源项目的贡献者们致以最衷心的感谢!

格式:<项目名> - <链接> - <开源协议>

  • Linux - https://git.kernel.org/ - GPLv2

  • skiftOS - https://github.com/skiftOS/skift - MIT

  • FYSOS - https://github.com/fysnet/FYSOS - FYSOS’ License

  • LemonOS - https://github.com/LemonOSProject/LemonOS.git - BSD 2-Clause License

  • LZ4 - https://github.com/lz4/lz4 - BSD 2-Clause license

  • SerenityOS - https://github.com/SerenityOS/serenity.git - BSD 2-Clause license

  • MINE - 《一个64位操作系统的设计与实现》田宇; 人民邮电出版社

  • chcore - 《现代操作系统:设计与实现》陈海波,夏虞斌; 机械工业出版社

  • SimpleKernel - https://github.com/Simple-XX/SimpleKernel - MIT

  • rcore-fs - https://github.com/rcore-os/rcore-fs.git - MIT

  • redox - https://gitlab.redox-os.org/redox-os/redox - MIT

当前版本的所有提交记录

commit 84407d360511c7699938a0f245ae33ff76f16b17
Author: login <longjin@DragonOS.org>
Date:   Mon Mar 13 00:26:04 2023 +0800

    bugfix:解决touch命令失败的问题 (#199)
    
    * bug fix : 解决touch命令失败的问题

commit 004e86ff19727df303c23b42c7a271b9214c6898
Author: login <longjin@DragonOS.org>
Date:   Sun Mar 12 22:36:11 2023 +0800

    新版文件系统重构完成 (#198)
    
    1.重构:VFS
    2. 重构:ProcFS
    3. 重构:DevFS
    4. 重构:FAT32
    5. 重构:AHCI驱动
    6. 新增:RamFS
    7. 新增:MountFS
    8. 新增:FAT12
    9. 新增:FAT16
    10. 重构:设备抽象
    
    Co-authored-by: guanjinquan <1666320330@qq.com>
    Co-authored-by: DaJiYuQia <88259094+DaJiYuQia@users.noreply.github.com>

commit 17041e0e307eaf9e8d8ddbddfa186cd1f10f1bc0
Author: login <longjin@DragonOS.org>
Date:   Sun Mar 12 21:04:37 2023 +0800

    添加rust的bare bone工具链 (#197)

commit 26d84a31393c50063ff416bc509316e8d342028c
Author: YJwu2023 <119829947+YJwu2023@users.noreply.github.com>
Date:   Sat Mar 11 21:09:50 2023 +0800

    新增VirtIO网卡驱动 (#194)
    
    * 修复内存bug与grub安装脚本的错误
    
    * 修改小bug
    
    * PCI增加功能与virtio-net驱动
    
    * little fix
    
    * virtio-net小修改

commit 1d48996375149279a721777b2c600e1b5c3ee1b5
Author: kong <45937622+kkkkkong@users.noreply.github.com>
Date:   Sat Mar 11 18:17:35 2023 +0800

    多核负载均衡(#193)
    
    * feat(sched):CPU负载检测初步实现
    
    * fix(smp):调整smp中的apic的头文件声明
    
    * fix(smp):简单的负载均衡算法实现
    
    * fix(sched):抽离负载均衡方法
    
    * fix(sched):修改rt中的运行队列bug,调整负载均衡逻辑
    
    * fix(process):移除无用测试代码
    
    * reformat code

commit ef9f9732b09f78d7192f1d0dd3b41be655fb0914
Author: houmkh <100781004+houmkh@users.noreply.github.com>
Date:   Thu Mar 9 23:31:25 2023 +0800

    修复了mmio buddy的bug (#189)
    
    * 修改buddy_query

commit c1396d277115b371d09ad6d39a1c419f9224ffd0
Author: Gou Ngai <sujintao@dragonos.org>
Date:   Mon Mar 6 11:28:32 2023 +0800

    Rwlock文档 (#186)
    
    * Rwlock文档

commit a7eb62a47a8d701b90a14f83cc9028cfed07c268
Author: houmkh <100781004+houmkh@users.noreply.github.com>
Date:   Mon Mar 6 11:21:29 2023 +0800

    修改mmio-buddy代码结构和函数名 (#184)
    
    * 修改mmio-buddy结构和函数名

commit c2481452f81750ec02adec627ab2edbc93d9cd9c
Author: houmkh <100781004+houmkh@users.noreply.github.com>
Date:   Sat Mar 4 18:36:55 2023 +0800

    rust重构mmio_buddy和mmio (#178)
    
    * rust重构mmio_buddy和mmio
    
    * mmio-buddy文档
    
    ---------
    
    Co-authored-by: longjin <longjin@RinGoTek.cn>

commit f1284c35717a2f9f8cee7cecfc835ba1d23a1161
Author: Gou Ngai <sujintao@dragonos.org>
Date:   Sat Mar 4 17:47:17 2023 +0800

    新增了rust实现的信号量 (#181)
    
    * 新增了rust实现的信号量
    
    ---------
    
    Co-authored-by: longjin <longjin@RinGoTek.cn>

commit 83b9512c1c1e8289000084adcafddebee6a23f16
Author: Gou Ngai <sujintao@dragonos.org>
Date:   Sat Mar 4 16:54:42 2023 +0800

    新增了rust实现的信号量 (#183)
    
    * 新增了rust实现的信号量

commit e532a536a0b244f4590e6eb7910084bd63049704
Author: login <longjin@ringotek.cn>
Date:   Thu Mar 2 22:50:07 2023 +0800

    添加赞助者:FengWangHao (#179)

commit b66beefd4e9ead61ee55f335246ebeb8277d3011
Author: login <longjin@ringotek.cn>
Date:   Mon Feb 27 01:00:35 2023 +0800

    解决ubuntu2210版本无法正确编译grub,以及正确安装qemu的问题 (#176)

commit 4177d0327c3eacdc606f0b22f99f208fd48cfff3
Author: kong <45937622+kkkkkong@users.noreply.github.com>
Date:   Mon Feb 20 17:03:37 2023 +0800

    RTQueue改用双向链表存储(#174)
    
    * RTQueue改用双向链表存储

commit 2bf5ee0e3cac3a91dee6a13b71c86a9477c07d9b
Author: login <longjin@ringotek.cn>
Date:   Sat Feb 11 13:04:24 2023 +0800

    修改libc的编译相关内容(#171)
    
    1.将libc的include文件夹分为export和internal
    2.将所有app都直接链接libc.a,而不是都执行一遍"搜索.o"的过程

commit 90b077f9d3ecd48ca46f8bbb32363620db6ddbe6
Author: kong <45937622+kkkkkong@users.noreply.github.com>
Date:   Thu Feb 9 15:24:37 2023 +0800

    Sched rt doc (#163)
    
    * update
    
    * 完善调度器文档
    
    * 更新RT调度器文档
    
    * 更新实时调度文档

commit 009f92d50fe2e52e425bce397801d3fa204daecd
Author: Satin Wuker <74630829+SatinWuker@users.noreply.github.com>
Date:   Tue Feb 7 19:29:09 2023 -0800

    fix typos 改正README_EN的错别字和语法错误 (#167)