课程简介
本课程是一门系统、深入的操作系统高级教程,旨在帮助学习者构建坚实的操作系统核心知识体系。课程以ARMv8(AArch64)体系结构为切入点,深度剖析了操作系统内核的关键机制,包括进程/线程管理、虚拟内存、进程间通信(IPC)、调度算法以及并发同步原语。同时,课程紧跟技术前沿,全面覆盖了现代操作系统的核心议题,如微内核架构(以ChCore为例)、系统虚拟化(KVM/QEMU)、容器技术、操作系统安全(SELinux、侧信道防御、Intel SGX)、网络栈优化(DPDK)以及文件系统(日志、COW、闪存)等。通过结合理论讲解与ChCore实验代码分析,本课程不仅传授操作系统设计精髓,更培养解决复杂系统问题的实际能力,是进阶成为系统级开发工程师或研究人员的必修课程。
下载地址
课程目录
01 操作系统概述与挑战
第1–9节:操作系统定义、学习意义、挑战、Apple案例、ChCore简介及实验说明。
02 ARM体系结构与启动
第10–18节:ARM选择、AArch64架构、启动过程、中断异常概念、产生与处理、Linux中断理念、系统调用。
03 操作系统内核架构
第19–22节:宏内核、微内核、外核与库OS、多内核架构与小结。
04 虚拟内存与物理内存
第23–27节:虚拟与物理地址、分页虚拟内存、虚拟内存功能、物理内存分配与管理。
05 进程与线程
第28–34节:进程概念与操作接口、线程概念与本地存储、上下文切换、纤程。
06 进程与线程调度
第35–38节:调度概述、经典调度、优先级调度、公平共享调度。
07 进程间通信
第39–47节:IPC背景与基础、共享内存、消息传递及其问题解决、Unix管道与消息队列、ChCore IPC、轻量级远程调用LRPC。
08 同步与互斥
第48–58节:临界区问题、互斥锁软硬件实现、读写锁、RCU、死锁、优先级反转、性能可扩展性、缓存一致性、MCS锁、非一致内存访问、内存模型。
09 文件系统
第59–68节:基于inode与Table的文件系统、基本操作、虚拟文件系统VFS、高级功能、崩溃一致性、日志、写时复制、日志文件系统、闪存与瓦式磁盘新型文件系统。
10 设备与驱动
第69–75节:设备概述、系统与设备交互、中断管理、设备驱动、驱动模型、设备树、Linux上下部。
11 系统虚拟化
第76–94节:虚拟化优势与概念、实现方法、软件与硬件CPU虚拟化、虚拟机与处理器、QEMU与KVM、内存虚拟化、IO虚拟化、中断虚拟化、轻量级虚拟化综述、chroot、Linux容器、Serverless案例、性能隔离。
12 网络
第95–99节:Linux网络收包概述与包管理、协议栈总结、DPDK、ChCore微内核网络、不同架构网络对比。
13 操作系统安全
第100–113节:安全服务、访问控制、SELinux、内部安全、IOS安全案例、侧信道与隐秘信道攻击防御、Meltdown案例与KPTI、不可信OS与Enclave、保护Enclave方法、Intel SGX、其他平台Enclave与小结。
14 调试与测试
第114–118节:调试器原理与OS支持、性能调试、测试原则方法、Linux安全漏洞修复流程。
15 操作系统研究前沿
第119–125节:操作系统研究、异构OS、新应用接口、多核同步原语、持久性内存、智能网卡、系统安全隔离、新型测试方法、形式化证明。
--- 点击展开详细目录 ---PART1
实验环境
-
📦 ChCore课程实验代码及说明.zip
-
🎬 1.1 操作系统的定义.mp4
-
🎬 1.2 为什么学习操作系统.mp4
-
🎬 1.3 操作系统面临的挑战.mp4
-
🎬 1.4 案例:Apple操作系统技术演进.mp4
-
🎬 1.5 ChCore简介.mp4
-
🎬 2.1 为什么选择ARM.mp4
-
🎬 2.2 AArch64体系结构.mp4
-
🎬 2.3 操作系统启动过程.mp4
-
🎬 2.4 中断与异常的概念.mp4
-
🎬 2.5 中断与异常的产生.mp4
-
🎬 2.6 Linux的中断处理理念.mp4
-
🎬 2.7 中断与异常的处理.mp4
-
🎬 2.8 系统调用.mp4
-
🎬 3.1 操作系统结构与宏内核.mp4
-
🎬 3.2 微内核架构.mp4
-
🎬 3.3 外核架构与库OS.mp4
-
🎬 3.4 多内核架构与小结.mp4
-
🎬 4.1 虚拟地址和物理地址.mp4
-
🎬 4.2 基于分页的虚拟内存(第一部分).mp4
-
🎬 4.2 基于分页的虚拟内存(第二部分).mp4
-
🎬 4.3 虚拟内存功能.mp4
-
🎬 4.4 物理内存分配与管理.mp4
-
🎬 5.1 进程的基本概念.mp4
-
🎬 5.2 进程的基本操作接口(上).mp4
-
🎬 5.3 进程的基本操作接口(下).mp4
-
🎬 5.4 线程的基本概念.mp4
-
🎬 5.5 线程本地存储和上下文切换.mp4
-
🎬 5.6 纤程.mp4
-
🎬 6.1 进程_线程调度.mp4
-
🎬 6.2 经典调度.mp4
-
🎬 6.3 优先级调度.mp4
-
🎬 6.4 公平共享调度.mp4
-
🎬 7.1 进程间通信背景和基础.mp4
-
🎬 7.2 共享内存.mp4
-
🎬 7.3 消息传递.mp4
-
🎬 7.4 消息传递的问题与解决方法.mp4
-
🎬 7.5 Unix管道.mp4
-
🎬 7.6 Unix消息队列.mp4
-
🎬 7.7 轻量级远程方法调用LRPC.mp4
-
🎬 7.8 ChCore进程间通信.mp4
-
🎬 8.1 临界区问题.mp4
-
🎬 8.2 互斥锁的软件实现与硬件实现.mp4
-
🎬 8.3 读写锁.mp4
-
🎬 8.4 Read Copy Update.mp4
-
🎬 8.5 死锁.mp4
-
🎬 8.6 优先级反转.mp4
-
🎬 8.7 性能可扩展性.mp4
-
🎬 8.8 缓存一致性.mp4
-
🎬 8.9 MCS锁.mp4
-
🎬 8.10 非一致内存访问.mp4
-
🎬 8.11 内存模型.mp4
-
🎬 9.1 基于inode的文件系统.mp4
-
🎬 9.2 基于inode文件系统的基本操作.mp4
PART2
- 🎬 9.3 基于Table的文件系统.mp4
- 🎬 9.4 虚拟文件系统(VFS).mp4
- 🎬 9.5 文件系统高级功能.mp4
- 🎬 9.6 崩溃一致性.mp4
- 🎬 9.7 日志.mp4
- 🎬 9.8 写时复制.mp4
- 🎬 9.9 日志文件系统.mp4
- 🎬 9.10 新型文件系统:闪存.mp4
- 🎬 9.11 新型文件系统:瓦式磁盘.mp4
- 🎬 10.1 设备概述.mp4
- 🎬 10.2 系统与设备的交互方式.mp4
- 🎬 10.3 中断管理.mp4
- 🎬 10.4 设备驱动.mp4
- 🎬 10.5 驱动模型.mp4
- 🎬 10.6 设备树.mp4
- 🎬 10.7 Linux上下部.mp4
- 🎬 11.1 系统虚拟化的优势.mp4
- 🎬 11.2 什么是系统虚拟化.mp4
- 🎬 11.3 如何实现系统虚拟化.mp4
- 🎬 11.4 基于软件的CPU虚拟化方法.mp4
- 🎬 11.5 硬件虚拟化.mp4
- 🎬 11.6 虚拟机与虚拟处理器.mp4
- 🎬 11.7 QEMU与KVM.mp4
- 🎬 11.8 内存虚拟化.mp4
- 🎬 11.9 IO虚拟化(上).mp4
- 🎬 11.10 IO虚拟化(下).mp4
- 🎬 11.11 中断虚拟化.mp4
- 🎬 11.12 轻量级虚拟化-综述.mp4
- 🎬 11.13 第一次尝试:chroot.mp4
- 🎬 11.14 Linux容器(上).mp4
- 🎬 11.15 Linux容器(下).mp4
- 🎬 11.16 案例:Serverless平台.mp4
- 🎬 11.17 性能隔离(上).mp4
- 🎬 11.18 性能隔离(下).mp4
- 🎬 12.1 Linux网络收包概述.mp4
- 🎬 12.2 Linux网络包管理.mp4
- 🎬 12.3 Linux协议栈总结.mp4
- 🎬 12.4 DPDK.mp4
- 🎬 12.5 ChCore微内核网络.mp4
- 🎬 12.6 不同架构网络对比.mp4
- 🎬 13.1 操作系统的安全服务.mp4
- 🎬 13.2 访问控制(上).mp4
- 🎬 13.3 访问控制(下).mp4
- 🎬 13.4 SELinux(上).mp4
- 🎬 13.5 SELinux(下).mp4
- 🎬 13.6 操作系统内部安全.mp4
- 🎬 13.7 案例-IOS的系统安全.mp4
- 🎬 13.8 侧信道与隐秘信道.mp4
- 🎬 13.9 侧信道攻击与防御.mp4
- 🎬 13.10 案例-Meltdown与KPTI.mp4
- 🎬 13.11 不可信操作系统与Enclave.mp4
- 🎬 13.12 保护Enclave的方法.mp4
- 🎬 13.13 Intel SGX.mp4
- 🎬 13.14 其他平台的Enclave与小结.mp4
- 🎬 14.1 调试器的基本原理.mp4
- 🎬 14.2 操作系统的调试器支持.mp4
- 🎬 14.3 性能调试1.mp4
- 🎬 14.4 性能调试2.mp4
- 🎬 14.5 测试的基本原则和方法.mp4
- 🎬 14.6 Linux安全漏洞修复流程.mp4
- 🎬 15.1 操作系统研究.mp4
- 🎬 15.2 异构操作系统.mp4
- 🎬 15.3 新的应用接口.mp4
- 🎬 15.4 多核同步原语.mp4
- 🎬 15.5 持久性内存.mp4
- 🎬 15.6 智能网卡.mp4
- 🎬 15.7 系统安全隔离.mp4
- 🎬 15.8 操作系统新型测试方法.mp4
- 🎬 15.9 形式化证明.mp4
|