01 - AI 时代的操作系统课 [2025 南京大学操作系统原理]
01 - AI 时代的操作系统课 [2025 南京大学操作系统原理]
[00:00:00]-[D:\movie\南京大学操作系统\01-AI时代的操作系统课[2025南京大学操作系统原理].mp4]
大家好!我是姜艳艳,来自南京大学计算机软件研究所。今天我们开启《操作系统原理》的第一课,我希望以一种亲切的方式,带大家走进操作系统的世界。这门课不仅是一门技术课程,更是一门关于编程、探索和创造的旅程。就像我常说的,“操作系统是来帮我们的,不是来折磨我们的!” 通过这门课,我希望大家能感受到编程的乐趣,学会如何用操作系统的力量实现自己的想法。
今天的第一课,我们将从操作系统的概述开始,聊聊它的历史、重要性,以及在 AI 时代我们为什么还要学习它。以下是我整理的内容,结合老师的原话,稍作通顺和补充,力求让大家能清晰地回顾和学习。
1. 为什么学操作系统?
[00:00:46]-[D:\movie\南京大学操作系统\01-AI时代的操作系统课[2025南京大学操作系统原理].mp4]
[00:00:46]~[00:09:58]
什么是操作系统?
[00:00:46]-[D:\movie\南京大学操作系统\01-AI时代的操作系统课[2025南京大学操作系统原理].mp4]
[00:00:46]~[00:02:15]
让我用最简单的话来定义操作系统:操作系统是一组软件,负责让程序运行变得更简单。它管理硬件资源,为软件提供服务,让你的电脑、手机能够同时运行多个程序,共享内存,与设备交互。比如,你的手机可以一边播放音乐,一边刷微博,这背后就是操作系统在默默支持。
但这定义听起来有点抽象,对吧?别急,我们会一步步揭开它的面纱。就像我上课时说的,“你们不需要死记硬定义,有疑问就问大语言模型,它会帮你把复杂的东西讲得简单!”
图示说明:操作系统是硬件和软件之间的桥梁,它管理硬件资源(如 CPU、内存),为软件提供服务(如文件操作、进程调度)。
为什么要学操作系统?
[00:02:15]-[D:\movie\南京大学操作系统\01-AI时代的操作系统课[2025南京大学操作系统原理].mp4]
[00:02:15]~[00:09:58]
你们可能从小就用智能手机,操作系统对你们来说再熟悉不过。但为什么要在大学里花一学期来学它呢?我觉得有三个理由:
-
理解程序的本质:操作系统是程序的“管家”。通过学习它,你会明白程序能做什么、不能做什么,以及操作系统是如何帮你实现这些功能的。比如,你写了一个
cout << "Hello World";
,它为什么能显示在屏幕上?这背后是操作系统在起作用。 -
掌握编程的力量:这门课本质上是一门编程课!通过操作系统的学习,你会学会如何用代码实现真实世界中的功能。就像我说的,“学完这门课,你会发现,你能做出这个世界上任何东西!”
-
迎接 AI 时代:AI 正在改变一切。操作系统的设计也在适应这个新时代。通过这门课,你会学会如何结合 AI 工具(如大语言模型)来更高效地编程和解决问题。
例子:假设你想写一个程序,让它在按 Ctrl+C
时不退出。你可能会觉得这很难,但用大语言模型一问,它秒秒钟就能给你代码!这门课会教你如何提出正确的问题,借助 AI 实现自己的创意。
2. 操作系统的历史:从 1940 年代到 AI 时代
[00:09:58]-[D:\movie\南京大学操作系统\01-AI时代的操作系统课[2025南京大学操作系统原理].mp4]
[00:09:58]~[01:16:47]
要理解操作系统,我们得看看它是怎么一步步走来的。操作系统的历史,就是计算机软硬件发展的历史。以下是几个关键阶段:
1940 年代:计算机的诞生
[00:57:23]-[D:\movie\南京大学操作系统\01-AI时代的操作系统课[2025南京大学操作系统原理].mp4]
[00:57:23]~[01:00:00]
- 硬件:第一台电子计算机 ENIAC 使用真空管作为逻辑门,内存靠水银延迟线(想象一下,用机械波存数据!),输入输出靠打孔纸带。
- 软件:程序员直接用机器代码写程序,接线、戳纸带,没有操作系统。程序主要是算素数、导弹弹道等数值计算。
- 趣事:那时候程序员还要和真正的“bug”(卡在继电器里的虫子)战斗!debug 这个词就是这么来的。
图示说明:1940 年代的计算机没有操作系统,程序员直接操作硬件,效率低下。
1950-1960 年代:批处理与作业系统
[01:00:00]-[D:\movie\南京大学操作系统\01-AI时代的操作系统课[2025南京大学操作系统原理].mp4]
[01:00:00]~[01:10:40]
- 硬件进步:逻辑门换成晶体管,内存用磁芯存储(二维网格,像今天的 DDR 雏形),IO 设备有了打印机、磁带。
- 软件变化:高级语言(如 Fortran)诞生,程序员用卡片写代码,每张卡片一行代码。
- 操作系统雏形:计算机太贵,只能排队使用。操作员手动管理程序,操作系统(当时叫“作业系统”)开始出现,帮操作员自动处理卡片和设备。
例子:一个 Fortran 卡片可能写着 Z1 = Y + W1
,程序员得在卡片上戳孔,80 列编码一行代码。想想多费劲!
图示说明:1950-60 年代的操作系统管理卡片程序和 IO 设备,解放操作员。
1960-1970 年代:分时系统与现代操作系统
[01:10:40]-[D:\movie\南京大学操作系统\01-AI时代的操作系统课[2025南京大学操作系统原理].mp4]
[01:10:40]~[01:16:47]
- 硬件飞跃:集成电路、总线出现,内存更大,CPU 更快,IO 设备更丰富(像早期图形界面 Sketchpad)。
- 软件进步:高级语言(如 C、Basic)普及,程序更复杂,图形界面初现。
- 操作系统进化:分时系统(Multics、UNIX)诞生,允许多个程序同时运行,通过虚拟内存隔离进程,防止崩溃。
例子:UNIX 的管道机制(pipe)让程序可以组合。比如,我写一个数字电路模拟器,输出接给另一个程序显示七段数码管,这就是操作系统的协同能力!
图示说明:1960-70 年代的操作系统支持多程序运行和进程隔离,奠定现代操作系统基础。
AI 时代:算力即服务
[01:07:07]-[D:\movie\南京大学操作系统\01-AI时代的操作系统课[2025南京大学操作系统原理].mp4]
[01:07:07]~[01:16:47]
今天,算力又变成了服务。像 DeepSeek 这样的大语言模型,运行在云端 GPU 集群上,我们通过 API 访问。操作系统不仅管理本地硬件,还要支持分布式系统和云服务。这让我想起 1950 年代的“排队用计算机”,只不过现在我们排队用的是云端算力!
3. 这门课怎么学?
[01:16:47]-[D:\movie\南京大学操作系统\01-AI时代的操作系统课[2025南京大学操作系统原理].mp4]
[01:16:47]~[01:28:36]
既然这是一门编程课,我希望大家能带着好奇心和创造力来学。以下是我的建议,结合老师的原话:
忘掉 GPA,拥抱创造
[01:17:14]-[D:\movie\南京大学操作系统\01-AI时代的操作系统课[2025南京大学操作系统原理].mp4]
[01:17:14]~[01:22:21]
我知道 GPA 对你们很重要,但在这门课里,我想说:“忘掉 GPA,真正去做东西!” 当你专注于创造,GPA 自然不会差。我的考试不会考犄角旮旯的细节,而是看你是否理解大图景、是否是个好的开发者。
例子:考试可能问你如何用管道实现程序间通信。如果你写过 mini lab,理解了管道的原理,这题就不难。
用 AI 做你的助手
[01:19:08]-[D:\movie\南京大学操作系统\01-AI时代的操作系统课[2025南京大学操作系统原理].mp4]
[01:19:08]~[01:25:20]
AI 是你的超级工具!用大语言模型帮你理解概念、写脚本、调 bug。比如,你不记得 pipe
函数怎么用,问 AI 就行,它会告诉你读口是 fd[0]
,写口是 fd[1]
,还提醒你处理错误。
注意:mini lab 里,AI 只能用于单个 API 的生成,不能直接把整个实验要求丢给 AI 做。这叫 academic integrity,靠你的好奇心和自律去学习!
图示说明:用 AI 辅助学习,提出具体问题,理解并应用答案。
多写代码,享受调试
[01:20:10]-[D:\movie\南京大学操作系统\01-AI时代的操作系统课[2025南京大学操作系统原理].mp4]
[01:20:10]~[01:22:21]
编程是门手艺,调试是乐趣!每写完一段代码,问问 AI:“这段代码写得好吗?命名规范吗?” 慢慢地,你会养成专业开发者的习惯。
例子:你写了个函数,AI 可能提醒你加错误处理,像 if (pipe(fd) == -1) { perror("pipe"); exit(1); }
。这在真实系统设计中很重要。
探索有趣的工具
[01:31:01]-[D:\movie\南京大学操作系统\01-AI时代的操作系统课[2025南京大学操作系统原理].mp4]
[01:31:01]~[01:37:05]
操作系统里有无数好玩的工具,比如 Toybox 里的 cat
、false
。读读它们的代码,问 AI 为什么没有 main
函数还能运行。你会发现,操作系统是个宝藏,等着你挖掘!
4. 课程设计与期待
[01:28:36]-[D:\movie\南京大学操作系统\01-AI时代的操作系统课[2025南京大学操作系统原理].mp4]
[01:28:36]~[01:37:47]
课程安排
[01:22:55]-[D:\movie\南京大学操作系统\01-AI时代的操作系统课[2025南京大学操作系统原理].mp4]
[01:22:55]~[01:28:36]
- 实验(40%):全是 mini lab,数量多但简单,部分由 AI 设计。实验框架带 unit test,帮你快速验证代码。
- 期中测验(10%):很轻松,签到就行。
- 期末考试(50%):注重理解,不考偏题。
我的期待
[01:37:05]-[D:\movie\南京大学操作系统\01-AI时代的操作系统课[2025南京大学操作系统原理].mp4]
[01:37:05]~[01:37:47]
我希望这门课能点燃你的好奇心,让你感受到“别人能做到的,我也行!” 不管是写个小工具,还是实现复杂系统,操作系统会给你无限可能。就像我说的,“从现在开始写代码,你就会拥有这个世界!”
补充:如果有问题,随时邮件我,我保证 100% 回复!课后也可以在 QQ 群讨论,或者告诉我你们喜欢的 office hour 时间。
总结
[01:37:05]-[D:\movie\南京大学操作系统\01-AI时代的操作系统课[2025南京大学操作系统原理].mp4]
今天我们从操作系统的定义讲到它的历史,从 1940 年代的 ENIAC 到 AI 时代的云算力,操作系统一直在进化,帮助我们更高效地编程和创造。这门课不仅教你技术,更教你如何用好奇心和 AI 工具,变成一个有创造力的开发者。
最后,用我上课的话结束:“你们需要的是好奇心。忘掉 GPA,写代码,拥有这个世界!” 下节课我们会深入探讨操作系统的核心机制,敬请期待!
参考资料:
- 课程主页(邮件群发通知)
- Bilibili 视频:01 - AI 时代的操作系统课
- Toybox 项目代码(推荐探索)
希望这篇博客能帮你回顾今天的内容,激发你的学习热情!如果有任何疑问,欢迎随时联系我!