操作系统
简介
本课程为计算机专业学生量身定制,补足计算机操作系统相关知识,查漏补缺,也可用于考研复习。内容包括:操作统概述、进程管理、内存管理、文件管理、输入/输出管理等章节。内容力求精炼、重点突出、条理清晰、深入浅出。本课程精选历年考研真题,给出详细的解题思路和部分答案,以期达到讲练结合、灵活掌握、举一反三的效果。
本课程对学习《计算机组成原理》、《计算机网络》课程大有帮助,可以作为其辅导课程。
课程目标
- 理解操作系统的概念、特征、功能和提供的服务,掌握操作系统的运行机制和体系结构
- 理解进程、线程的概念,掌握进程的状态及其转换
- 理解处理机调度的概念和基本准则,掌握调度方式、时机、切换与过程,掌握典型的调度算法
- 能够描述出进程同步的概念,掌握实现临界区互斥的基本方法,掌握信号量机制
- 理解死锁的概念,能够说出常见的死锁处理策略,掌握死锁的预防和避免,能够检测并解除死锁
- 理解内存管理及相关的概念,掌握连续/非连续分配管理方式
- 理解虚拟内存及相关概念,掌握请求分页管理方式
- 掌握常用的页面置换算法,理解页面分配策略
- 理解文件、目录、文件共享、文件保护、访问控制等概念,掌握文件及目录实现
- 能够描述出磁盘的结构,掌握常用的磁盘调度算法
- 理解I/O相关的基本概念,掌握I/O控制方式
- 理解I/O调度的概念,能够说出缓存相关概念,掌握I/O设备的分配与回收,掌握假脱机技术
适合人群
- 0基础学习计算机专业知识的学员
- 复习计算机基础知识的学员
(建议学习者具备一定的C/C++、Python、Java、Go等任意编程语言的编码经验)
课程亮点
- 必知必会
本课程是软件开发人员“必知必会”的计算机基础知识,同时包含了大量的常见面试题,请务必认真学习; - 体系完整
本课程共包含五章,包括操作统概述、进程管理、内存管理、文件管理、输入/输出管理等章节,对现代计算机操作系统作了较为全面的介绍,是学习计算机操作系统知识的不二之选; - 权威参考
以汤小丹、汤子瀛等老师《计算机操作系统》(第4版)为蓝本,所有知识以该教材为准——懂得都懂; - 由浅入深
为适应初学者/零基础学员的学习需要,调整了部分知识的讲解次序,循序渐进的理解知识;采用自然语言,增加了许多现实世界的例子,更加通俗易懂; - 真题直达
课程中增加了许多历年考研真题,让学习者感受真实考场,手把手带你解析真题;课程还包含部分真实的职场面试题,让你面试无忧。
课程大纲(预计约24h)
第一章 操作系统概述(3h)
1.操作系统的基本概念
-
操作系统的概念
a) 硬件、操作系统、应用程序、用户
-
操作系统的特征
a) 并发
b) 共享
c) 虚拟
d) 异步
-
操作系统的目标和功能
a) 操作系统作为计算机系统资源的管理者
b) 操作系统作为用户与计算机硬件系统之间的接口
c) 操作系统用做扩充机器
2.操作系统的发展与分类
-
手工操作阶段(无操作系统)
-
批处理阶段(操作系统开始出现)
a) 单道批处理系统
b) 多道批处理系统
-
分时操作系统
a) 同时性
b) 交互性
c) 独立性
d) 及时性
-
实时操作系统
-
网络操作系统和分布式计算机系统
-
个人计算机操作系统
3.操作系统的运行环境
-
操作系统的运行机制
a) 时钟管理
b) 中断机制
c) 原语
d) 系统控制的数据结构及处理
-
中断和异常的概念
-
系统调用
4.操作系统体系结构
- 大内核和微内核
第二章 进程管理(8h)
1.进程与线程
-
进程的概念和特征
a) 进程的概念
b) 进程的特征
-
进程的状态与转换
-
进程控制
a) 进程的创建
b) 进程的终止
c) 进程的阻塞和唤醒
d) 进程切换
-
进程的组织
a) 进程控制块
b) 程序段
c) 数据段
-
进程的通信
a) 共享存储
b) 消息传递
c) 管道通信
-
线程的概念和多线程模型
a) 线程的基本概念
b) 线程与进程的比较
c) 线程的属性
d) 线程的实现方式
e) 多线程模型
2.处理机调度
-
调度的概念
a) 调度的基本概念
b) 调度的层次
c) 三级调度的关系
-
调度的时机、切换与过程
-
进程调度方式
a) 非剥夺调度方式
b) 剥夺调度方式
-
调度的基本准则
a) CPU利用率
b) 系统吞吐量
c) 周转时间
d) 等待时间
e) 响应时间
-
典型的调度算法
a) 先来先服务(FCFS)调度算法
b) 短作业优先(SJF)调度算法
c) 优先级调度算法
d) 高响应比优先调度算法
e) 时间片轮转调度算法
f) 多级反馈队列调度算法(集合前几种的优点)
3.同步与互斥
-
进程同步的基本概念
a) 临界资源
b) 同步
c) 互斥
-
实现临界区互斥的基本方法
a) 软件实现方法
b) 硬件实现方法
-
信号量
a) 整型信号量
b) 记录型信号量
c) 利用信号量实现同步
d) 利用信号量实现进程互斥
e) 利用信号量实现前驱关系
f) 分析进程同步和互斥问题的方法步骤
-
管程
a) 管程的定义
b) 管程的组成
c) 管程的基本特性
-
经典同步问题
a) 生产者消费者问题
b) 读者写者问题
c) 哲学家进餐问题
d) 吸烟者问题
4.死锁
-
死锁的概念
a) 死锁的定义
b) 死锁产生的原因
-
死锁处理策略
a) 预防死锁
b) 避免死锁
c) 死锁的检测与解除
-
死锁预防
a) 破坏互斥条件
b) 破坏不剥夺条件
c) 破坏请求和保持条件
d) 破坏循环等待条件
-
死锁避免
a) 系统安全状态
b) 银行家算法
c) 安全性算法举例
-
死锁检测和解除
a) 资源分配图
b) 死锁定理
c) 死锁解除
第三章 内存管理(5.5h)
1.内存管理基础
-
内存管理的概念
a) 程序装入和链接
b) 可重定位装入
c) 逻辑地址空间与物理地址空间
d) 内存保护
-
交换与覆盖
a) 覆盖
b) 交换
-
连续分配管理方式
a) 单一连续分配
b) 固定分区分配
c) 动态分区分配
-
非连续分配管理方式
a) 基本分页存储管理方式
b) 基本分段存储管理方式
c) 段页式管理方式
2.虚拟内存管理
-
虚拟内存基本概念
a) 传统存储管理方式的特征
b) 局部性原理
c) 虚拟存储器的定义和特征
d) 虚拟内存技术的实现
-
请求分页管理方式
a) 页表机制
b) 缺页中断机构
c) 地址变换机构
-
页面置换算法
a) 最佳置换算法(OPT)
b) 先进先出置换算法(FIFO)
c) 最近最少使用置换算法(LRU)
d) 时钟置换算法(CLOCK)
-
页面分配策略
a) 驻留集大小
b) 调入页面的时机
c) 从何处调入页面
-
抖动
-
工作集
-
地址翻译
第四章 文件管理(4h)
1.文件系统基础
-
文件概念
a) 文件的定义
b) 文件的属性
c) 文件的基本操作
d) 文件的打开与关闭
-
文件的逻辑结构
a) 无结构文件(流式文件)
b) 有结构文件(记录式文件)
-
目录结构
a) 文件控制块和索引节点
b) 单级目录结构和两级目录结构
c) 树形目录结构;图形目录结构
-
文件共享
a) 基于索引节点的共享方式(硬链接)
b) 利用符号链实现文件共享(软链接)
-
文件保护
a) 访问类型
b) 访问控制
2.文件系统实现
-
文件系统层次结构
a) 用户调用接口
b) 文件目录系统
c) 存取控制验证
d) 逻辑文件系统与文件信息缓冲区
e) 物理文件系统
f) 分配模块
g) 设备管理程序模块
-
目录实现
a) 线性列表
b) 哈希表
-
文件实现
a) 文件分配方式
b) 文件存储空间管理
3.磁盘组织与管理
-
磁盘的结构
-
磁盘调度算法
-
磁盘的管理
a) 磁盘初始化
b) 引导块
c) 坏块
第五章 输入输出(I/O)管理(3.5h)
1.I/O管理概述
-
I/O设备
a) 按传输速率分类
b) 按信息交换单位分类
-
I/O控制方式
a) 程序直接控制方式
b) 中断驱动方式
c) DMA方式
d) 通道控制方式
-
I/O软件层次结构
2.I/O核心子系统
-
I/O调度概念
-
高速缓存与缓冲区
a) 磁盘高速缓存(Disk Cache)
b) 缓冲区(Buffer)
c) 高速缓存与缓冲区的对比
-
设备分配与回收
a) 设备分配概述
b) 设备分配的数据结构
c) 设备分配的策略
d) 设备分配的安全性
e) 逻辑设备名到物理设备名的映射
-
假脱机技术(SPOOLing)
a) 输入井和输出井
b) 输入缓冲区和输出缓冲区
c) 输入进程和输出进程