CMU 15-213: CSAPP 课程简介与实验环境搭建指南
CMU 15-213: CSAPP 课程简介与实验环境搭建指南
课程简介
CMU 的 15-213(CSAPP)是计算机科学领域公认的“镇系神课”,以其内容广博、项目难度极高而闻名。课程全面覆盖汇编语言、计算机体系结构、操作系统、程序的编译与链接、并发编程以及网络基础等核心主题,是一门兼具深度与广度的系统级入门课程。对于自学者而言,完成这门课程需要极强的毅力和扎实的编程基础。
该课程配套教材《Computer Systems: A Programmer’s Perspective》(简称 CSAPP)由 CMU 计算机系前系主任 Randal E. Bryant 教授与 David R. O’Hallaron 合著,被全球众多高校采用。这本书也是许多学习者第一本逐页精读的计算机系统教材——虽艰深,但收获巨大。
北京大学已引进该课程并开设《计算机系统导论》(Introduction to Computer Systems),但 CSAPP 的全部课程资料、实验代码和讲义均可在其官方网站免费获取。
由于课程影响力极大,网上流传着大量实验(Project)的参考答案。然而,若你希望真正提升系统编程能力,强烈建议独立完成所有实验,避免直接参考第三方代码。坚持学完并动手实践,你对计算机系统的理解将实现质的飞跃。
★
摘自:CS 自学指南 – CMU 15-213: CSAPP
实验环境搭建教程
为顺利开展 CSAPP 的各项实验(如 Data Lab、Bomb Lab、Malloc Lab 等),推荐在虚拟机中搭建一个干净、可控的 Linux 开发环境。以下是详细步骤:
第一步:工具准备
在开始之前,请下载以下两个文件:
-
VMware Workstation Pro(个人免费版)前往 Broadcom 官网下载适用于你操作系统的版本。
-
Ubuntu 24.04 LTS 桌面版 ISO 镜像文件名通常为
ubuntu-24.04.3-desktop-amd64.iso。推荐从 中国科学技术大学开源软件镜像站 或 清华大学开源镜像站 下载,速度更快。
为什么选择 Ubuntu 桌面版?
-
自带图形界面(GUI):对刚从 Windows 或 macOS 迁移过来的学习者更友好,可同时使用终端、浏览器、文件管理器和文本编辑器,便于查阅文档、观看教学视频或搜索错误信息。 -
社区支持完善:绝大多数 CSAPP 实验教程(包括 Bilibili 上“九曲阑干”等知名 UP 主的视频)均基于带 GUI 的 Ubuntu 演示。 -
支持“最小安装”:虽然完整镜像约 6GB,但在安装过程中可勾选 “Minimal installation”,仅保留浏览器和基础终端,兼顾轻量与便利。
其他版本为什么不推荐?
-
live-server-amd64.iso:服务器版,无图形界面,纯命令行操作,对新手不友好。 -
.torrent/.zsync:仅为下载种子或校验文件,非系统镜像。 -
netboot.tar.gz:用于网络引导安装,流程复杂,不适合虚拟机初学者。 -
WSL 相关文件:专为 Windows Subsystem for Linux 设计,无法在 VMware 中使用。
第二步:创建虚拟机
-
打开 VMware,点击 “创建新的虚拟机”,选择 “典型(推荐)”。

-
在安装源选项中,选择 “稍后安装操作系统”(便于手动调整硬件配置,避免简易安装带来的权限或路径问题)。

-
客户机操作系统选择:Linux → Ubuntu 64 位。


-
配置关键硬件参数:
-
内存:建议分配 4GB 或以上(若主机内存为 16GB)。

-
处理器:设置为 2 或 4 核,并确保启用 虚拟化引擎(Intel VT-x / AMD-V)。
-
硬盘:至少 40GB,选择 “将虚拟磁盘存储为单个文件” 以提升 I/O 性能。
-
网络适配器:使用 NAT 模式,使虚拟机可通过主机访问互联网。

第三步:安装 Ubuntu
启动虚拟机,开始安装流程:

-
语言:建议选择 English,提前适应 CSAPP 的技术语境。 
-
安装类型:勾选 “Minimal installation”(最小安装),避免安装不必要的办公套件。 -
磁盘分区:选择 “Erase disk and install Ubuntu”(擦除磁盘并安装)。 -
设置用户:填写用户名与密码,为了方便,可以直接填写 “123456” 为密码 
★
注意:若无特别提及,一直按Next(下一步)即可。
安装完成后重启,即可进入 Ubuntu 桌面环境。
★
此过程可能会比较久,请耐心等待。
第四步:配置 CSAPP 实验开发环境
即使看到桌面,仍需通过终端安装必要的开发工具链。按下 Ctrl + Alt + T 打开终端,依次执行以下命令:
1. 更新系统软件源
sudo apt update && sudo apt upgrade -y
2. 安装编译与调试工具
sudo apt install build-essential gdb gcc-multilib g++-multilib -y
第五步:启用 SSH 服务(便于远程交互)
为方便后续通过主机终端(如 Windows Terminal、iTerm2 或 VS Code Remote)连接虚拟机,建议启用 SSH 服务。
1. 安装 OpenSSH 服务端
Ubuntu 桌面版默认仅包含 SSH 客户端,需手动安装服务端:
sudo apt updatesudo apt install openssh-server -y

验证 SSH 服务是否正常运行:
sudo systemctl status ssh
若输出中包含绿色的 active (running),说明服务已成功启动。
2. 获取虚拟机 IP 地址
在终端执行以下命令查看网络接口信息:
ip addr
找到名为 ens33(或 eth0)的网络接口,其对应的 inet 字段(如 192.168.x.x)即为虚拟机的局域网 IP 地址。后续可通过该地址从主机 SSH 登录虚拟机,例如:
ssh username@192.168.x.x

至此,你的 CSAPP 实验环境已完全就绪。接下来可从 CSAPP 官网 下载各实验代码框架,正式开启系统编程之旅。
夜雨聆风
