深入理解计算机系统(CSAPP)-data-lab实验报告PDF版本

"深入理解计算机系统"(Computer Systems: A Programmer's Perspective,简称 CS:APP)是一本广受认可的计算机科学教材,主要面向计算机科学和工程专业的学生。这本书的目标是帮助学生从程序员的视角深入理解计算机系统的工作原理。

CS:APP 的内容覆盖了计算机系统的多个方面,包括但不限于:

程序的机器级表示:学习如何程序代码(如C语言)被转换成机器代码,以及计算机是如何执行这些代码的。

处理器体系结构:介绍现代微处理器是如何工作的,包括流水线、超标量执行等概念。

缓存和存储器层次结构:理解不同类型存储器(如缓存、主存、硬盘)的工作原理和它们之间的关系。

链接:探索如何不同的程序模块和库是如何被链接在一起形成单一可执行文件的。

异常控制流:了解操作系统是如何通过中断、系统调用等机制管理硬件和运行中的程序。

虚拟内存:深入理解虚拟内存系统的工作原理,包括分页、段式存储等技术。

系统级I/O:学习输入输出系统是如何工作的,包括文件操作、网络编程等。

并发和同步:介绍多线程编程以及必要的同步机制,如互斥锁、信号量等。

书中还包含了一系列实验,旨在加深学生对理论知识的理解。Data Lab 实验是其中之一,专注于数据的位级表示和操作。在这个实验中,学生将通过一系列编程挑战来深入学习和练习位操作技巧,包括位移、掩码、逻辑运算等。这个实验对于理解计算机如何在底层处理数据至关重要。

总的来说,CS:APP 不仅仅是教授计算机科学的理论,而是通过结合理论和实践,使学生能够更全面地理解和应用这些知识。这本书及其相关的实验对于任何希望深入了解计算机系统的学生和专业人士都是极好的学习资源。

作业内容如下:
实验⽬的和内容
实验⽬的:深⼊理解 int 和 float 数据的存储⽅式和位操作
实验内容:按照要求实现22个函数(C语⾔,不⽀持C11及更新标准)
DDL:10⽉18⽇23:59
实验环境

  1. 实验代码在线评测平台为 ics.men.ci 。
  2. 本实验需要在Linux环境下进⾏。我们为同学们提供了Linux环境的服务器 ics.ruc.rvalue.moe ,⽤
    于获取实验⽂件并编写代码。
    实验步骤
  3. 使⽤SSH登录服务器 ics.ruc.rvalue.moe ,初次登录时必须修改密码。(禁⽌弱密码)
  4. 将 /mnt/ics1-2020 ⽬录下的 datalab-handout.tar 复制到你的⽤⼾⽂件夹,在你的⽤⼾⽂件夹下使
    ⽤ tar -xvf datalab-handout.tar 解压。
  5. 在 bits.c 中仔细阅读代码开头的说明。
  6. 在 bits.c 中实现函数。
  7. 登录评测平台 ics.men.ci ,初次登录时必须修改密码。(禁⽌弱密码)
  8. 在datalab⽐赛中提交你的代码,然后向着排⾏榜上更⾼的位置进发!
    在本地检查正确性
  9. 可执⾏⽂件 dlc ⽤于检查你的代码是否使⽤了⾮法操作以及操作数是否符合要求。
    ./dlc -e bits.c
  10. 在 datalab-handout ⽂件夹下使⽤ make 命令,会编译出可执⾏⽂件 btest ,⽤于检查你的代码是
    否能返回正确的结果。
    make
    ./btest
    也可以⽤以下命令⼀键测试并得到⼀个参考得分。
    ./driver.pl
    需要注意的是, driver.pl 给出的分数并不是你在本实验的最终得分。
    关于本实验的其它未尽事宜请阅读 README ⽂件。
    关于Linux系统的使⽤问题请尽量⾃⾏查询搜索引擎。对于实在没有办法⾃⼰解决的问题欢迎与助教交
    流。
    值得注意
    dlc 和 btest 功能强⼤,使⽤ -h 查看其参数选项。
    如果 btest 输出的你的答案和你代码应该得到的答案不符,有可能是编译器优化问题,尝试使
    ⽤ volatile 关键字。
    make 还会同时编译 fshow 和 ishow 两个可执⾏⽂件,学会使⽤这两个程序可以加快你调试错误函
    数的速度。
    所有和浮点数相关的题⽬均允许使⽤if, do, while, for, switch等条件控制和循环语句。
    提交⽂件
    你可以将代码提交到 ics.men.ci 并实时得到评测反馈。你的最终提交以你在⽹⻚上所有提交中得
    分最⾼的为准。
    除源代码之外,你还需要撰写⼀份实验报告来解释你每个函数的实现思路,并提交⾄OBE。
    实验报告必须为pdf格式,⽂件名只能使⽤ASCII字符。
    注意:在OBE上你只需要提交实验报告,不需要也不应该提交其他东西。
    评分标准
    你在本次实验的得分将由你代码的实现情况和实验报告的情况共同决定。
    ics.men.ci 的排⾏榜将设置 ===95=== 、 ===90=== 和 ===Prof=== 三位虚拟选⼿,代码部分具体评分标
    准如下:
    每题使⽤的运算符数量 本题得分
    少于 ===95=== 100
    等于 ===95=== 95
    少于等于 ===90=== 90
    少于等于 ===Prof=== 85
    少于等于1.5 ===Prof=== 60
    少于等于2
    ===Prof=== 30
    ⼤于2* ===Prof=== 0
    代码部分的总分为每题得分的加权和,也就是排⾏榜上的分数。
    注意:请所有同学确保⾃⼰的 ics.men.ci 、 ics.ruc.rvalue.moe 、 obe.ruc.edu.cn 这三个⽹站的密码
    均已设为强密码(⾄少8位,⼤⼩写字⺟、数字、符号均出现)。去年有⼈被偷作业,今年如果再发现
    直接按故意泄露处理

课程的源码我已经准备好了全部是自己手写翻译的有需要的自取

file

如果你想要获取更多关于“深入理解计算机系统”(CS:APP)的 Data Lab 实验的资源和资料,可以通过关注相关的公众号来获取。通常,这些公众号会提供教学资源,包括实验指导、示例代码和解释材料。你可以关注他们,并回复“1002”,以获取对应的免费链接和密码。这样,你将能够访问到所需的教学材料和指导,帮助你更深入地理解计算机系统的工作原理。

免费资源尽在雾码资源
1. 本站提供资源以极具性价比的价格出售,我们的定价远低于市场常见价格。无论是单独购买还是购买永久会员以下载全站资源,我们不提供任何相关技术服务。
2. 若遇到资源下载链接失效,请及时通过联系站长QQ以获取补发。
3. 所有本站资源仅供学习和研究目的使用。用户必须在24小时内删除所下载的资源,并严禁将其用于任何商业活动。对于因违反此规定引发的任何法律问题及连带责任,本站及发布者不承担任何责任。除非特别注明为原创,本站资源大多来源于网络,版权归原作者所有。若有侵权,请联系我们以便进行删除处理。
4. 本站提供的所有下载资源(包括软件等),我们保证未进行任何负面修改(不包括为改善功能或修复bug等正向优化或二次开发)。然而,我们无法保证资源的准确性、安全性和完整性。用户下载后应自行判断。本站旨在促进学习交流,并不保证所有源码完全无误或无bug。用户应明白,除非特别注明,【雾码资源】对提供下载的软件等不持有任何权利,其版权属于相应合法拥有者。
5. 请您仔细阅读以上内容,购买即表示您同意以上所有条款。
雾码资源 » 深入理解计算机系统(CSAPP)-data-lab实验报告PDF版本

提供最优质的资源集合

立即查看 了解详情