在古老的单处理器操作系统中,通常将进程作为调度的基本单位。随着多处理器和多核系统的发展,现代操作系统更倾向于使用线程作为调度的基本单位,因此就绪队列中包含的是线程列表。 在Linux中,每个CPU都有一个就绪队列,为了减少锁竞争,提高并行性。 除了就绪队列,一般还有一个阻塞队列,线程被锁等原因阻塞后,会被放入阻塞队列,当阻塞的原因消除后,会重新进入就绪队列等待调度。
在古老的单处理器操作系统中,通常将进程作为调度的基本单位。随着多处理器和多核系统的发展,现代操作系统更倾向于使用线程作为调度的基本单位,因此就绪队列中包含的是线程列表。
在Linux中,每个CPU都有一个就绪队列,为了减少锁竞争,提高并行性。
除了就绪队列,一般还有一个阻塞队列,线程被锁等原因阻塞后,会被放入阻塞队列,当阻塞的原因消除后,会重新进入就绪队列等待调度。
分为硬实时和软实时,常见的实时调度算法:
用于提高实时调度的效率的技术,如: