MIT6.S081学习——二、相关命令行整理

MIT6.S081学习——二、相关命令行整理

  • 1 添加user代码到xv6中并编译
  • 2 git版本管理

1 添加user代码到xv6中并编译

问题:如何让在xv6中运行copy.c

答:在xv6中运行copy.c文件,你需要先将该文件添加到xv6源代码目录中,然后修改Makefile以将其编译进内核中。
-1、将copy.c文件添加到xv6源代码目录中。
2、修改Makefile以包含copy.c文件的编译规则。

在Makefile中,你需要添加类似下面的一行:

UPROGS=\_cat\_cp\_echo\_forktest\_grep\_init\_kill\_ln\_ls\_mkdir\_rm\_sh\_wc\_zombie\_copy\   # 添加copy.c编译规则

然后,编译xv6并运行即可。请确保copy.c文件中的代码符合xv6的要求,并且编译通过。

//先清空xv6的qemu的编译
make clean
//再重新编译
make qemu

2 git版本管理

  • 1、下载对应xv6的原始代码
git clone git://g.csail.mit.edu/xv6-lab
  • 2、 在自己github主页创建一个repository,获得其链接
https://github.com/yourname/xv6-labs-2020.git
  • 2、 解压后进入文件夹
    • 查看本地仓库的git配置文件,可以看到origin主机名下已经有了对应的上游仓库地址
cd xv6-labs-2020/
cat .git/config

在这里插入图片描述

  • 3、 不要使用origin,可以使用其他主机名对应到github仓库,例如,我使用github
https://github.com/yourname/xv6-labs-2020.git
git remote add github 你的仓库地址
cat .git/config

在这里插入图片描述

  • 4、git push 命令

    • 功能: git push 命令用于从将本地的分支版本上传到远程并合并。

    • 命令格式:

      git push <远程主机名> <本地分支名>:<远程分支名>
      
    • 如果本地分支名与远程分支名相同,则可以省略冒号

      git push <远程主机名> <本地分支名>
      
  • 5、将实验1用到的util分支推送到github

git checkout util//切换到util分支
git push github util:util
  • 6、 xv6实验git分支建议

    • 建议是每个实验创建一个测试分支,例如对于util来说

      git checkout util # 切换到util分支
      git checkout -b util_test # 建立并切换到util的测试分支//查看所有分支
      git branch
      //创建分支
      git branch <branch-name>
      
    • 当你在util_test分支中每测试通过一个作业,请提交( git commit )你的代码,并将所做的修改合并( git merge )到util中,然后提交( git push )到github

      git add "新创建的文件(包含目录)"
      git commit -m "完成了第一个作业"
      git checkout util
      git merge util_test
      git push github util:util
      
  • 7、使用Git版本控制系统管理和提交文件以及后续的实验室作业。接下来,切换到一个分支(执行 git checkout util ),其中包含针对该实验室定制的xv6版本。要了解关于Git的更多信息,请查看Git用户手册。Git允许您跟踪对代码所做的更改。例如,如果你完成了其中一个练习,并且想检查你的进度,你可以通过运行以下命令来提交你的变化:

git add <user/name.c>//如果新创建了文件,需要添加到对应位置git commit -am 'my solution for util lab exercise 1'Created commit 60d2135: my solution for util lab exercise 1
1 files changed, 1 insertions(+), 0 deletions(-)

在这里插入图片描述

  • 8、可以使用 git diff 命令跟踪您的更改。运行 git diff 将显示自上次提交以来对代码的更改, git diff origin/util 将显示相对于初始xv6-labs-2020代码的更改。这里,origin/xv6-labs-2020是git分支的名称,它是包含您下载的初始代码分支
    在这里插入图片描述

  • 9、测试实验是否成功

./grade-lab-util sleep
make GRADEFLAGS=sleep grade
- 提示:如果运行命令 ./grade-lab-util sleep 报 /usr/bin/env: ‘python’: No such file or directory 错误,请使用命令 vim grade-lab-util,把第一行 python 改为 python3。如果系统没装 python3,请先安装 sudo apt-get install python3 。
  • 10、测试通过
    在这里插入图片描述
    在这里插入图片描述

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

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

相关文章

笔试题讲解(C语言进阶)

目录 前言 1、题目 2、答案 3、解析 结语 前言 “纸上得来终觉浅&#xff0c;绝知此事要躬行”。本篇通过对指针实际案例的分析&#xff0c;由浅入深&#xff0c;来加强我们对指针的理解。 1、题目 这是一道难题&#xff0c;小心哦。 #include <stdio.h> int main(…

值类型:左值、纯右值、将亡值

值类型是一个古老的概念&#xff0c;早在C98就存在了&#xff0c;但在C11之前这些都无关紧要&#xff0c;随着C11右值引用的产生值类型也被赋予了新的含义。 但问题是C11并未给出清晰的定义&#xff0c;比如在C11的标准文档中&#xff0c;左值的概念只有一句话&#xff1a;“指…

使用向量数据库pinecone构建应用02:检索增强生成RAG

Building Applications with Vector Databases 下面是这门课的学习笔记&#xff1a;https://www.deeplearning.ai/short-courses/building-applications-vector-databases/ Learn to create six exciting applications of vector databases and implement them using Pinecon…

Vue单文件学习项目综合案例Demo,黑马vue教程

文章目录 前言一、小黑记事本二、购物车三、小黑记账清单 前言 bilibili视频地址 一、小黑记事本 效果图 主代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"/><meta http-equiv"X-UA-Compatible&…

Open CASCADE学习|绘制砂轮

