Bootstrap

学习操作系统路线

操作系统

image.png

简介

本课程为计算机专业学生量身定制,补足计算机操作系统相关知识,查漏补缺,也可用于考研复习。内容包括:操作统概述、进程管理、内存管理、文件管理、输入/输出管理等章节。内容力求精炼、重点突出、条理清晰、深入浅出。本课程精选历年考研真题,给出详细的解题思路和部分答案,以期达到讲练结合、灵活掌握、举一反三的效果。
本课程对学习《计算机组成原理》、《计算机网络》课程大有帮助,可以作为其辅导课程。

课程目标

  • 理解操作系统的概念、特征、功能和提供的服务,掌握操作系统的运行机制和体系结构
  • 理解进程、线程的概念,掌握进程的状态及其转换
  • 理解处理机调度的概念和基本准则,掌握调度方式、时机、切换与过程,掌握典型的调度算法
  • 能够描述出进程同步的概念,掌握实现临界区互斥的基本方法,掌握信号量机制
  • 理解死锁的概念,能够说出常见的死锁处理策略,掌握死锁的预防和避免,能够检测并解除死锁
  • 理解内存管理及相关的概念,掌握连续/非连续分配管理方式
  • 理解虚拟内存及相关概念,掌握请求分页管理方式
  • 掌握常用的页面置换算法,理解页面分配策略
  • 理解文件、目录、文件共享、文件保护、访问控制等概念,掌握文件及目录实现
  • 能够描述出磁盘的结构,掌握常用的磁盘调度算法
  • 理解I/O相关的基本概念,掌握I/O控制方式
  • 理解I/O调度的概念,能够说出缓存相关概念,掌握I/O设备的分配与回收,掌握假脱机技术

适合人群

  1. 0基础学习计算机专业知识的学员
  2. 复习计算机基础知识的学员

(建议学习者具备一定的C/C++、Python、Java、Go等任意编程语言的编码经验)

课程亮点

  • 必知必会
    本课程是软件开发人员“必知必会”的计算机基础知识,同时包含了大量的常见面试题,请务必认真学习;
  • 体系完整
    本课程共包含五章,包括操作统概述、进程管理、内存管理、文件管理、输入/输出管理等章节,对现代计算机操作系统作了较为全面的介绍,是学习计算机操作系统知识的不二之选;
  • 权威参考
    以汤小丹、汤子瀛等老师《计算机操作系统》(第4版)为蓝本,所有知识以该教材为准——懂得都懂;
  • 由浅入深
    为适应初学者/零基础学员的学习需要,调整了部分知识的讲解次序,循序渐进的理解知识;采用自然语言,增加了许多现实世界的例子,更加通俗易懂;
  • 真题直达
    课程中增加了许多历年考研真题,让学习者感受真实考场,手把手带你解析真题;课程还包含部分真实的职场面试题,让你面试无忧。

课程大纲(预计约24h)

第一章 操作系统概述(3h)

1.操作系统的基本概念
  1. 操作系统的概念

    a) 硬件、操作系统、应用程序、用户

  2. 操作系统的特征

    a) 并发

    b) 共享

    c) 虚拟

    d) 异步

  3. 操作系统的目标和功能

    a) 操作系统作为计算机系统资源的管理者

    b) 操作系统作为用户与计算机硬件系统之间的接口

    c) 操作系统用做扩充机器

2.操作系统的发展与分类
  1. 手工操作阶段(无操作系统)

  2. 批处理阶段(操作系统开始出现)

    a) 单道批处理系统

    b) 多道批处理系统

  3. 分时操作系统

    a) 同时性

    b) 交互性

    c) 独立性

    d) 及时性

  4. 实时操作系统

  5. 网络操作系统和分布式计算机系统

  6. 个人计算机操作系统

3.操作系统的运行环境
  1. 操作系统的运行机制

    a) 时钟管理

    b) 中断机制

    c) 原语

    d) 系统控制的数据结构及处理

  2. 中断和异常的概念

  3. 系统调用

4.操作系统体系结构
  1. 大内核和微内核

第二章 进程管理(8h)

1.进程与线程
  1. 进程的概念和特征

    a) 进程的概念

    b) 进程的特征

  2. 进程的状态与转换

  3. 进程控制

    a) 进程的创建

    b) 进程的终止

    c) 进程的阻塞和唤醒

    d) 进程切换

  4. 进程的组织

    a) 进程控制块

    b) 程序段

    c) 数据段

  5. 进程的通信

    a) 共享存储

    b) 消息传递

    c) 管道通信

  6. 线程的概念和多线程模型

    a) 线程的基本概念

    b) 线程与进程的比较

    c) 线程的属性

    d) 线程的实现方式

    e) 多线程模型

2.处理机调度
  1. 调度的概念

    a) 调度的基本概念

    b) 调度的层次

    c) 三级调度的关系

  2. 调度的时机、切换与过程

  3. 进程调度方式

    a) 非剥夺调度方式

    b) 剥夺调度方式

  4. 调度的基本准则

    a) CPU利用率

    b) 系统吞吐量

    c) 周转时间

    d) 等待时间

    e) 响应时间

  5. 典型的调度算法

    a) 先来先服务(FCFS)调度算法

    b) 短作业优先(SJF)调度算法

    c) 优先级调度算法

    d) 高响应比优先调度算法

    e) 时间片轮转调度算法

    f) 多级反馈队列调度算法(集合前几种的优点)

3.同步与互斥
  1. 进程同步的基本概念

    a) 临界资源

    b) 同步

    c) 互斥

  2. 实现临界区互斥的基本方法

    a) 软件实现方法

    b) 硬件实现方法

  3. 信号量

    a) 整型信号量

    b) 记录型信号量

    c) 利用信号量实现同步

    d) 利用信号量实现进程互斥

    e) 利用信号量实现前驱关系

    f) 分析进程同步和互斥问题的方法步骤

  4. 管程

    a) 管程的定义

    b) 管程的组成

    c) 管程的基本特性

  5. 经典同步问题

    a) 生产者消费者问题

    b) 读者写者问题

    c) 哲学家进餐问题

    d) 吸烟者问题

4.死锁
  1. 死锁的概念

    a) 死锁的定义

    b) 死锁产生的原因

  2. 死锁处理策略

    a) 预防死锁

    b) 避免死锁

    c) 死锁的检测与解除

  3. 死锁预防

    a) 破坏互斥条件

    b) 破坏不剥夺条件

    c) 破坏请求和保持条件

    d) 破坏循环等待条件

  4. 死锁避免

    a) 系统安全状态

    b) 银行家算法

    c) 安全性算法举例

  5. 死锁检测和解除

    a) 资源分配图

    b) 死锁定理

    c) 死锁解除

第三章 内存管理(5.5h)

1.内存管理基础
  1. 内存管理的概念

    a) 程序装入和链接

    b) 可重定位装入

    c) 逻辑地址空间与物理地址空间

    d) 内存保护

  2. 交换与覆盖

    a) 覆盖

    b) 交换

  3. 连续分配管理方式

    a) 单一连续分配

    b) 固定分区分配

    c) 动态分区分配

  4. 非连续分配管理方式

    a) 基本分页存储管理方式

    b) 基本分段存储管理方式

    c) 段页式管理方式

2.虚拟内存管理
  1. 虚拟内存基本概念

    a) 传统存储管理方式的特征

    b) 局部性原理

    c) 虚拟存储器的定义和特征

    d) 虚拟内存技术的实现

  2. 请求分页管理方式

    a) 页表机制

    b) 缺页中断机构

    c) 地址变换机构

  3. 页面置换算法

    a) 最佳置换算法(OPT)

    b) 先进先出置换算法(FIFO)

    c) 最近最少使用置换算法(LRU)

    d) 时钟置换算法(CLOCK)

  4. 页面分配策略

    a) 驻留集大小

    b) 调入页面的时机

    c) 从何处调入页面

  5. 抖动

  6. 工作集

  7. 地址翻译

第四章 文件管理(4h)

1.文件系统基础
  1. 文件概念

    a) 文件的定义

    b) 文件的属性

    c) 文件的基本操作

    d) 文件的打开与关闭

  2. 文件的逻辑结构

    a) 无结构文件(流式文件)

    b) 有结构文件(记录式文件)

  3. 目录结构

    a) 文件控制块和索引节点

    b) 单级目录结构和两级目录结构

    c) 树形目录结构;图形目录结构

  4. 文件共享

    a) 基于索引节点的共享方式(硬链接)

    b) 利用符号链实现文件共享(软链接)

  5. 文件保护

    a) 访问类型

    b) 访问控制

2.文件系统实现
  1. 文件系统层次结构

    a) 用户调用接口

    b) 文件目录系统

    c) 存取控制验证

    d) 逻辑文件系统与文件信息缓冲区

    e) 物理文件系统

    f) 分配模块

    g) 设备管理程序模块

  2. 目录实现

    a) 线性列表

    b) 哈希表

  3. 文件实现

    a) 文件分配方式

    b) 文件存储空间管理

3.磁盘组织与管理
  1. 磁盘的结构

  2. 磁盘调度算法

  3. 磁盘的管理

    a) 磁盘初始化

    b) 引导块

    c) 坏块

第五章 输入输出(I/O)管理(3.5h)

1.I/O管理概述
  1. I/O设备

    a) 按传输速率分类

    b) 按信息交换单位分类

  2. I/O控制方式

    a) 程序直接控制方式

    b) 中断驱动方式

    c) DMA方式

    d) 通道控制方式

  3. I/O软件层次结构

2.I/O核心子系统
  1. I/O调度概念

  2. 高速缓存与缓冲区

    a) 磁盘高速缓存(Disk Cache)

    b) 缓冲区(Buffer)

    c) 高速缓存与缓冲区的对比

  3. 设备分配与回收

    a) 设备分配概述

    b) 设备分配的数据结构

    c) 设备分配的策略

    d) 设备分配的安全性

    e) 逻辑设备名到物理设备名的映射

  4. 假脱机技术(SPOOLing)

    a) 输入井和输出井

    b) 输入缓冲区和输出缓冲区

    c) 输入进程和输出进程

;