百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

XV6 操作系统入门系列-01-环境配置

liuian 2025-08-05 19:31 36 浏览

xv6 是一个用于教育目的的简单 Unix 操作系统,基于 Unix 第六版(Version 6, V6)开发,运行在 RISC-V 处理器上。它由麻省理工学院(MIT)开发,用于操作系统课程(Operating System Engineering[1])教学,帮助学生理解操作系统的基本概念和实现原理。

最近我突发奇想,想再研究一遍操作系统 xv6 。当即打开电脑,根据官方教程一通安装,成功启动 xv6 ,过程非常顺利!最大的感受就是,现在安装 xv6 依赖的软件真是太简单了,真是学习操作系统最好的时候。

学习过程往往需要一个梯子,xv6 是最好的学习操作系统的梯子,毫无疑问。我希望我的这个系列文章,也成为一个好的梯子,给想学习操作系统的同学足够的帮助。

第一步-安装依赖

在早些年,要想运行 xv6 可太难了,经常会碰到各种各样的问题。但是现在按照官方的安装教程[2],非常顺利。 如果我说请点开另外的链接来查找安装指令,可太令人恼火了。所以我汇总在这里:

  • o Linux-Ubuntu24 及以后的版本
sudo apt-get install git build-essential gdb-multiarch qemu-system-misc gcc-riscv64-linux-gnu binutils-riscv64-linux-gnu
  • o Windows-使用 WSL2
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install git build-essential gdb-multiarch qemu-system-misc gcc-riscv64-linux-gnu binutils-riscv64-linux-gnu
  • o MacOS
# 安装MacOS上的XCode开发工具
xcode-select --install
# 安装Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 安装riscv编译工具链
brew tap riscv/riscv
brew install riscv-tools
# 安装CPU模拟器平台QEMU,模拟RISC-V处理器。
brew install qemu

第二步-下载源代码

下载源码需要用到 git 工具,源代码分为三个部分

  • o xv6 的源代码 git clone https://github.com/mit-pdos/xv6-riscv.git
  • o xv6 的教材 git clone https://github.com/mit-pdos/xv6-riscv-book.git
  • o xv6 的实验代码 git clone git://g.csail.mit.edu/xv6-labs-2024

我们进入xv6-riscv 文件夹,输入 make qemu ,如果出现如下画面,说明我们的环境搭建成功了,并且成功运行了 xv6 操作系统。

官方没有说清楚的内容

1. 如何退出 xv6

这是很多初学者非常容易遇到的不值得卡住的困难:如何退出 xv6。资料会告诉我们按下 Ctrl + a x。但是注意了,这存在重大歧义。 实际上,这个快捷键对应三个步骤:

  • o 同时按下 Ctrla 键;
  • o 同时放松 Ctrla 键;
  • o 单独按下 x 键。 如果这个提示对你有帮助,就请给我点个赞吧。

2. 如何配置官方推荐的 Debug 工具——GDB

第一步,如果你使用的是 Linux 或者 Window,这里没有什么问题。但是如果你使用的是 MacOS,你会遇到没有 GDB 的情况,请不要慌张,我们只需要安装一下它:

brew install riscv64-elf-gdb

第二步,我们配置 GDB,让它能够自动读取 xv6 项目文件夹下的 GDB 的配置文件。

mkdir -p ~/.config/gdb # 在用户配置目录下创建gdb文件夹
touch ~/.config/gdb/gdbinit # 创建用户个人的gdb全局配置文件
echo 'set auto-load safe-path /' > ~/.config/gdb/gdbinit # 允许GDB自动加载配置文件

第三步,在 xv6-riscv 文件夹下,调用 make qemu-gdb 来编译可 Debug 的 xv6 操作系统镜像。我们可以看到,make 同时生成了镜像文件 fs.img 和 针对这个项目 gdb 配置文件 .gdbinit

编译

第四步,在保持第三步的 terminal 不变的情况下,打开一个新的 terminal,调用 gdb 来进入 debug 界面。

  • o Linux 或者 Windows:gdb-multiarch
  • o MacOS: riscv64-elf-gdb

GDB调试

小结

我们提炼总结一下上面的内容。我们一共安装了四个内容,它们的依赖关系是这样的:首先下载 XV6 源码,然后调用 Risc-V 编译工具编译成二进制文件,然后使用 Qemu 模拟器运行二进制文件,最后调用 GDB 调试工具调试 Qemu。

工具依赖关系

引用链接

[1] Operating System Engineering: https://pdos.csail.mit.edu/6.828/2024/index.html
[2] 官方的安装教程:
https://pdos.csail.mit.edu/6.828/2024/tools.html

相关推荐

没有光驱的笔记本怎么看光盘