今天绘制一个砂轮&#xff0c;其轮廓由两条直线段和两段圆弧构成&#xff0c;圆弧分别与直线相切&#xff0c;两条圆弧之间相交而非相切。建模思路是&#xff1a;先给定两条直线段的起始点及长度&#xff0c;画出直线段&#xff0c;然后给定其中一圆弧的半径及圆心角&#xff0…

4核8G服务器能承受多少并发?

腾讯云4核8G服务器能承受多少并发&#xff1f;阿腾云的4核8G服务器可以支持20个访客同时访问&#xff0c;关于4核8G服务器承载量并发数qps计算测评&#xff0c;云服务器上运行程序效率不同支持人数在线人数不同&#xff0c;公网带宽也是影响4核8G服务器并发数的一大因素&#x…

Python世界之开端

目录 一、基础语法 1.交互式编程 2.脚本式编程 3.标识符 4.同一行显示多条语句 5.保留字符 6.行和缩进 7.错误提醒 8.多行语句 9.引号 10.注释 11.空行 12.print 输出 13.代码组 二、变量类型 1.标准数据类型 2.数字 3.字符串 1.字符串运算符 2.转义字符 …

Nginx网络服务

一、Nginx概述 1.1Nginx介绍 Nginx&#xff1a; 一款高新能、轻量级Web服务软件稳定性高系统资源消耗低对HTTP并发连接的处理能力高单台物理服务器可支持30 000&#xff5e;50 000个并发请求。 Nginx 是开源、高性能、高可靠的 Web 和反向代理服务器&#xff0c;而且支持热部…

【LeetCode: 889. 根据前序和后序遍历构造二叉树 + DFS】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

【Linux】用户与用户组,用户账号系统文件

目录 一 用户与用户组 1.1 含义 1.2 用户相关语法 1.2.1 useradd&#xff08;添加用户账号&#xff09; 1.2.2 userdel&#xff08;删除用户账号&#xff09; 1.2.3 usermod&#xff08;修改用户账号&#xff09; 1.2.4 passwd(用户口令的管理&#xff09; 1.2.5 su&am…

Git面试题整理(对比)

1.拉取请求pull和分支branch有什么区别 拉取请求(Pull Request) 定义:拉取请求是在代码协作平台上发起的一种通知&#xff0c;它告诉其他团队成员:“我完成了一段代码的工作&#xff0c;请审查并合并到主分支中去”。它不仅是请求合并代码的方式&#xff0c;也是代码审查、讨论…

使用Lombok @Data 出现java: 找不到符号 的问题

第一种&#xff1a;pom依赖最好如下方式 <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>RELEASE</version><scope>compile</scope> </dependency>第二种&#xff1…

【Azure 架构师学习笔记】- Azure Databricks (10) -- UC 使用

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Databricks】系列。 接上文 【Azure 架构师学习笔记】- Azure Databricks (9) – UC权限 在前面的文章&#xff1a;【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog中演示了如何配置一个UC。 本文…

excel数据导入到数据库的方法

背景&#xff1a;最近在做和HW对接的某项目&#xff0c;需要将第三方接口提供的数据进行展示&#xff1b;在对方提供了详细的excel后&#xff0c;觉得也挺简单的就是将excel数据导入到数据库中。 方案一&#xff1a; 普通的初学者肯定会想&#xff0c;那我读取excel数据&…

人工智能的理解

人工智能&#xff08;Artificial Intelligence&#xff0c;AI&#xff09;是一种模拟人类智能思维过程的计算机系统。它通过模仿、学习和应用人类的思维方式和行为模式来完成各种任务&#xff0c;包括但不限于感知、推理、学习、规划、决策等。人工智能的发展已经取得了巨大的进…

UE5 骨骼重定向

1.通过 VRoidStudio 1.26.0 软件创建模型 导出 2.下载ue插件 https://github.com/ruyo/VRM4U/releases 安装 重启 3.拖入创建的模型 到指定文件夹 4.为模型创建 IK绑定&#xff0c;重定向骨骼根 新增链条 5.创建IK 重定向&#xff0c;指定源 和 目标 IK绑定 6.

【More Effective C++】条款6:区分前置++和后置++

前置&#xff1a;返回引用原因&#xff1a; 保证和内建类型一致&#xff0c;i&#xff0c;是合法的 后置&#xff1a;返回一个const值的原因 避免连加操作&#xff0c;因为i是不合法的&#xff0c;和内建类型不一致&#xff1b;避免混淆&#xff0c;因为第二个是对第一个返回…

基于MPPT最大功率跟踪算法的涡轮机控制系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于MPPT最大功率跟踪算法的涡轮机控制系统simulink建模与仿真.mppt采用爬山法实现&#xff0c;仿真输出MPPT控制效果&#xff0c;功率&#xff0c;转速等。 2.系统仿真结果 …

Thymeleaf无法显示模板视图,加载页面显示404状态问题的解决方法

本篇文章主要讲解&#xff1a;Thymeleaf无法显示模板视图&#xff0c;加载页面显示404状态问题的解决方法 日期&#xff1a;2024年2月23日 作者&#xff1a;任聪聪 现象说明&#xff1a; 1.只返回输出模板的名称&#xff0c;如图&#xff1a; 2.显示报错信息&#xff1a; Whi…

左右互博。

链接&#xff1a;登录—专业IT笔试面试备考平台_牛客网 来源&#xff1a;牛客网 讨厌鬼在和小甜妹在玩石头游戏。 游戏一开始有 nnn 堆石子&#xff0c;第 iii 堆石子&#xff0c;有 aia_iai​ 个石子。两人轮流进行游戏。 轮到某个人时&#xff0c;这个人先选数量为 x(x&…