DragonOS是一个采用GPLv2协议开源的,从0开始构建的 …
如何在电脑的虚拟机上运行DragonOS?
前言 首先,由于DragonOS的编译、运行脚本是为Linux系统而编写的,因此我们首先需要在电脑上安装Lin …
内核线程的fork与普通的fork的区别
我们在学习操作系统课程的时候,应该都学过fork的概念。fork是一个系统调用,用于将当前进程/线程分裂成完全 …
DragonOS的内核栈traceback
简介 内核栈traceback的功能位于kernel/debug/traceback/文件夹中。为内核态提 …
DragonOS虚拟文件系统概述
本文已基于GPLv2协议发布在https://docs.dragonos.org/zh_CN/latest/k …
Linux下,使用nm命令输出可执行文件的符号表
可执行文件的符号表(symbol table)记录了某个可执行文件中的函数名、全局变量、宏定义等符号信息,这些 …
DragonOS的中断处理设计
在这里简单记录一下目前DragonOS中的中断处理的设计吧。 首先,先上DragonOS的GitHub链接:h …
简单实现了DragonOS的块设备驱动模型以及AHCI驱动程序
上周写好了DragonOS的AHCI驱动程序,能够通过DMA读写SATA硬盘,在这里简单记录一下。 源代码:h …
如何根据ACPI规范来获取I/O APIC控制寄存器的地址
ACPI这个单词,用电脑用多了的同学应该或多或少能在系统的报错信息等地方见过它。它表示表示高级配置和电源管理接 …
记一次艰难的debug经历
前几天好不容易写好了dragonOS的内核线程的代码,结果在进程切换的时候总是报page_fault以及gen …