子呀手写OS操作系统三期资源介绍:
🎯 课程核心定位与目标
一门系统编程领域的硬核课程!它的目标是让你从原理到代码,彻底理解现代操作系统的核心工作机制,而非简单地使用操作系统API。通过“手写”这一实践过程,你将能直观地看到理论知识(如保护模式、虚拟内存、任务调度)是如何转化为具体代码的,这是学习计算机系统知识最深刻的方式。
📚 课程核心内容与技术路径
遵循一个非常经典且系统的“自底向上”构建路径,共分为四个阶段:
| 阶段 | 核心目标 | 关键技术点与挑战 |
|---|---|---|
| 第一阶段:实模式与引导 | 玩转CPU实模式,从软盘启动,实现一个微内核。 | 汇编语言、BIOS中断、512字节引导扇区限制、从实模式启动。 |
| 第二阶段:保护模式与C内核 | 进入保护模式,用C语言开发内核主体,实现基础功能。 | 全局描述符表(GDT)、保护模式切换、C语言与汇编混合编程、VGA文本模式输出。 |
| 第三阶段:完整内核功能 | 实现多任务管理,使内核具备现代操作系统的核心能力。 | 中断描述符表(IDT)、物理/虚拟内存管理、任务状态段(TSS)、任务切换、系统调用机制。 |
| 第四阶段:网络扩展 | 为自研内核手写一个基础网络协议栈。 | 网络包封装/解封装、以太网、IP、TCP/UDP等协议实现。 |
🧑💻 适合人群与前置要求
这门课程门槛较高,非常适合以下学习者:
- 追求深度:希望彻底理解操作系统、计算机组成原理,不满足于表面知识的开发者。
- 系统/底层开发方向:立志于从事嵌入式、内核、驱动、虚拟化、编译器等领域研发。
- 技能进阶:已有一定C/汇编和操作系统理论基础的开发者,想通过实践将知识融会贯通。
重要前提:你需要有良好的C语言基础,并对计算机组成原理(如CPU、内存、中断)有基本了解。虽然课程会从汇编教起,但面对指针、内存地址等底层概念时,仍需一定的适应能力。
💡 课程特点与学习价值
- 学习路径极其扎实:从“通电”后CPU的第一条指令开始,一步步构建整个系统,知识链条完整,逻辑严密。
- 实践驱动,直击本质:通过编码解决“如何让屏幕显示一个字符”、“如何让两个任务交替运行”等根本问题,理解会异常深刻。
- 技能独特且高壁垒:掌握手写内核的能力,在技术深度和系统思维上会远超大部分应用层开发者,形成强大的核心竞争力。
资源目录:
├── 第一阶段、玩转CPU实模式/
│ ├── [322M] 1、手写OS三期开课啦.mp4
│ ├── [303M] 2、带你玩转汇编.mp4
│ ├── [240M] 3、实现OS微内核.mp4
│ ├── [233M] 4、带你玩转汇编执行流(一).mp4
│ ├── [306M] 5、带你玩转汇编执行流(二).mp4
│ └── [311M] 6、让你的OS尽情发挥.mp4
├── 第二阶段、实现真正意义上的内核/
│ ├── [372M] 7、带你玩转CPU段页门.mp4
│ ├── [254M] 8、让你的内核进入保护模式.mp4
│ ├── [249M] 9、带你玩转指针(一).mp4
│ ├── [325M] 10、带你玩转指针(二).mp4
│ └── [257M] 11、实现内核打印函数printk.mp4
├── 第三阶段、加入中断与虚拟内存,实现完整OS/
│ ├── [301M] 12、让我们的OS接管BIOS中断.mp4
│ ├── [262M] 13、检测内存,实现物理内存管理模块.mp4
│ ├── [266M] 14、开启分页,实现虚拟内存管理.mp4
│ ├── [285M] 15、实现任务切换(一).mp4
│ ├── [259M] 16、实现任务切换(二).mp4
│ └── [252M] 17、进入用户态,实现系统调用,实现态切换.mp4
├── 第四阶段、手写网络协议栈/
│ ├── [383M] 1、教你写出稳定可靠的网络框架.mp4
│ ├── [180M] 2、手写实现NIO.mp4
│ ├── [349M] 3、编码获取网卡Mac地址.mp4
│ └── [167M] 4、实现UDP、DHCP、TCP协议.mp4
└── 资料代码/
├── 代码/
└── 资料/

