乐于分享
好东西不私藏

CMU 15-213: CSAPP 课程简介与实验环境搭建指南

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 中使用。

第二步:创建虚拟机

  1. 打开 VMware,点击 “创建新的虚拟机”,选择 “典型(推荐)”

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

  3. 客户机操作系统选择:Linux → Ubuntu 64 位

  4. 配置关键硬件参数:

    • 内存:建议分配 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服务端

验证 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
SSH远程连接

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

本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » CMU 15-213: CSAPP 课程简介与实验环境搭建指南

评论 抢沙发

3 + 8 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