1. 计算机系统概述
1.1 操作系统概念、功能
-
操作系统定义:
-
操作系统的功能和目标:
- 作为系统资源的管理者:处理机管理/存储器管理/文件管理/设备管理
- 向上层提供方便易用的服务
- 作为最接近硬件的层次,实现对硬件机器的扩展
-
操作系统的四个特征:
- 并发(concurrency):把任务在不同的时间点交给处理器进行处理。在同一时间点,任务并不会同时运行。
- 并行(parallelism):把每一个任务分配给每一个处理器独立完成。在同一时间点,任务一定是同时运行。
1.2 操作系统的发展和分类
1.3 操作系统的运行机制
1.3.1 操作系统的运行机制
1.3.2 中断和异常
1.3.3 系统调用
什么是系统调用
1.4 操作系统体系结构
1.5 操作系统引导
1.6 虚拟机
对比
2. 进程与线程
2.1 进程
2.1.1 进程的概念、组成、特征
PCB: Process Control Block
2.1.2 进程的状态与转换
2.1.3 进程控制
2.1.4 进程通信
2.2 线程
2.2.1 线程的概念
2.2.2 线程的实现方式和多线程模型
2.2.3 线程的状态与转换
2.3 调度
2.3.1 调度的概念、层次
2.3.2 进程调度的时机、切换过程、方式
2.3.3 调度器和闲逛进程
2.3.4 调度算法的评价指标
2.3.5 调度算法
FCFS:first come first serve 先到先服务
SJF:shortest job first 短作业优先
HRRN:highest response ratio next 高响应比优先
RR:Round-Robin 时间片轮转。轮流让就绪队列中的进程依次执行一个时间片
2.3.6 读者写者问题
复杂的互斥问题 ~
2.3.7 哲学家进餐问题
关键在于解决进程死锁~
2.3.8 管程
Java中类似管程的机制
管程总结:运用封装的思想
2.4 进程同步和进程互斥
2.4.1 同步和互斥的概念
进程同步概念
进程互斥概念
2.4.2 进程互斥的软件实现方法
2.4.3 进程互斥的硬件实现方法
2.4.4 互斥锁
2.4.5 信号量机制
2.4.6 用信号量实现进程互斥、同步、前驱关系
2.4.7 生产者-消费者问题
2.4.8 多生产者-多消费者问题
2.4.9 吸烟者问题
2.5 死锁
2.5.1 死锁的概念
2.5.2 静态:预防死锁
2.5.3 动态:避免死锁
银行家算法