CMU 15-213: CSAPP 01-course overview

CMU 15-213: CSAPP 01-course overview


就是课程的引入,没有正式讲
2023/1/16 记

CMU 15-213: CSAPP 01-course overview_第1张图片

Instructors: 讲师

CMU 15-213: CSAPP 01-course overview_第2张图片

CMU 15-213: CSAPP 01-course overview_第3张图片

Abstraction Is Good But Don’t Forget Reality:
Asymptotic analysis:渐近分析
underlying implementations:底层的实现

CMU 15-213: CSAPP 01-course overview_第4张图片

CMU 15-213: CSAPP 01-course overview_第5张图片
int的取值范围为:-2^31 ---- 2^31-1 ,即:-2147483648 - 2147483647,越界溢出了

计算机的整数和浮点数和事实上的不一样
-1e20,这里不是次方,就表示1后接上20个0,然后3.14太小被忽略?没太懂

整数的表示只能是编码一个相对较小的数值范围, 这种表示是精确的

浮点可以编码一个较大的数值范围 , 但表示是近似的

浮点数的表示精度有限,导致了浮点的运算是不可结合的,浮动通常提供价值约7有效数字的精度,和双打提供16位有效数字

(3.14+1e20)-1e20 =0.0

3.14+(1e20-1e20)=3.14

在这里插入图片描述

CMU 15-213: CSAPP 01-course overview_第6张图片

Computer Arithmetic:计算机算术

CMU 15-213: CSAPP 01-course overview_第7张图片

Assembly:汇编
Compilers :编译器

CMU 15-213: CSAPP 01-course overview_第8张图片

CMU 15-213: CSAPP 01-course overview_第9张图片

Memory Matters
unbounded:不受控制的
allocated:分配
memory dominated:内存主导
Memory referencing bugs especially pernicious:和内存有关的bug尤其有害

CMU 15-213: CSAPP 01-course overview_第10张图片

Possibly out of bounds:可能越界了
Segmentation fault:分段错误

CMU 15-213: CSAPP 01-course overview_第11张图片

Out of bounds array references :数组引用越界
Invalid pointer values :无效的指针值
Abuses of malloc/free:滥用
nasty:严重的
Action at a distance:远距离操作??
Corrupted:已损坏的

CMU 15-213: CSAPP 01-course overview_第12张图片

获得更高的性能
performance:性能
asymptotic complexity:渐近的复杂性Constant :常数
matter:麻烦
optimize:优化
bottlenecks:瓶颈
modularity and generality:模块性和通用性

CMU 15-213: CSAPP 01-course overview_第13张图片

Hierarchical memory organization:分层内存组织
access patterns:访问模式
multi-dimensional array:多维数组
这里是因为:数组是按行存储的

CMU 15-213: CSAPP 01-course overview_第14张图片

i,j交换一下顺序,效率就不一样了

CMU 15-213: CSAPP 01-course overview_第15张图片

CMU 15-213: CSAPP 01-course overview_第16张图片

critical :批判的;至关重要的
Concurrent operations :并发操作
compatibility:兼容性

CMU 15-213: CSAPP 01-course overview_第17张图片

CMU 15-213: CSAPP 01-course overview_第18张图片

CMU 15-213: CSAPP 01-course overview_第19张图片

课程的视角
Most Systems Courses are Builder-Centric:大多数系统课程都是以生成器为中心的
Implement:实现
Implement and simulate network protocols:实现和模拟网络协议

CMU 15-213: CSAPP 01-course overview_第20张图片

Incorporate :合并
hooks:钩子???
dedicated:专用的
We bring out the hidden hacker in everyone!:我们把每个人隐藏的黑客都激发出来!

CMU 15-213: CSAPP 01-course overview_第21张图片

