前言 由于DragonOS的驱动、模块变多了,如果每个模块的初始化都手动加个函数调用的话,对条件编译非常不友好 …
解决基于kvm的win10虚拟机只识别2个cpu的问题
在使用kvm+qemu创建win10虚拟机的时候,发现尽管我在virt manager里面指定了72个vcpu …
使用Rust构建一个kvm用户空间实例
最近在学习虚拟化相关的内容,想着使用Rust构建一个最小的kvm用户空间实例。也就是直接调用kvm的api,然 …
DragonOS网络子系统介绍
本文将对DragonOS网络子系统进行简要介绍。出于“快速实现功能”的考虑,DragonOS目前网络子系统基于 …
Linux IO向量化:iovec与readv、writev系列函数
本文整合自三篇参考资料,具体引用见文末。 iovec结构体 struct iovec定义了一个向量元素。通常, …
DragonOS新版地址映射管理及VMA机制设计
DragonOS官网:https://dragonos.org 1. 地址映射管理 1.1. 映射机制设计 对 …
RAII技术:在Rust中实现带有守卫的自旋锁,支持一定程度上的编译期并发安全检查
本文介绍了一种使用了RAII技术的自旋锁,配合Rust的生命周期及所有权机制,能够在减少代码量的同时,很好的解决自旋锁的“忘记放锁”、“双重释放”、“未加锁就访问”的并发安全问题。并且这种自旋锁能够支持编译期的检查,任何不符合以上安全要求的代码,将无法通过编译。
一个在关键路径上面隐藏了11个月的BUG:DragonOS进程切换查错
前言的前面 DragonOS是一个从0开始研发内核及用户态环境的,独立自主的,面向服务器领域的开源操作系统,提 …
简单实现posix中规定的memcmp函数
简介 memcmp函数的功能非常简单,传入两个指针s1和s2,以及要比较的字节大小n,比较这两块内存的值的差异 …
高效的无锁引用计数结构:lockref
lockref lockref是将自旋锁与引用计数变量融合在连续、对齐的8字节内的一种技术。 lockre …