Computer Science - UG3/G
Course Operating System I
Term 2023H
Final Exam
Credits 3
Staff WU Xiaokun 吴晓堃
Lecture 48 hours (12 weeks)
计算机科学专业核心课
课程名称 操作系统I
授课时间 2023年秋
考试形式 考试
学分 3
讲者 吴晓堃
总计时长 48学时(12周)

Course Information

Short Intro

The objective of this course is to provide a complete introduction to Operating System.

Description

This course was assigned to me under the “same course, same content” rule, so I do not have much freedom in deciding what knowledge to share.

Prerequisites

We expect you to have the following skills before taking this course:

Required

Recommended

Teaching Plan

This course is organized into a 12-week session (4 hours per week). The main contents are listed below:

  1. Introduction
  2. Virtualization (CPU): Processes, 4,5,6
  3. Virtualization (CPU): Scheduling, 7,8
  4. Virtualization (Memory): Address Spaces, 13,14,15
  5. Virtualization (Memory): Segmentation, 16,17
  6. Virtualization (Memory): Paging, 18,20,21,22
  7. Complete VM Systems, 23
  8. Concurrency: Treads, 26,27
  9. Concurrency: Locking, 28,29
  10. Concurrency: Semaphores, 31
  11. Persistence: Drivers, 36,37,38
  12. Persistence: Filesystems, 39
  13. Persistence: Filesystem Implementation, 40
  14. Persistence: Journaling, 42

Schedule

Friday; 5-202.

Week Date Lecture Handouts
1 2023/09/08 导言:虚拟化、并发、持久存储,设计目标
2 2023/09/15 导言:简单历史;进程概览:进程的抽象化描述,进程创建的更多细节,进程状态,数据结构
3 2023/09/22 -
4 2023/10/08 受限直接执行:直接执行,限制进程操作,在进程之间切换;进程调度简介:工作负载假设及调度指标,先进先出(FIFO),最短任务优先 (SJF),最短完成时间优先 (STCF),轮转 (RR),结合 I/O;多级反馈队列:MLFQ 基本规则,实现 MLFQ,调优 MLFQ;比例份额调度:基本概念,机制与实现,随机性的正当理由
5 2023/10/06 -
6 2023/10/13 进程调度小结;地址空间概述:多道程序和时分共享,地址空间,设计目标;地址转换机制:问题引入,基础方案,动态(基于硬件)重定位,硬件支持总结,操作系统的职责;分段:分段基本思想,显式标识与引用
7 2023/10/20 分段:硬件支持,操作系统支持;空闲空间管理:关键问题与基本假设,底层机制,基本策略,其他方式;分页:分页原理,页表实现概述
8 2023/11/03 分页:分页原理,页表实现概述,分页时间开销、内存追踪示例;快速地址转换(TLB):TLB 的基本算法,访问数组示例,处理 TLB 未命中,TLB 的内容,上下文切换时对 TLB 的处理,TLB 替换策略,实际系统的 TLB 表项
9 2023/11/04 高级页表设计:页表大小,混合分页和分段,多级页表,其他页表设计,页交换机制;页交换机制:交换空间,存在位,页错误及处理流程,交换发生时机;页交换策略:缓存管理,最优替换策略,简单策略(FIFO、随机),利用历史数据(LRU),工作负载示例,近似LRU(时钟),其他细节问题
10 2023/11/10 -
11 2023/11/17 并发概述:线程概述,线程创建实例,共享数据,不可控的调度,原子性
12 2023/11/24 锁:锁的基本思想,实现一个锁,控制中断,测试并设置指令(原子交换),其他硬件原语,自旋过多怎么办;条件变量:定义和程序
13 2023/12/01 条件变量:生产者/消费者(有界缓冲区)问题;信号量:信号量的定义,二值信号量(锁)信号量,信号量用作条件变量,生产者/消费者(有界缓冲区)问题,经典问题

Evaluation

Textbook

Not mandatory but recommended:

Resource


  1. https://pages.cs.wisc.edu/~remzi/OSTEP/↩︎

  2. http://csapp.cs.cmu.edu/3e/home.html↩︎

  3. https://colin-scott.github.io/personal_website/research/interactive_latency.html↩︎