【xv6操作系统】安装、运行与调试

news2024/11/27 18:00:17

一、构建、装入过程

1.编写“启动代码+主体代码”(在下载的xv6的原始代码上进行修改)

2.源代码进行编译、链接生成系统镜像(elf格式的目标文件)

3.将系统镜像保存起来(如保存到磁盘、flash或者网络服务器上)

4.主机启动(物理机或虚拟机) -> 载入镜像(控制权转给启动代码)

5.运行启动代码

6.进入主体代码

二、安装运行QEMU+xv6

1.安装Linux

我采用的是deepin-desktop-community-20.7-amd64虚拟机环境

安装链接:deepin系统安装教程(详细)_Shun Li的博客-CSDN博客

2.安装QEMU仿真器

我们需要QEMU来做一个虚拟的i386的机器,然后让它来运行我们的操作系统。

(1)打开终端,然后输入

sudo apt-get update

(2)下载基本的软件

sudo apt-get install net-tools gcc g++ git vim
sudo apt-get install git build-essential gdb-multiarch qemu-system-misc gcc-riscv64-linux-gnu binutils-riscv64-linux-gnu

(3)开始验证刚刚下载安装的工具的版本号

qemu-system-riscv64 --version

riscv64-linux-gnu-gcc --version

3.下载xv6源代码

(1)对xv6的源码进行下载

git clone git://g.csail.mit.edu/xv6-labs-2021

(2)到下载文件目录下(xv6-labs-2021)进行相关的路径配置

cd xv6-labs-2021
git checkout util

 (3)对xv6文件进行编译

make 
make qemu

在源代码的目录树的根目录下
执行make qemu,运行qemu+xv6
        或者
执行make qemu-nox,运行qemu+xv6

启动之后,仿真器会弹出一个名为QEMU的qemu+xv6运行窗口,窗口显示进行一系列操作之后,给出shell提示符。

在xv6中,键入Ctrl-P可以显示进程信息。

参考链接:

关于操作系统项目课的环境搭建——在ubuntu上,安装xv6和qemu_xv6安装_bulbul6767的博客-CSDN博客

02-xv6操作系统-安装调试_哔哩哔哩_bilibili

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/590725.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

上海斯歌K2 x 赛博威 | 战略合作深度交流暨签约仪式

2月16日,上海斯歌K2与赛博威进行了战略合作深度交流,并在赛博威广州科学城办公室举办战略合作签约仪式。 为满足客户在数智化建设过程中的多元化需求,上海斯歌K2与赛博威曾多次产生交集。凭借双方多年合作的良好基础,自2022年始&a…

【C++】右值引用和移动语义(详细解析)

文章目录 1.左值引用和右值引用左值引用右值引用 2.左值引用和右值引用的比较左值引用总结右值引用总结 3.右值引用的使用场景和意义知识点1知识点2知识点3知识点4总结 4.完美转发万能引用见识完美转发的使用完美转发的使用场景 1.左值引用和右值引用 传统的C语法中就有引用的…

【C++】引用 - 基本语法,注意事项,函数参数,函数返回值,本质

文章目录 1. 引用的基本语法2. 引用的注意事项3. 引用做函数参数4. 引用做函数返回值5. 引用的本质6. 常量引用 1. 引用的基本语法 作用是:给变量起别名 语法:数据类型 &别名 原名 2. 引用的注意事项 引用必须初始化引用在初始化后,不…

量子计算:基本概念

选了课程 《量子计算与量子信息》,没学过量子力学的博主实在是听不懂啊 (ㄒoㄒ) 简略整理了下 可能大概也许 明白一二都没有 的课程最开始两节的内容,如有错误欢迎指出 ~ ~ ~ 文章目录 矩阵论复空间中的矩阵矩阵上的运算 量子力学量子态基本假设 量子计算…

阿里云的内容识别技术可以实现哪些场景下的智能化应用?

阿里云的内容识别技术可以实现哪些场景下的智能化应用? [本文由阿里云代理商[聚搜云]撰写]   随着人工智能技术的快速发展,阿里云借助自身的技术和资源优势,开发了一种名为“内容识别”的技术。这项技术能够高效、准确地识别出图片、视频、…

有个规划文档,会让软件开发更有效

有个规划文档,会让软件开发更有效 中小企业,业务部门不太清楚软件生产过程 软件生产有一定的抽象和复杂性 要形成一个共识 趣讲大白话:要有点整体观 【趣讲信息科技181期】 **************************** 2019年整理出了一个目录框架 用在很多…

windows的cmd命令窗口介绍

