2 .面向用户准则:
1 )批处理系统:
后备等待时间 就队等待时间 CPU 执行时间 阻队等待时间 |
作业周转时间 |
进程 周转 时间 |
要求平均 T 、 W 时间要小(即用户的满意程度要高)。
2 )分时系统的响应时间 T ≦ 3s
3 )实时系统保证截止时间(任务最迟开始时间、最迟完成时间)
4 )优先权准则:让优先级高的进程优先获得 CPU 。
l 调度算法
1. FCFS
实用于:作业调度。到达时间指作业进入后备队列的时间。
实用于:进程调度。到达时间指进程进入就绪队列的时间。
2. SJ(p)F
实用于:作业调度、进程调度。
1) 用户满意程度好
2) 长作业(进程)可能得不到运行机会 .
3. 简单时间片轮转法
1) 时间片 q 的确定 :
过大退化为 FCFS.
过小 , 一个命令多个时间片才能完成 , 不满足响应时间要求 .
2) 响应时间 T ∝ nq n…. 用户数量 , q…. 系统处理能力 (cpu 速度等 ).
3) 分时系统中 , 要求 80% 以上的交互命令 , 在一个 q 中完成 , 否则 T 难以保证 .
4. 优先权调度算法
1 )非抢占方式:进程获得 CPU 一直运行到完成,或等待事件才让出 CPU 。
2 )抢占方式:就绪队列出现更高优先级进程去抢占运行进程的 CPU 。
3) 动态优先级计算
线性规则:就绪队列各进程优先级 +at
运行进程优先级 +bt
a>b>0 可防止运行进程长时间占据 CPU 。
非线性规则:就绪队列(后备队列)的进程(作业)等待时间达某给定值时将其优先级突变到最大。
5. 多级反馈队列调度(用以进程调度) p79
1) 多个就绪队列优先级依次降低,分得的时间片依次增加。
2) 同队列先来先服务。
3) 优先调度高优先级队列进运行一个时间盘片,没完成投入下一个就绪队列。
4) 进程首先进入最高优先级队列。
5) 最低优先级队列进程按时间片轮转。
l 死锁
1. 死锁原因
1) 资源不足:包括非剥夺性资源和临时性资源。
2) 推进速度非法:生产者与消费者问题中 wait 语句对调、临界区设置有问题等。
2. 死锁的四个必要条件
3. 解决死锁的方法
1) 预防死锁:系统不可能发生死锁(破坏必要条件之一)。
2) 避免死锁:可能发生死锁,设法避免。
3) 检测与解除死锁
主要是:死锁产生原因、必要条件、银行家算法。
第 四章 存贮管理
一.程序的装入和链接
1 链接: 链接是指多个目标模块在执行时的地址空间分配和相互引用。
1 )静态链接: 静态链接是在生成可执行文件时进行的。
1) 链接形成装入模块(又称可制行文件),由装入程序装入内存。
2) 装入时动态链接: loader 边装入边链接。
3) 运行时动态链接:主程序模块装入运行,发生了外部访问,进行动态链接。
在装入或运行时进行链接。通常被链接的共享代码称为动态链接库 (DLL), 或共享库 (shared library) 。
2. 重定位: 在装入可执行文件时需要将可执行文件中地址(指令和数据)转变为物理地址的过程。