Giter Club home page Giter Club logo

csapp-labs's Introduction

CS:APP Labs

这个项目是《CS:APP》第三版的相关实验解答和笔记,实验的所有 lab 已经上传在 labs 下,来源是 Lab Assignments.

目录:

包含所有的 lab 文件,以及 CMU 给的参考文档,也包含我写的解答文件,我的实验环境是 Ubuntu 16.04 amd-64,其中 source 保存了所有 lab 的原文件;

是我写的笔记:

涉及了位运算,补码和浮点数等内容,都是 C 语言程序设计题。

拆除二进制炸弹,可以大大提升看汇编代码的能力。

这个 lab 主要涉及了栈随机化,不可执行等栈保护的方法和使栈溢出、 ROP 攻击等内容。

Architecture Lab ,涉及了 Y86-64 指令集,和 SEQ 和 PIPE 的实现方式,以及程序优化等内容,可以熟悉汇编和硬件语言 HCL 。

这个 lab 在 CMU 已经被 Cache Lab 取代了,考虑到 Cache Lab 比较难,可以先做这个 lab 练练手,虽然这个也有难度。基于书上第五、六章对程序进行优化,主要用了循环分块消除缓存不命中和消除分支预测错误等方法。

因为重装了系统,以下实验环境改为:Ubuntu 17.10 amd-64

Part A 要求写一个缓存模拟器,Part B 要求优化矩阵转置函数,减少缓存不命中数。这个 lab 可以加深对缓存的理解。已写完 Part A 。

csapp-labs's People

Contributors

exely avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.