前言 与CPU、硬件打交道的时候,有时候看不出自己的代码或者系统出现了什么问题,这时候内核调试工具就显得尤为重 …
汇编调试方式之:通过串口转义输出寄存器的值
前两天在调试DragonOS的riscv引导代码的时候,想在真机上获取寄存器的值,就找到了这篇帖子,非常有用, …
DragonOS的MMLog机制
龙进 Longjin@dragonos.org 本文基于DragonOS主线 dcf232f3 版本进行讲解。 …
Unified-init:为DragonOS开发的模块统一初始化组件
前言 由于DragonOS的驱动、模块变多了,如果每个模块的初始化都手动加个函数调用的话,对条件编译非常不友好 …
【故障分析+解决】解决链接程序时,由于链接crt*.o的顺序问题导致的bug
现象 今天在为DragonOS编译http服务器程序时,遇到了一个神奇的bug: 程序在一台机器A上能够正常编 …
DragonOS网络子系统介绍
本文将对DragonOS网络子系统进行简要介绍。出于“快速实现功能”的考虑,DragonOS目前网络子系统基于 …
DragonOS新版地址映射管理及VMA机制设计
DragonOS官网:https://dragonos.org 1. 地址映射管理 1.1. 映射机制设计 对 …
wireshark调试DragonOS的网络
由于开发的需要,要调试DragonOS的网卡驱动,在此写个博客记录一下。 qemu参数设置 设置qemu的启动 …
RAII技术:在Rust中实现带有守卫的自旋锁,支持一定程度上的编译期并发安全检查
本文介绍了一种使用了RAII技术的自旋锁,配合Rust的生命周期及所有权机制,能够在减少代码量的同时,很好的解决自旋锁的“忘记放锁”、“双重释放”、“未加锁就访问”的并发安全问题。并且这种自旋锁能够支持编译期的检查,任何不符合以上安全要求的代码,将无法通过编译。
一个在关键路径上面隐藏了11个月的BUG:DragonOS进程切换查错
前言的前面 DragonOS是一个从0开始研发内核及用户态环境的,独立自主的,面向服务器领域的开源操作系统,提 …