I/O密集型
输入的比较多吧,等待I/O操作比较多
计算密集型
使用cpu的此时比较多
时钟中断分类
非抢占式
阻塞就一直等到阻塞结束,不会有其他程序来占用当前cpu,或者是该进程释放cpu,当处理完进程如果没有
抢占式
抢占式,选择一个进程,将起运行到时间的最大值,就结束,不关是不是被允许结束
调度算法分类
批处理
交互式
实时
概念
批处理系统
周转时间:
其中周转时间是提交到进程结束的最小时间
cpu利用率:
保持cpu忙碌
吞吐量:
每小时最大的作业数
批处理系统中的调度
先来先服务的(Frist-come first-server)
先来的执行其对应期待时间,其他作业被安排到队列,当进程被阻塞,且,那么就换队列的换队列的下一个进程,将被阻塞的变为就绪的放入队列末
坏处
对于先来先服务的操作,比如计算密集性每次一秒,和一个少量使用cpu但是每次都要进行1000次读取磁盘操作,每次读取一块磁盘,如果执行是FCFS,每次转换,要1000s,
如果有调度算法10ms抢占式计算机密集型进程,就要10s,1秒的计算机密集进程,现在是1s/10ms = 100次,每次一块,就10s
最短时间(SJB)
前提
多个进程能够同时执行,如果是单处理器这种基本上没讨论价值
影响
作用与平均周转时间
例子:
名称 | A | B | C | D |
---|---|---|---|---|
运行时间 | 8 | 4 | 4 | 4 |
短时间优先
名称 | B | C | D | A |
---|---|---|---|---|
时间 | 4 | 4 | 4 | 8 |
类似有点像你烧水,准备茶叶这种
那么周转时间就是4,8,12,20,假设依次运行时间为a,b,c,d周转身平均周转时间\((4a+3b+2c+d)/4\),就知道a小,平均周转时间就小