Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Tsinghua University

操作系统(RISC-V)

Tsinghua University via XuetangX

Overview

操作系统是计算机系统中负责管理各种软硬件资源的核心系统软件,为应用软件运行提供良好的环境。掌握操作系统的基本原理及其核心技术是研究型大学计算机专业本科毕业生的基本要求。 本课程是计算机专业核心课,以主流操作系统为实例,以教学操作系统ucore为实验环境,讲授操作系统的概念、基本原理和实现技术,为学生从事操作系统软件研究和开发,以及充分利用操作系统功能进行应用软件研究和开发打下扎实的基础。

 

Syllabus

  • 第一讲 操作系统概述
    • 1.1 课程概述
    • 1.2 什么是操作系统
    • 1.3 操作系统历史演变
    • 1.4 操作系统结构
    • 1.5 OS实验概述
  • 第二讲 操作系统与系统结构和程序设计语言
    • 2.1 从OS角度看计算机系统
    • 2.2 从OS角度看RISC-V
    • 2.3 Rust语言与系统编程
    • 2.4 RISC-V CPU启动
    • 2.5 RISC-V CPU启动进一步分析
  • 第三讲 中断、异常和系统调用
    • 3.1 基本概念与原理
    • 3.2 硬件架构支持
    • 3.3 中断处理机制
    • 3.4 系统调用
  • 第四讲 物理内存管理: 连续内存分配
    • 4.1 计算机体系结构和内存层次
    • 4.2 地址空间和地址生成
    • 4.3 连续内存分配
    • 4.4 碎片整理
    • 4.5 伙伴系统
    • 4.6 SLAB分配器
  • 第五讲 物理内存管理: 非连续内存分配
    • 5.1 非连续内存分配的需求背景
    • 5.2 段式存储管理
    • 5.3 页式存储管理
    • 5.4 页表概述
    • 5.5 快表和多级页表
    • 5.6 RISC-V页映射机制
    • 5.7 使能RISC-V页表
  • 第六讲 虚拟存储概念
    • 6.1 虚拟存储的需求背景
    • 6.2 覆盖和交换
    • 6.3 局部性原理
    • 6.4 虚拟存储概念
    • 6.5 虚拟页式存储
    • 6.6 缺页异常
    • 6.7 RISC-V缺页异常
  • 第七讲 虚拟存储:局部页面置换算法
    • 7.1 页面置换算法的概念
    • 7.2 最优算法、先进先出算法和最近最久未使用算法
    • 7.3 时钟置换算法和最不常用算法
    • 7.4 Belady现象和局部置换算法比较
    • 7.5 页表自映射
  • 第八讲 虚拟存储:全局页面置换算法
    • 8.1 工作集置换算法
    • 8.2 缺页率置换算法
    • 8.3 抖动和负载控制
    • 8.4 面向缓存的页替换算法
  • 第九讲 进程和线程
    • 9.1 进程的概念
    • 9.2 进程控制块
    • 9.3 进程状态
    • 9.4 三状态进程模型
    • 9.5 挂起进程模型
    • 9.6 线程的概念
    • 9.7 用户线程
    • 9.8 内核线程
    • 9.9 进程地址空间与熔断 (meltdown) 漏洞
  • 第十讲 进程和线程控制
    • 10.1 进程切换
    • 10.2 进程创建
    • 10.3 进程加载
    • 10.4 进程等待与退出
    • 10.5 rCore进程和线程控制
  • 第十一讲 处理机调度
    • 11.1 处理机调度概念
    • 11.2 调度准则
    • 11.3 先来先服务、短进程优先和最高响应比优先调度算法
    • 11.4 时间片轮转、多级反馈队列、公平共享调度算法和ucore调度框架
    • 11.5 实时调度
    • 11.6 优先级反置
    • 11.7 rCore调度框架
  • 第十二讲 多处理机调度
    • 12.1 对称多处理与多核架构
    • 12.2 多处理器调度概述
    • 12.3 O(1)调度
    • 12.4 CFS调度
    • 12.5 BFS调度算法
  • 第十三讲 同步互斥
    • 13.1 背景
    • 13.2 现实生活中的同步问题
    • 13.3 临界区和禁用硬件中断同步方法
    • 13.4 基于软件的同步方法
    • 13.5 高级抽象的同步方法
  • 第十四讲 信号量与管程
    • 14.1 信号量
    • 14.2 信号量使用
    • 14.3 管程
    • 14.4 哲学家就餐问题
    • 14.5 读者-写者问题
    • 14.6 Rust语言中的同步机制
  • 第十五讲 死锁和并发错误检测
    • 15.1 死锁概念
    • 15.2 死锁处理方法
    • 15.3 银行家算法
    • 15.4 死锁检测
    • 15.5 并发错误检测
  • 第十六讲 进程通信
    • 16.1 进程通信概念
    • 16.2 信号和管道
    • 16.3 Linux信号机制
    • 16.4 消息队列和共享内存
    • 16.5 D-Bus机制
    • 16.6 Binder机制
  • 第十七讲 文件系统概念
    • 17.1 文件系统和文件
    • 17.2 文件描述符
    • 17.3 目录、文件别名和文件系统种类
    • 17.4 虚拟文件系统
    • 17.5 文件缓存和打开文件
    • 17.6 文件分配
    • 17.7 空闲空间管理和冗余磁盘阵列RAID
  • 第十八讲 文件系统实例
    • 18.1 FAT文件系统
    • 18.2.1 EXT4文件系统-历史
    • 18.2.2 EXT4文件系统-支持大容量存储
    • 18.2.3 EXT4文件系统-支持恢复异常
    • 18.3 ZFS文件系统
  • 第十九讲 I/O子系统
    • 19.1 I/O特点
    • 19.2 I/O结构
    • 19.3 I/O数据传输
    • 19.4 磁盘调度
    • 19.5 Linux I/O子系统
  • 第二十讲 内核与程序设计语言
    • 20.1 Linux内核错误分析
    • 20.2.1 用rust写操作系统-系统编程语言rust
    • 20.2.2 用rust写操作系统-rust与操作系统开发
  • 第二十一讲 异步编程 (Asynchronous Programming)
    • 21.1 Background
    • 21.2 Futures in Rust
    • 21.3 Generators and async/await
    • 21.4 Self-Referential Structs & Pin
    • 21.5 Waker and Reactor
  • 第二十二讲 Virtual Machine Monitor
    • 22.1 Overview
    • 22.2.1 How VMM works - CPU
    • 22.2.2 How VMM works - memory & I/O
  • 期末考试
    • 第一讲 操作系统概述(2022)
      • 第一节 课程概述 & 教学安排
      • 第二节 什么是操作系统
      • 第三节 操作系统历史演化
      • 第四节 操作系统结构
      • 第五节 实践:试试UNIX/Linux
    • OS实验讲解视频-2022春
      • uCore实验讲解视频
      • rCore实验讲解视频

    Taught by

    Yong Xiang and Yu Chen

    Tags

    Reviews

    Start your review of 操作系统(RISC-V)

    Never Stop Learning.

    Get personalized course recommendations, track subjects and courses with reminders, and more.

    Someone learning on their laptop while sitting on the floor.