OS实验xv6 6.S081 开坑
OS实验xv6 6.S081 开坑
终于把xv6 2019 6.S081做完了,网络部分没有写,因为有计网实验了。怎么说呢,xv6的坑有点多,能做完多亏了:和我同学ljj交流,参考RedemptionC老哥的博客(他写的非常详细,遗憾的是,他好像没有写mmap),再者就是参考这位老哥的做法(没有源码,写得不是特别详细,不过有借鉴作用,mmap就是借鉴了他的思想)……废话不多说了,直接开始。
实验指导
- 首推RedemptionC的博客
- 这位老哥的个人博客
- xv6 6.S081官网(后面的实验都要参考官网,他会给你一些Hints)
实验建议
为了提高成就感,一定要先阅读xv6官方的实验指导!!!不要畏惧英文。xv6给的Hints是非常重要的。 另外,为了提高检索速度,推荐科学上网。
实验环境配置说明
安装VMware
安装Ubuntu,我安装的是Ubuntu20.04,不过都无所谓了。首先下载一个Ubuntu20.04镜像文件,然后跟着百度百科走吧
下载VMware-Tools,增加使用体验。一般来说,安装完Ubuntu后VMware会自动提示你。如果想重新安装,则点击下图所示的地方即可。下载完毕后,跟着这位大哥做吧。(安装之后,即可拖拽文件了)
配置xv6。右键桌面打开terminal,键入如下命令(以下步骤也可参考xv6官方文档)
#获取工具链 git clone --recursive https://github.com/riscv/riscv-gnu-toolchain #安装必要依赖 sudo apt-get install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc zlib1g-dev libexpat-dev #编译工具链 cd riscv-gnu-toolchain ./configure --prefix=/usr/local sudo make -j$(nproc) cd .. #下载并解压qemu wget https://download.qemu.org/qemu-4.1.0.tar.xz tar xf qemu-4.1.0.tar.xz #编译qemu cd qemu-4.1.0 ./configure --disable-kvm --disable-werror --prefix=/usr/local --target-list="riscv64-softmmu" make -j$(nproc) sudo make install cd ..
接下来,检查是否安装成功:
$ riscv64-unknown-elf-gcc --version > riscv64-unknown-elf-gcc (GCC) 10.1.0 $ qemu-system-riscv64 --version > QEMU emulator version 4.1.0
安装成功后,即可下载XV6源码
#下载xv6源码(不一定从HITSZ这里获取) git clone https://github.com/HITSZ-SYSTEMS/xv6-riscv-fall19.git cd xv6-riscv-fall19 make qemu
或
#下载xv6源码 git clone git://github.com/mit-pdos/xv6-riscv-fall19.git cd xv6-riscv-fall19 make qemu
当看到init:start sh时,你便配置成功了
配置VSCode,以便远程连接Ubuntu。
#在Ubuntu上安装必要依赖 sudo apt-install openssh-server
5.1 在VSCode上安装Remote-SSH插件
5.2 识别Ubuntu的ip和host,用一种很简单的方法即可,首先查看你的ternimal前缀,例如我的是deadpool@deadpool-virtual-machine。
5.3 利用VSCode连接
键入回车即可进入xv6-riscv-fall19根目录,在VSCode的terminal上运行make qemu,运行成功
注意,按ctrl+a后过一段时间再按x即可退出qemu,这个时间不长也不短,自己把控
结束
配环境是老大难的问题。万事开头难,有了这样一段经历后,便能基本入门linux了。
OS实验xv6 6.S081 开坑相关推荐
- xv6 6.S081 Lab1: util
xv6 6.S081 Lab1: util 写在前面 实验介绍 开始! sleep pingpong Primes Find Xargs 拖了这么久,终于稍微有时间填坑了.今天介绍xv6的第一个实验u ...
- xv6 6.S081 Lab8: fs
xv6 6.S081 Lab8: fs 写在前面 实验介绍 开始! Large File Symbolic links fs代码在这里.我的妈呀,终于要写完了,xv6的file system考察难度并 ...
- xv6 6.S081 Lab7: Lock
xv6 6.S081 Lab7: Lock 写在前面 实验介绍 开始! Memory Allocator Buffer Cache lock代码在这里.本次实验理解起来简单,做起来也容易 写在前面 老 ...
- xv6 6.S081 Lab3: alloc
xv6 6.S081 Lab3: alloc 写在前面 实验介绍 开始! 任务再描述 任务一实现 任务二实现 Buddy Allocator Code Thru 任务二的实现 alloc代码在这里.另 ...
- xv6 6.S081 Lab5: cow
xv6 6.S081 Lab5: cow 写在前面 实验介绍 开始! cow代码在这里.完成了lazy后,cow的实现就非常明了了-- 写在前面 经典写在前面
- xv6 6.S081 Lab4: lazy
xv6 6.S081 Lab4: lazy 写在前面 实验介绍 开始! 打印页表 实现Lazy Allocation 修改sbrk() 实现Lazy Allocation 完善Lazy Allocat ...
- 学堂在线_操作系统_notes_第0-2讲_OS概述、OS实验环境准备
学堂在线_操作系统_notes_第0-2讲_OS概述.OS实验环境准备 - 20220626.No.1821 - 操作系统OS 综合了 C语言 + 数据结构与算法DSA + 计算机组成. OS 是 控 ...
- 新闻上的文本分类:机器学习大乱斗 王岳王院长 王岳王院长 5 个月前 目标 从头开始实践中文短文本分类,记录一下实验流程与遇到的坑 运用多种机器学习(深度学习 + 传统机器学习)方法比较短文本分类处
新闻上的文本分类:机器学习大乱斗 王岳王院长 5 个月前 目标 从头开始实践中文短文本分类,记录一下实验流程与遇到的坑 运用多种机器学习(深度学习 + 传统机器学习)方法比较短文本分类处理过程与结果差 ...
- python实验报告代写价格_代写OS python程序作业、代写代写OS作业、代写OS实验报告...
代写OS python程序作业.代写代写OS作业.代写OS实验报告 日期:2018-06-11 03:21 CSE 304 - Operating Systems DUE: June 11. Subm ...
- 国产单片机GD32系列开坑,带你零死角玩转GD32 第六章
[开坑国产单片机GD32系列,带你零死角玩转GD32] 第六章 GD32F103C8T6串口开发板设计指南(二) 目录 [开坑国产单片机GD32系列,带你零死角玩转GD32] 第六章 GD32F103 ...
最新文章
- redis和memecache有什么区别?
- python文件中数字排序_Python 对输入的数字进行排序的方法
- 关于IO模拟时序(SPI)的注意事项
- python __builtins__ float类 (25)
- redhat9Linux解压gz,linux (redhat9)下subversion 的安装
- vue项目安装axios - cmd篇
- Hello TensorFlow
- linux下dns劫持C语言实现,Linux下实现劫持系统调用的总结(上)--代码及实现
- HDU 2639 Bone Collector II (dp)
- Thingsboard 3.1.0 - 规则链:转换数据结构
- JavaScript 函数看代码写结果
- c语言流程图各个框的作用,C语言流程图的三种基本结构
- 手把手教你获得CSDN徽章:CSDN IT冷知识 每日一练
- 【转】纯干货:PS高手完全自学宝典(原创文章)
- 继音频转换历程总结成综合
- ubuntu 20.04网卡驱动安装(rtl8812au)
- 【历史上的今天】1 月 18 日:微软的“技术布道者”出生;反盗版法案抗议行动;哈佛 Mark I 灵感起源
- 语音与影像上的自督导式学习模型、一些老版本的补充(李宏毅2022
- DVB-条件接收系统(CAS)
- CSS / 精灵图+字体图标
热门文章
- Quartz.NET 配置文件详解
- 人生感悟:与其临渊羡鱼,不如退而结网
- restlet client插件下载
- 使用微博提供的API接口发送微博
- c语言标准之c99下载,C语言标准中的C99与最新的C11
- HTTP权威指南学习笔记:连接管理
- 首次用MFC制作界面,小白采坑记录
- oracle数据库基础知识
- word转pdf公式乱码_求助:Word转pdf时公式会公式变成乱码
- 2018 Multi-University Training Contest 10 hdu 6432 Problem G. Cyclic(oeis题)