操作系统基本概念
操作系统的4个特征
- 并发性
- 共享性
- 虚拟性
- 不确定性
操作系统的五大功能
- 进程管理
- 文件管理
- 存储管理
- 设备管理
- 作业管理
操作系统的定义:能有效地组织和管理系统中的各种软/硬件资源,合理地组织计算机系统的工作流程,控制程序的执行,并且向用户提供一个良好的工作环境和友好的接口。
进程管理
概念
- 进程组成:程序 | 数据 | PCB(进程控制块)
- 进程是程序的一次执行
- 基本单位:进程是资源分配和独立运行的基本单位
- 两个基本属性:可拥有资源的独立单位;可独立调度和分配的基本单位
状态转换
三个状态:就绪、阻塞、等待状态
三态模型和五态模型
进程间的同步与互斥
- 同步:是指在系统中一些需要相互合作,协同工作的进程,这样的相互联系称为进程的同步
- 互斥:是指系统中多个进程因争用临界资源而互斥执行。
- 临界资源:是指有些资源一次只能供一个进程使用。如打印机、共享变量等
信号量机制(P、V操作)
概念
- 公用信号量:实现进程间的互斥,初值为1或资源的数目。
- 私用信号量:实现进程间的同步,初值为0或某个正整数
信号量S的物理意义
- S≥0表示某资源的可用数
- S<0,则其绝对值表示阻塞队列中等待该资源的进程数。
PV操作
- P操作和V操作是低级通信原语
- P操作表示申请一个资源
- V操作表示释放一个资源
P操作
- S=S-1,若S≥0,则执行P操作的进程继续执行;
- 若S<0,则置该进程为阻塞状态(因为无可用资源),并将其插入阻塞队列。
V操作
- S=S+1,若S>0,则执行V操作的进程继续执行;
- 若S≤0,则从阻塞状态唤醒一个进程,并将其插入就绪队列,然后执行V操作的进程继续。
进程调度
(1)高级调度:又称“长调度”“作业调度”或“接纳调度”
- 它决定处于输入池中的哪个后备作业可以调入主系统做好运行的准备,成为一个或一组就绪进程
(2)中级调度:又称“中程调度”或“对换调度”
- 它决定于交换区中的哪个就绪进程可以调入内存,以便直接参与对CPU的竞争。
(3)低级调度:又称“短程调度”或“进程调度”
- 它决定处于内存中的哪个就绪进程可以占用CPU。低级调度是操作系统中最活跃、最重要的调度程序,对系统的影响很大。
进程调度算法
- 先来先服务
- 时间片轮转
- 优先级调度
- 多级反馈调度:是时间片轮转算法和优先级算法的综合与发展
死锁
基本概念
是指两个以上的进程互相都要求对方已经占有的资源导致无法继续运行下去的现象
产生死锁的4个必要条件:互斥条件、请求保持条件、不可剥夺条件、环路条件。
- 死锁的处理策略有:鸵鸟策略、预防策略、避免策略和检测与解除死锁。
- 死锁预防:采用某种策略限制并发进程对资源的请求。
- 死锁避免:如银行家算法。
- 死锁检测:系统定时地运行一个程序来检测是否发生死锁,若有,则设法加以解除。
- 死锁解除:有资源剥夺法和撤销进程法。
避免数量
至少需要资源:M =(k-1)×n+1避免死锁
- k:资源数量
- n:进程数量
线程
一个进程中有多个线程,共享该进程的资源。
在引入线程之前:
- 进程两个基本属性为可拥有资源的独立单位;可独立调度和分配的基本单位。
引入线程后:
- 线程作为调度和分配的基本单位,进程作为独立分配资源的单位。