# V0.1.5

:::{note}
本文作者：龙进 <longjin@RinGoTek.cn>

2023年3月13日
:::

## 贡献者名单

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

- 龙进 <longjin@DragonOS.org>
- 关锦权 <guanjinquan@DragonOS.org>
- 苏琎韬 <sujintao@DragonOS.org>
- 孔维超 <kongweichao@DragonOS.org>
- 侯嘉滢 <houjiaying@DragonOS.org>
- 吴宇健 <wuyujian@DragonOS.org>
- 周于喆 <zhouyuzhe@DragonOS.org>
- Satin Wuker <74630829+SatinWuker@users.noreply.github.com>

## 赞助者名单

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

- 万晓兰
- David Wen
- [Seele.Clover](https://github.com/seeleclover)
- [FindWangHao](https://github.com/FindWangHao)
- 叶锦毅
- 林
- Albert
- [TerryLeeSCUT · GitHub](https://github.com/TerryLeeSCUT)
- slientbard
- 悟

## 更新内容-内核

- 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)

## 更新内容-软件移植

无

## 源码、发布版镜像下载

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

### 通过Git获取

- 您可以访问[https://github.com/DragonOS-Community/DragonOS/releases](https://github.com/DragonOS-Community/DragonOS/releases)下载发布版的代码，以及编译好的，可运行的磁盘镜像。
- 我们在gitee上也有镜像仓库可供下载：[https://gitee.com/DragonOS/DragonOS](https://gitee.com/DragonOS/DragonOS)

### 通过DragonOS软件镜像站获取

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

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

- [https://mirrors.DragonOS.org](https://mirrors.DragonOS.org)
- [https://mirrors.DragonOS.org.cn](https://mirrors.DragonOS.org.cn)
- 国内镜像加速： [https://mirrors.ringotek.cn/] (https://mirrors.ringotek.cn/)

## 开放源代码声明


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

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

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

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

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

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

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

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

### 开源软件使用情况

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

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

- Linux - 	https://git.kernel.org/ - GPLv2
- skiftOS - https://github.com/skiftOS/skift - MIT
- FYSOS - https://github.com/fysnet/FYSOS - [FYSOS' License](https://github.com/fysnet/FYSOS/blob/9a8968e3d6600de34539c028c843f4c06d134039/license.txt)
- 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

## 当前版本的所有提交记录

```text
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)

```