多核调度
一. 描述
自从进入21世纪,处理器的性能就有了瓶颈,不再迅猛增长。此时就有人提出多个处理器一起工作的方式,来弥补处理器性能的问题。
二. 原理
多核的实现是需要硬件支持的,操作系统内核只是根据硬件做一定的抽象,做好多核间的同步与互斥。
多核中很重要的一个机制就是自旋锁,当需要访问公共资源的时候,就需要自旋锁来上锁,才能保证多个核同时访问数据的正确性。自旋锁依赖于原子操作,而原子操作又需要硬件做支持。
一般情况下,第一个引导处理器(Boot Processor
)启动后,进入内核,完成初始化,再由引导处理器去唤醒其它处理器,通常称为应用处理器(Application Processor
)。 AP
启动后,会进行一些初始化,然后参加到调度工作中。而调度队列的实现就需要依赖于原子操作来保证对公共队列访问的正确性。
三、框架图
SMP多核启动流程
SMP负载均衡