【CSAPP】Lab0 - 环境配置

一、前言

实验需要在linux环境下进行,而我的系统是window10。
好多文章建议使用docker构建linux环境,但是windows系统下配置docker会出现一些问题,所以我选择用虚拟机安装linux环境。

二、虚拟机新建Linux环境

下载Ubuntu镜像,我选择的版本是Ubuntu 20.04。
在VMware中新建虚拟机,将Ubuntu镜像导入。VMware虚拟机安装Ubuntu系统,网上有很多详细的教程,这里便不做详细说明了。

三、下载lab文件

在ubuntu终端中用wget [url]指令下载lab文件。
例如csapp中实验官网是:http://csapp.cs.cmu.edu/3e/labs.html
Self-Study Handout对应的链接便是lab文件地址。
请添加图片描述
例如,可以在Ubuntu终端中输入如下指令,下载第一个实验Data Lab文件:
wget http://csapp.cs.cmu.edu/3e/datalab-handout.tar

如果ubuntu中下载文件速度慢,可以选择更换软件源头,可以参考https://jingyan.baidu.com/article/6dad507559d7d8a123e36eaa.html

四、下载相关工具

将从官网下载的tar包解压,指令:tar xvf FileName.tar
例如,tar xvf datalab-handout.tar

进入datalab-handout文件夹,
安装make:sudo apt install make
安装gcc:sudo apt install gcc
安装Vim:sudo apt install vim

此时在命令行中输入make会报错,这是因为lab运行在32位,但下载的Ubuntu是64位的,可以通过输入指令解决该问题:sudo apt-get install gcc-multilib

五、如何做Lab?

打开一个终端,用vim在 datalab-handout文件夹中打开bits.c。具体方式为进入datalab-handout文件夹,然后输入指令:vim bits.c
打开bits.c文件后,向下翻,就可以找到需要实现的函数。完成第一个函数,int bitXor(int x, in y){}。
请添加图片描述
为了操作方便可以再打开一个终端,进入datalab-handout文件夹。在终端中依次输入make cleanmake./btest指令。
make clean:清除上次的make命令所产生的object文件,
make:编译本次文件
./btest:测试代码
请添加图片描述
样例通过!!!(掌声~)

通过指令./dlc -e bits.c可以查看到更详细的信息。
为了方便,可以开两个终端。左面那个用于在vim中编写代码。右边的终端可以用于编译、测试。
请添加图片描述

  • 6
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
BUPT CSAPP Lab4是指北京邮电大学计算机科学与技术课程《CSAPP-深入理解计算机系统》的实验四。该实验主要涉及操作系统相关的内容,旨在帮助学生加深对操作系统的理解和认识。 该实验的主要内容是通过编写一个简单的Unix shell来实现一个命令行解释器。这个shell可以读取来自用户输入的命令,并执行这些命令。在实现过程中,需要学生理解和掌握进程控制、文件描述符、信号处理、文件I/O等操作系统的核心概念和技术。 实验4主要由以下几个部分组成: 1. 实现命令行解释器的基本功能,包括读取用户输入的命令、解析命令的参数和选项、执行命令等。此外,还需要处理输入输出重定向、管道、后台运行等特殊操作。 2. 实现信号处理功能,包括捕获和处理常见的信号(如SIGINT、SIGCHLD等),以及重新设置信号处理程序等。 3. 实现文件I/O功能,包括文件打开、读写、关闭等操作。需要学生理解文件描述符的概念和用法,并能正确地管理文件描述符。 4. 实现进程控制功能,包括创建新的进程、加载可执行文件、执行命令、等待子进程退出等。学生需要理解进程的创建、终止、调度等基本概念和原理,以及在实践中正确地使用这些操作。 通过完成该实验,学生可以加深对操作系统内核的理解,掌握操作系统的基本功能和组成,提高对计算机系统的整体把握能力。此外,实验也有助于学生培养编程能力、问题解决能力和团队合作能力等重要的综合素养。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值