协程?
Coroutine,运行在线程之上,一个线程拥有多个协程,通过时分复用的方
式执行,完全由程序控制。
·优点:没有线程切换的开销,减少内存占用;不需要多线程的锁机制;
·缺点:协程中不能调用阻塞IO的操作,会导致整个线程阻塞,因此需要系
统支持异步IO;
进程调度算法?抢占式非抢占式?
·先来先服务(FCFS):非抢占式;按请求顺序调度;有利于长作业,不利
于短作业,短作业会长时间等待长作业执行完成。
·短作业优先(SJF):非抢占式;按估计运行时间最短的顺序调度;长作业
可能会饿死。
·最短剩余时间优先(SRTN):短作业优先的抢占式版本;按剩余运行时间
顺序调度。
·时间片轮转:将所有就绪进程按FCFS的原则排成一个队列,每次调度时,
把CPU时间片分配给队首进程,时间片用完时由计时器发出中断,将队首
进程停止并送往队尾等待。算法效率和时间片大小有很大关系。
·优先级调度:为每个进程分配一个优先级,按优先级调度;随着时间推移
提高等待进程的优先级,防止饿死。
·多级反馈队列:时间片轮转和优先级调度的结合版本。设置多个队列,每
个队列时间片大小不同(例如2,4,8...),进程在第一个队列没执行完,
就会被移到下一个时间片更大的队列。时间片越大的队列优先级越低。
进程切换?
1. 当一个程序正在执行的过程中, 中断(interrupt) 或 系统调用
(system call) 发生可以使得 CPU 的控制权会从当前进程转移到操作
系统内核。
评论0
最新资源