命令式编程(Imperative):详细的命令机器怎么(How)去处理一件事情以达到你想要的结果(What);eg:JavaScript
声明式编程( Declarative):只告诉你想要的结果(What),机器自己摸索过程(How)eg:SQL数据库
通常情况下我们常用的大部分编程语言:c,java,c++等都是命令式编程语言。而像正则表达式(regular expressions)或者逻辑语言(Prolog)则为声明式语言。

CMU 15-213: CSAPP 01-course overview_第22张图片

Cheating:作弊
semester:学期
syllabus:教学大纲
Ignorance is not an excuse:无知不是借口

CMU 15-213: CSAPP 01-course overview_第23张图片

Consequences:后果
Penalty :惩罚
Removal :结课
sophisticated tools for detecting code plagiarism:检测代码剽窃的复杂工具
expelled:开除

CMU 15-213: CSAPP 01-course overview_第24张图片

CMU 15-213: CSAPP 01-course overview_第25张图片

Course Components:课程构成
Lectures:讲座
Higher level concepts:理论
Recitations:复习课
Applied concepts, important tools and skills for labs, clarification of lectures, exam coverage
concepts & mathematical principles:概念和数学原理

CMU 15-213: CSAPP 01-course overview_第26张图片

We won’t be using Blackboard or Piazza for the course
Blackboard和Piazza(都是外国的一种教学系统)

CMU 15-213: CSAPP 01-course overview_第27张图片

Staff:员工
CC staff :抄送人员

CMU 15-213: CSAPP 01-course overview_第28张图片

Autolab:github上的一个开源课程管理系统,支持自动评分(do lab)
network-isolated clusters:网络孤立集群(应该是局域网之类的)

CMU 15-213: CSAPP 01-course overview_第29张图片

Facilities:设施
我们肯定没的用,自己准备

CMU 15-213: CSAPP 01-course overview_第30张图片

grace:延期
semester:学期
automatically:应该也还是github上的系统吧
Covers scheduling crunch, out-of-town trips, illnesses, minor setbacks:包括日程安排紧张,外地旅行,生病,小挫折
penalties:惩罚
Catastrophic events:突发的重大事件

CMU 15-213: CSAPP 01-course overview_第31张图片

Lecture Hall:大教室

Laptops:笔记本电脑

recordings:录制

CMU 15-213: CSAPP 01-course overview_第32张图片

Final grades based on a straight scale.
嗯,应该是实验和测试做完分数就直接和出来的那种

CMU 15-213: CSAPP 01-course overview_第33张图片

作业
L1(数据实验室):操作位
L2 (bomblab):拆除二元炸弹
L3 (attacklab):代码注入攻击的基础

CMU 15-213: CSAPP 01-course overview_第34张图片

作业
L4 (cachelab):构建缓存模拟器并针对局部性进行优化。
学习如何在程序中利用局部性。

CMU 15-213: CSAPP 01-course overview_第35张图片

作业
L5 (tshlab):编写自己的Unix shell。
第一次介绍并发性

CMU 15-213: CSAPP 01-course overview_第36张图片

dynamic storage allocation:动态存储分配
作业
L6 (malloclab):编写自己的malloc包
对系统级编程有一个真正的感觉

CMU 15-213: CSAPP 01-course overview_第37张图片

Concurrency:协议
threads:线程
multiplexing:多路复用
作业
L7 (proxylab):编写自己的Web代理
了解网络编程以及更多关于并发和同步的知识。

CMU 15-213: CSAPP 01-course overview_第38张图片

Lab Rationale :实验室基本原理
为全额学分设置一个合理的门槛
发布中间结果(匿名)在Autolab记分板的荣耀!

CMU 15-213: CSAPP 01-course overview_第39张图片

CMU 15-213: CSAPP 01-course overview_第40张图片

enrolled :登记
Autolab:说是要账户,不过现在Autolab开源了,应该问题不大
-》课程页的web上有实验1

CMU 15-213: CSAPP 01-course overview_第41张图片

CMU 15-213: CSAPP 01-course overview_第42张图片

你可能感兴趣的:(学习路线,经验分享,学习,初学者)