原视频学习链接
课讲的是真蛮好,值得学习
https://www.bilibili.com/video/BV1iW411d7hd?p=1&vd_source=378411846cf242262e8e78b54a0a0f58
课件在此
01-overview
Abstraction is Good But Don’t Forget The Reality
课程内容
课程中涉及到的所有实验建议大家都亲自尝试写一下,不要参考其他人的,这样才会有最深刻和独特的体验。
最好配合英文原版的Computer Systems A Programmer’s Perspective Third Edition
(不得不说,又厚又贵)
英文版看起来有难度也可以看中文的
1.数据类型及存储
$ lldb
(lldb) print 200*300*400*500
(int) $0 = -88490188
(lldb) print 200.0*300.0*400.0*500.0
(int) $1 = 1.2E+10
[lab1]C programming Lab
实验内容参考 CSAPP:Lab0-C Programming Lab
同时这里CSAPP的作者也推荐了这本书,代码写的非常简洁
[lab2]datalab
实验内容可以参考深入理解计算机系统-datalab详解
[lab3]bomblab
实验内容可以参考深入理解计算机系统–bomblab
[lab4]attacklab
实验内容可以参考深入理解计算机系统attack lab
2. 汇编
3. 内存的重要性
[lab5]cachelab
实验内容可以参考深入理解计算机系统-cachelab详解
[lab6]malloclab
实验内容可以参考CSAPP:Lab5-Malloc Lab
4. 底层优化的重要性
注意这张图,如果大家仔细又看深入理解计算机系统的话就会发i发现这是封面上的图。
图的含义就是不通的写法带来性能上的巨大差异。
5.IO的重要性和网络
[lab7]tshlab
实验内容可以参考《深入理解计算机系统》CSAPP_ShellLab(TshLab)
[lab8]proxylab
实验内容可以参考CSAPP之详解ProxyLab
未完待补