当前位置: 首页 > article >正文

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, 内存, IO设备
操作系统
软件: 应用程序

图示说明:操作系统是硬件和软件之间的桥梁,它管理硬件资源(如 CPU、内存),为软件提供服务(如文件操作、进程调度)。

为什么要学操作系统?

[00:02:15]-[D:\movie\南京大学操作系统\01-AI时代的操作系统课[2025南京大学操作系统原理].mp4]
[00:02:15]~[00:09:58]

你们可能从小就用智能手机,操作系统对你们来说再熟悉不过。但为什么要在大学里花一学期来学它呢?我觉得有三个理由:

  1. 理解程序的本质:操作系统是程序的“管家”。通过学习它,你会明白程序能做什么、不能做什么,以及操作系统是如何帮你实现这些功能的。比如,你写了一个 cout << "Hello World";,它为什么能显示在屏幕上?这背后是操作系统在起作用。

  2. 掌握编程的力量:这门课本质上是一门编程课!通过操作系统的学习,你会学会如何用代码实现真实世界中的功能。就像我说的,“学完这门课,你会发现,你能做出这个世界上任何东西!”

  3. 迎接 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 这个词就是这么来的。
ENIAC 计算机
真空管逻辑门
水银延迟线内存
打孔纸带输入/输出
无操作系统
直接操作硬件

图示说明: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 列编码一行代码。想想多费劲!

计算机
晶体管逻辑门
磁芯内存
磁带/打印机
批处理操作系统
管理卡片程序
自动处理IO设备

图示说明: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)让程序可以组合。比如,我写一个数字电路模拟器,输出接给另一个程序显示七段数码管,这就是操作系统的协同能力!

计算机
集成电路
虚拟内存
丰富IO设备
分时操作系统
多程序运行
虚拟内存隔离
管道机制

图示说明: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
得到代码/解释
自己理解并应用

图示说明:用 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 里的 catfalse。读读它们的代码,问 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 项目代码(推荐探索)

希望这篇博客能帮你回顾今天的内容,激发你的学习热情!如果有任何疑问,欢迎随时联系我!

http://www.lryc.cn/news/2399295.html

相关文章:

  • 数组1 day7
  • SAP学习笔记 - 开发15 - 前端Fiori开发 Boostrap,Controls,MVC(Model,View,Controller),Modules
  • Redis中的过期策略与内存淘汰策略
  • 基于SDN环境下的DDoS异常攻击的检测与缓解
  • HarmonyOS 实战:给笔记应用加防截图水印
  • 如何轻松地将文件从 PC 传输到 iPhone?
  • 前端面试二之运算符与表达式
  • 【运维实战】使用Nvm配置多Node.js环境!
  • Bresenham算法
  • 【从GEO数据库批量下载数据】
  • day 44
  • 鸿蒙OSUniApp开发跨平台AR扫描识别应用:HarmonyOS实践指南#三方框架 #Uniapp
  • NER实践总结,记录一下自己实践遇到的各种问题。
  • 微信小程序实现运动能耗计算
  • iTunes 无法备份 iPhone:10 种解决方法
  • 施耐德特价型号伺服电机VIA0703D31A1022、常见故障
  • LangChain4J 使用实践
  • 慢SQL调优(二):大表查询
  • 【C++】—— 从零开始封装 Map 与 Set:实现与优化
  • 内网穿透之Linux版客户端安装(神卓互联)
  • 开疆智能Profinet转Profibus网关连接CMDF5-8ADe分布式IO配置案例
  • 华为云Flexus+DeepSeek征文|Flexus云服务器单机部署+CCE容器高可用部署快速搭建生产级的生成式AI应用
  • 扫地机产品--材质传感器算法开发与虚拟示波器
  • [蓝桥杯]上三角方阵
  • 60天python训练计划----day44
  • 【JAVA版】意象CRM客户关系管理系统+uniapp全开源
  • API异常信息如何实时发送到钉钉
  • Python爬虫(48)基于Scrapy-Redis与深度强化学习的智能分布式爬虫架构设计与实践
  • AtCoder Beginner Contest 407 E - Most Valuable Parentheses
  • (1-6-3)Java 多线程