高级操作系统
高级操作系统
1万+ 人选课
更新日期:2025/07/20
开课平台学堂在线
开课高校清华大学
开课教师陈渝
学科专业工学计算机类
开课时间2025/01/15 - 2025/07/22
课程周期27 周
开课状态开课中
每周学时-
课程简介

本课程主要围绕操作系统相关研究领域的经典和前沿论文和研究成果进行讲解。大致课程内容如下:

Lec 1 Advanced OS Overview
        1. Course Overview
        2. Course Scheduling
        3. Rethink OS Components
        4. Tendency of OS -- Performance
        5. Tendency of OS -- Reliability

        6. Tendency of OS -- Correctness

        7. Summary
Lec 2 OS Architecture
        1. History of OS Architecture -- THE
        2. Monolithic Kernel -- UNIX
        3. Micro Kernel -- L4
        4. ExoKernel
        5. Extensible Kernel
        6. Summary
Lec 3+4 System Virtualization Overview
        1. Introduction
        2. Traditional Virtualization Challenges
        3. Virtualization Technologies -CPU
        4. Virtualization Technologies -Mmeory
        5. Virtualization Technologies -I/O
        6. Some VMMs
        7. Summary
Lec 5+6 OS/System API/Interface
        1. Introduction
        2. Rethinking the Library OS from the Top Down
        3. DPDK: Accelerating the I/O Path
        4. Dune: Safe User-level Access to Privileged CPU Features
        5. Safe and Secure Drivers in High-Level Languages
        6. Summary
Lec 7+8 OS for MultiCore Architecture
        1. Introduction
        2. How to analyze the OS bottleneck for multicore arch
        3. How to optimize the OS for multicore arch
        4. Optimizing the OS performance from MIT's research
        5. Scalable Kernel TCP Design and Implementation for Short-Lived Connections
        6. Summary
Lec 9+10 OS/System Security
        1. Introduction
        2. Improving Integer Security for Systems with KINT
        3. PF-Miner: A new paired functions mining method for Android kernel in error paths
        4. RID: Finding Reference Count Bugs with Inconsistent Path Pair Checking
        5. Summary
Lec 11+12 Correctness: OS/System Verification
        1. Introduction
        2. seL4: Formal Verification of an OS Kernel
        3. Jitk: A trustworthy in-kernel interpreter infrastructure
        4. Hyperkernel: Push-Button Verification of an OS Kernel
        5. Summary
Lec 13+14 OS Kernel and HLL
        1. Introduction
        2. Multiprogramming a 64 kB Computer Safely and Efficiently
        3. The benefits and costs of writing a POSIX kernel in a high-level language
        4. Summary
Lec 15+16 Invited Talks From Visitors & Students
       1. High-Performance Network Optimization on Data Center
       2. Security OS Design for  Multi-tenancy
       3. OS Performance Optimization for Serverless Service

课程大纲
Advanced OS Overview
Course Overview
Course Scheduling
Rethink OS Components
Tendency of OS -- Performance
Tendency of OS -- Reliability
Tendency of OS -- Correctness + Summary
OS Architecture &Structure
Overview
History
Monolithic kernel – UNIX
Micro kernel – Mach & L4
Exokernel – Xok+ExOS
Virtual Machine Monitor
overview
How VMM works-part1
How VMM works-part2
Hardware-assisted Virtualization
Optimization of Virtual Machine Monitor
Introduction
lightvm
dune
The Interface of OS
Introduction
Overview of POSIX
POSIX in modern OS
How to design a Linux kernel interface
Interface for Performance part1
Interface for Performance part2
The Programming Languages of OS
Introduction
The Evolution of C Programming Practices
A Study of Bugs on Linux
The benefits and costs of writing kernel in a HLL
Writing kernel in Rust
Scalable Sync on Shared-Memory Multiprocessors
Introduction
Cache Coherence
Memory Consistency
Scalable Sync on Shared-Memory Multiprocessors-II
Multiprocessor Memory Model & Multiprocessor Programming
Concurrency in OS Kernel
Introduction
scalable lock
RCU