1.打开cmd 1.1.方式一 左下角搜索:“运行” -> 打开 输入"cmd" -> 确定 1.2.方式二 直接使用快捷键 windows r 即可打开 然后输入cmd,点击确认 1.3.方式三 打开文件管理器,输入cmd,回车 即可在该文件路径下…

统计软件与数据分析Lesson16----pytorch基本知识及模型构建

统计软件与数据分析Lesson16----pytorch基本知识及模型构建 0.上节回顾0.1 一元线性回归数据生成数据处理初始数据可视化 0.2 梯度下降Gradient DescentStep 0: 随机初始化 Random InitializationStep 1: 计算模型预测值 Compute Models PredictionsStep 2: 计算损失 Compute t…

让进程能够“相互沟通”的高级方式一:匿名管道

代码运行及测试环境:linux centos7.6 在阅读这篇文章时,需要掌握OS对文件管理的基础知识(文件打开表、文件描述符、索引结点…) 前言 我们都知道进程是具有独立性的,意味着进程之间无法相互通信。但在一些情况下&…

当我们谈笔记的时候,我们在谈什么

文章具体内容如图,感谢妙友分享好文🎉 本篇内容来源于网站Untag Minja 上传的内容《当我们谈笔记的时候,我们在谈什么》 如有侵权请联系删除!

如何搭建与使用FTP服务器

一、概述 目前用作搭建FTP服务器端的软件有很多,比如 Vsftpd、ProFTPD、PureFTPd、Wuftpd、ServerU、Filezilla Server等,这里使用Vsftpd进行搭建。 vsftpd 是“very secure ftp daemon”的首字母缩写,它是一款在Linux发行版中最受推崇的免…

应用到vscode

随着ChatGPT的热度持续上升,我们也不得不深刻认识到,这已经势不可挡了。我们必须去接受它,甚至是拥抱它。 私信我可以获取最新包 今天呢,我们要介绍的是vscode的一款插件,叫做ChatGPT: 使用方式 安装完成…

Xshell安装使用教程

简介 Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET 协议。Xshell 通过互联网到远程主机的安全连接以及它创新性的设计和特色帮助用户在复杂的网络环境中享受他们的工作。 Xshell可以在Windows界面下用来访问远端不…

【C#图解教程】第三章 C#编程概述 笔记总结

程序实例 命名空间一组类型声明 using system;表示使用类型库中的system中的所有类 namespace Myspace{}则会创建一个新的命名空间,这个空间中可以声明该空间的类 SimpleProgram中使用了两个命名空间。先是使用了System命名空间中定义的console类&…

【Linux】项目自动化构建工具-make和Makefile 的使用和进度条的实现

文章目录 一、什么是make/makefile二、如何编写makefile三、make 的工作原理1.make的使用2.make的依赖性3.项目清理4..PHONY伪目标 四、Linux第一个小程序 -- 进度条1.\r&&\n2.行缓冲区概念3.进度条process.hprocesstest.cmakefile 一、什么是make/makefile 什么是mak…

【c语言习题】使用链表解决约瑟夫问题

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c语言系列专栏&#xff1a;c语言之路重点知识整合 &#x…

在 Shell 脚本中使用 `exec` 命令的方法和用途

在 Shell 脚本中&#xff0c;exec 是一个非常有用的命令&#xff0c;用于执行命令或替换当前进程。它允许您在脚本中启动新的进程&#xff0c;并将控制权完全转移到新进程。本文将详细介绍在 Shell 脚本中使用 exec 命令的方法和用途。 什么是 Exec 命令&#xff1f; exec 是一…

python基础----02-----字面量、变量、数据类型及其转换、标识符以及字符串、数据输入(input语句)

一 字面量 1 字面量 字面量&#xff1a;在代码中&#xff0c;被写下来的的固定的值称之为字面量。类似C/C的字符串常量。 1.1 常见的python值类型 Python中常见的值类型&#xff1a; 实际上在C/C字面量和这里的类型还是有区别的&#xff0c;体现在内存存储中&#xff0c;字…

JavaScript正则表达式

1.介绍 2.语法 3.元字符 4.修饰符 目标&#xff1a;学习正则表达式概念及语法&#xff0c;编写简单的正则表达式实现字符的查找或检测。 一、介绍 1.什么是正则表达式 正则表达式&#xff08;Regular Expression&#xff09;是用于匹配字符串中字符组合的模式。&#xff08;…

设计模式之~原型模式

定义&#xff1a;用原型实例指导创建对象的种类&#xff0c;并且通过拷贝这些原型创建新的对象。原型模式其实就是从一个对象再创建另外一个可定制的对象&#xff0c;而且不需知道任何创建的细节。 优点&#xff1a; 一般在初始化的信息不发生变化的情况下&#xff0c;克隆是最…