| 作业
基础知识
作业是需要处理的问题
提交、后备、执行、完成
程序、数据、作业说明书
调度算法
- 先来先服务 FCFS
公平合理,算法简单容易实现,但是服务质量欠佳。
- 短作业优先 SJF
实现最小的平均周转时间,吞吐量大,但是存在饥饿现象,并且实现较为困难。
- 高响应比优先 HRN
响应比 R = 作业等待时间/作业大小
(列三行:提交、执行、完成)
| 进程
基础知识
就绪、阻塞、运行
间接制约(互斥关系)、加锁、信号量机制(p、v、s)
直接制约(同步关系)、信号量机制(p、v、s)
生产者-消费者问题
读者-写者问题
进程通信的四个方式:共享存储区通信(内核空间、映射)、信箱通信(内核空间、信箱、信格)、信息缓冲通信(消息队列)、管道通信(文件)
调度算法
进程调度可分为非抢占式调度和抢占式调度。
- 先来先服务 FCFS
基于非抢占调度方式。
公平合理,算法简单容易实现,但是服务质量欠佳。
- 时间片轮转 RR
基于抢占调度方式,依赖于计时器中断。
T太长则响应时间过长、T太短进程切换过于频繁,增大系统开销。
- 优先级算法 Priority
运用抢占式调度可以保证总是执行高优先级进程;运用非抢占式调度,仅能保证当前一个进程阻塞或结束时总能选择优先级最高的进程。
静态优先级、动态优先级
- 时限调度算法
基于抢占式调度方式。
每次调度时选择完成时限最近的(最迫切的)进程。
死锁
分类:资源死锁、通信死锁、控制死锁
特点:偶发性、非消耗、程序无关
必要条件:互斥条件、不剥夺条件、请求与保持、环路等待条件
预防方法(打破方法):互斥——不允许申请临界资源;不剥夺——允许剥夺;请求与保持——资源暂时归还,静态分配;环路等待——单请求,按序分配(只能申请大)
避免:对可能的死锁进行预测,决定是否立即分配——安全状态、安全序列。
检测:资源分配图。
恢复:剥夺资源、撤销进程、重新启动系统。
| 线程
把进程细化成若干个可以独立运行的实体。
常用细化方法:分派/处理模型、队列模型、管道模型
同进程内共享内存。
对线程管理控制的模块:线程包。
系统级、用户级