转自https://www.aloxaf.com/2018/09/reduce_rust_size/ 文章目录 …
内核调试黑魔法:对QEMU自身进行调试,从而定位DragonOS问题
前言 与CPU、硬件打交道的时候,有时候看不出自己的代码或者系统出现了什么问题,这时候内核调试工具就显得尤为重 …
DragonOS的MMLog机制
龙进 Longjin@dragonos.org 本文基于DragonOS主线 dcf232f3 版本进行讲解。 …
Unified-init:为DragonOS开发的模块统一初始化组件
前言 由于DragonOS的驱动、模块变多了,如果每个模块的初始化都手动加个函数调用的话,对条件编译非常不友好 …
DragonBoot: 在Risc-V上,使用Rust编写Stage2 UEFI bootloader
背景 由于RiscV和Rust都是比较新的两个东西,因此两个新的东西结合在一起就会发生很逆天的事情:Rust在 …
使用Rust构建一个kvm用户空间实例
最近在学习虚拟化相关的内容,想着使用Rust构建一个最小的kvm用户空间实例。也就是直接调用kvm的api,然 …
DragonOS网络子系统介绍
本文将对DragonOS网络子系统进行简要介绍。出于“快速实现功能”的考虑,DragonOS目前网络子系统基于 …
Rust Arc指针类型转换:dyn转换为具体类型
前言 在写代码的时候,经常通过dyn关键字+Arc指针来实现多态。但是,有时候会遇到这样一个需求:我们想获取具 …
Rust数组默认初始化:初始化未实现Copy trait的类型
在安全的Rust中,编译器要求数组一旦被声明,它所占用的内存应当被完全初始化。但是,在一些情况下,这样会导致没 …
RAII技术:在Rust中实现带有守卫的自旋锁,支持一定程度上的编译期并发安全检查
本文介绍了一种使用了RAII技术的自旋锁,配合Rust的生命周期及所有权机制,能够在减少代码量的同时,很好的解决自旋锁的“忘记放锁”、“双重释放”、“未加锁就访问”的并发安全问题。并且这种自旋锁能够支持编译期的检查,任何不符合以上安全要求的代码,将无法通过编译。