1 Star 0 Fork 0

百川 / CUC_CSAPP

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

CUC_CSAPP

CUC深入理解计算机系统实验资料

Ubuntu环境搭建教学(保姆级)

  • 虚拟机Virtual Box6.1(VMare原理一致)
  • 镜像:ubuntu-20.04.5-desktop-amd64.iso

安装流程

0 下载Ubuntu镜像源

镜像源下载地址:https://cn.ubuntu.com/download/desktop(官方地址)

由于官方地址在国外,如果无法科学上网,可以使用清华大学的镜像源:https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/20.04/

1 创建虚拟机

在“工具”条目选择“新建”,在弹出的对话框里输入“虚拟机名称”,以及虚拟机安装的“文件夹”,然后“类型”选择 Linux,“版本”选择 Ubuntu (64-bit),点击下一步。

1

将虚拟机的内存大小设置为 2048MB,点击下一步。

2

选择“现在创建虚拟硬盘”,点击“创建”。

3

选择“VDI”类型,点击“下一步”。

4

选择“动态分配”,点击“下一步”。

5

这里将虚拟硬盘的大小调节为20-30GB左右,然后点击“创建”即可。

6

建议在”设置-常规-高级“开启双向粘贴板、拖放,方便后续实验操作

18

2 安装Ubuntu

对新创建的虚拟机进行设置修改,在“设置 - 网络”里选择网卡位”桥接网卡“

7

在”存储-控制器“中选择已经下载好的Ubuntu镜像

8

建议语言选择”English“,方便后续问题查找和复现,直接点”install Ubuntu“

9

然后继续点击“Continue”,

10

继续”Continue“

11

点击 “Install Now”,之后全部”continue“

12

选择时区为 “Shanghai”,点击 “Continue”

13

输入用户名和密码,点击 “Continue”,开始安装

14

耐心等待安装

15

CSAPP实验环境下载配置(以实验#1 Datalab为例)

推荐安装增强功能

22

打开虚拟机启动后,输入Ctrl+Alt+T打开控制台

19

在根目录里安装Vim工具

sudo apt install vim

Vim是从vi发展出来的一个文本编辑器。其代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。

20

安装Git

sudo apt-get install git

git是用于Linux内核开发的版本控制工具。与CVS、Subversion一类的集中式版本控制工具不同,它采用了分布式版本库的作法,不需要服务器端软件,就可以运作版本控制,使得源代码的发布和交流极其方便。git的速度很快,这对于诸如Linux内核这样的大项目来说自然很重要。git最为出色的是它的合并追踪(merge tracing)能力。

下载

21

下载实验资料

提供两种方式:

方法1:

  • 直接从CSAPP官网下载对应的实验附件压缩包:此处以第一次实验(Datalab)为例:

    23

    在命令行中直接下载:

    wget http://csapp.cs.cmu.edu/3e/datalab-handout.tar

    下载好后输入ls查看当前目录下是否有下载好的实验压缩包

    24

将从官网下载的tar包解压,指令:tar xvf FileName.tar

tar xvf datalab-handout.tar

查看当前目录可以看到解压后的文件夹:

25

方法2:

直接通过前面下载的git工具直接从我已经提供的实验仓库进行下载:

git clone https://github.com/Xuyan-cmd/CUC_CSAPP.git

再进入下载好的文件夹CUC_CSAPP即可看到实验代码:

26

如果你访问Github出现困难,我同时提供了国内的代码仓库Gitee的地址,使得访问不受网络限制:

语句相同如下:

git clone https://gitee.com/rockjames/CUC_CSAPP.git

27

进入datalab-handout文件夹

安装make

sudo apt install make

安装gcc

sudo apt install gcc

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

sudo apt-get install gcc-multilib

28

gcc-multilib 主要是为了支持编译32位程序安装的,也就是后续 gcc 编译命令的 -m32 选项

由于当前gcc版本更新后和gcc-multilib版本不兼容,因此需要进行降级 gcc,解决依赖关系:

  • 更新软件源

    $ sudo apt-get update
  • 安装 aptitude 程序,这个是包管理器程序,解决依赖关系很方便,否则手动解决会很麻烦。

    $ sudo apt-get install aptitude
  • 使用 aptitude 安装 gcc-multilib

    $ sudo aptitude install gcc-multilib

    这个命令首先会检查依赖关系, 第一次提示是否接受当前方案(这个方案什么都不做),选择 n。 第二次提示给出降级的方案,选择 Y。

测试平台搭建是否完成

/#1_Datalab目录下使用vim打开bits.c文件,键入i,进入编辑模式,向下滚动,可以找到需要实现的函数。完成第一个函数实验,int bitXor(int x, in y){}

29

保存完毕后,在终端中依次输入make cleanmake./btest指令。 make clean:清除上次的make命令所产生的object文件, make:编译本次文件 ./btest:测试代码

30

能够看到,修改后的bits.c文件能够成功通过检测,因此平台搭建已全部完成,可以进行后续实验。

你可能遇到的问题

  • 在导入Ubuntu时候会出现黑屏卡住的现象,无法继续进行安装,可以通过修改Virtualbox中Ubuntu虚拟机的显存大小和分配处理器个数来解决:

    • 显存大小可分配40MB左右

    • 16

    • 处理器选择尽量多分配一些,例如4个即可

    • 17

  • 在进行Ubuntu安装过程中,可能由于电脑显示屏分辨率较小,无法显示安装按钮,可以按住键盘中的win键拖动鼠标在安装界面底端向上滑动即可解决。

空文件

简介

CUC深入理解计算机系统实验资料准备 展开 收起
C 等 4 种语言
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C
1
https://gitee.com/rockjames/CUC_CSAPP.git
git@gitee.com:rockjames/CUC_CSAPP.git
rockjames
CUC_CSAPP
CUC_CSAPP
main

搜索帮助