1、接外置光驱。将外置光驱与笔记本连接,使笔记本实现光驱功能,即可查看光盘。2、用有光驱的电脑将光盘内容拷到电脑上,再使用U盘或者移动硬盘将内容拷到笔记本上,或使用网络连接共享,即可查看光盘。  某些...

win10激活码永久(win10激活码最新)

1、使用Windows+R组合快捷键打开运行命令框运行:slmgr.vbs-dlv命令可以查询到Win10的激活信息,包括:激活ID、安装ID、激活截止日期等信息。2、运行:slmgr...

北京科兴的疫苗怎么回事(北京科兴的疫苗是什么疫苗)

不是一家公司的,因为北京科兴生物科技有限公司和长春生物科技有限公司都是生产疫苗的公司,但是不是属于同一家公司的科兴来自中国。全称北京科兴生物制品有限公司,是中国第一家在美上市的疫苗企业,北京科兴建有专...

页眉横线一直删除不了(页眉横线一直删除不了 如何删除)

一、页眉横线的本质——边框双击页眉把光标定位到页眉的文字中,“开始”→“样式”→“样式检查器”→“显示格式”(勾选底部的“显示所有格式标记”)→往下移右边的滑块到“边框”,“边框”下的“底端:(单实线...

分区助手分区教程(分区助手如何操作)

以老毛桃启动盘中的分区助手为例,使用步骤如下(调整分区大小):1、在主菜单界面用键盘方向键“↓”将光标移至“【02】运行老毛桃Win8PE防蓝屏版(新电脑)”,回车确定;2、鼠标点击开始图标,选择分区...

做启动盘用什么软件好(做启动盘的工具)

制作软件下载后,安装。运行是时候就有提示插入u盘。然后点击一键制作即可。至于工具哪个好,个人使用的熟悉度来决定,u盘系统盘制作工具功能几乎一样。

qq对战平台老版本(qq对战平台在qq哪里)

1.打开任务管理器-进程。查找是否有cstrike.exe或hl.exe(CS名字.exe)。如果有的话。请点击结束进程。再试试。2.打开任务管理器-进程。查找是否有QQPet.exe(QQ宠物进...

电脑开机无限自动重启(电脑开机后自动重启无数遍是什么原因)

依次打开开始控制面板,打开系统安全系统,找到高级系统设置并打开,进入系统属性选择高级,找到启动和故障恢复点击设置,在弹出页面找到系统失败自动重新启动取消勾选并启动。2.键盘按住win+r打开运行框,...

win7自带的摄像头程序(win7自带的摄像头软件)
  • win7自带的摄像头程序(win7自带的摄像头软件)
  • win7自带的摄像头程序(win7自带的摄像头软件)
  • win7自带的摄像头程序(win7自带的摄像头软件)
  • win7自带的摄像头程序(win7自带的摄像头软件)
ghostxp32位下载(ghost win7下载32位)

你不需要直接加4G的,你再买一条2G同品牌型号内存加上去,组成4G内存就行,不过系统要改为Win764位系统,因为XP只能认3.25G内存,如果你想下载圣安地列斯游戏,并且使用的系统是Window...

eset nod32 24位激活码(eset激活码生成器)

ESETNOD32Antivirus4的激活码是24位的例如M26D-0233-4W9Q-VSSB-D84G-JJJJ或V26D-0243-4W9Q-VSSB-D84G-JGFD(友情提示...

鸿蒙系统的优缺点(鸿蒙4.3和5.0哪个好)

一、鸿蒙系统的缺点鸿蒙最大的缺点应该就是生态了。鸿蒙系统依赖安卓生态无可厚非,前者毕竟是一款刚刚发布两年的新系统。而安卓,早在几十年前就已经上线,谷歌建设安卓生态也用了十多年的时间。在巨大的时间差面前...

bios怎么格式化c盘(bios格式下怎么彻底格式化电脑)
bios怎么格式化c盘(bios格式下怎么彻底格式化电脑)

步骤/方式1BIOS没有格式化硬盘的功能。对硬盘进行格式化,首先需要给硬盘分区并分配文件系统,BIOS不支持文件系统的识别,所以也不支持格式化的功能。步骤/方式2早期的计算机系统在BIOS里面曾经有过低级格式化的功能,但是低级格式化只是对硬...

2025-12-22 20:05 liuian

电脑开机显示屏显示蓝屏(开机后显示器蓝屏)

造成电脑蓝屏的原因主要有以下几点。1、电脑使用过度,温度过高过度使用电脑会导致电脑硬件发生损坏,系统超载,内部运算过多,cpu温度急剧升高,会发生系统错误。建议更换散热系统,更新“小风扇”设备,并合...

设置无线网密码步骤(如何设置无线网络wifi密码)

首先使用已经连接到网络的手机或电脑,在浏览器地址栏输入192.168.1.1或者192.168.0.1;输入管理员账号和密码,两个一般都是输入admin;点击【无线设置】,进入【安全选项】,在输入旧密...