计算机系统基础
授课学院
计算机学院
课程学习内容
计算机系统基础,也就是 ICS,是计算机学院的镇院神课,它不仅仅是一门课,更是一场从底层硬件到高层软件的通天之旅。
这门课将带你跨越“程序编写”与“程序运行”之间的鸿沟,内容涵盖以下板块:
- 数据的底层表示
- 计算机是如何用
0和1表示整数、浮点数和字符的? -
为什么
x + y < x在计算机里可能是真的?(溢出与补码的奥秘) -
程序的机器级代码
-
通过汇编语言(x86-64, RISCV),你将亲眼看到 C 语言的
if、loop、function在 CPU 指令集层面是如何被精准执行的。 -
存储器层次结构
- 探索 CPU 缓存(Cache)、内存与磁盘之间的速度鸿沟。
-
学习如何编写“对缓存友好”的代码,让程序的性能提升数倍。
-
异常控制流与系统调用
- 理解操作系统如何通过进程切换实现“并发”。
- 揭秘信号处理(Signal)以及
fork()是如何创造出“双胞胎”进程的。 - 如何利用中断实现I/O。
如果你曾有过以下疑惑,ICS 就是为你准备的:
- 从“黑盒用户”到“造物主”:以前你只是在写代码,现在你会明白每一行 C 语言如何变成电信号,如何在内存里布局。这种通透感会让你对编程的理解产生质变。
- 硬核实战的快感:
- 构建终身受用的底层底座:无论未来你想搞 AI、大数据、还是操作系统,CSAPP 提供的“系统思维”都是最稳固的地基。它能让你在遇到诡异的系统 Bug 时,拥有直觉般的排查能力。
“只有理解了系统,你才能真正掌控代码。”
这门课确实有难度,甚至可能会让你掉不少头发,但当你写出第一个能运行的系统级程序时,你会发现,你终于从一个“码农”开始向“计算机科学家”迈进。
你想先了解一下 CSAPP 中最著名的五个 Lab 分别在做什么吗?我可以为你详细拆解。