csapp lab(0): 如何开始

前言

以前不知道基础的重要性,做项目的时候总是觉得快把这个功能实现了就行,完全没有去深入挖掘其中的原理。最近秋招开始之后,突然开始深刻理解到了一些原理层面上的重要性,于是找出了csapp lab做一做系统层面的实验。

在刚开始找csapp的时候,两眼一黑,花了一下午才理清楚要怎么做。把搭环境和如何开始csapp的过程记录一下

搭建环境

  1. Ubuntu 22.04 不想装双系统,直接VMware装好

  2. 找了很久,找到了一个很好的网址,整理了整套实验的lab,包括部分书籍内容。

    https://hansimov.gitbook.io/csapp/

    csapp一共有8个lab,也就是我们可以跟着csapp这本书从前往后的顺序跟着lab一个一个做就好了。
    每一个lab都是相互独立,且每个里面都会写清楚要求。
    每一个lab在我们做完了之后,可以有一个自动评分程序来检查我们的成果,这是非常方便的一个地方。

如何开始

  1. 打开这个网址里面的各个实验,首先下载自学材料中的.tar文件,下载解压之后,就是一个lab的完整内容啦。
  2. 然后我们可以阅读readme文件查看这个lab的大致要求和怎么做。并且readme也会告诉你这个压缩包中的整个文件架构和各个文件的功能。
  3. 第三步就可以进入到readme中提到的做实验的文件中(比如第一个lab就是btest.c),然后仔细阅读里面的要求以及规矩 (非常重要),看完之后就可以根据要求来开始做lab啦!
  4. 做完之后,在文件目录下打开终端,使用make clean清除之前的编译文件,make生成可执行文件,./文件或者其他指令来运行自动评分程序,就可以看到评分结果啦。

题解

csapp已经有非常多的人做过了,因此题解也是特别的多,也很方便查阅,这里列一个

https://zhuanlan.zhihu.com/p/449877475

补充

在我做第一个lab的时候,发现make会报错,报错信息如下:

fatal error: bits/libc-header-start.h: No such file or directory

这是缺少库的问题,参考这篇博客,,可以解决问题

sudo apt-get install gcc-multilib

csapp lab学习之路就开始啦!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暮尘依旧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值