408-OS之多处理机

127466343_p0_master1200

  • 多cpu负载均衡:尽可能一样忙碌
  • 一个进程尽量在一个CPU运作(亲和性):cache尽可能利用局部性

方案一:公共就绪队列(天然负载均衡)->一个科室排队的病人,科室里有多位医生就诊。#调度程序代码应该是要上锁的临界区。
缺点:亲和性可能不好,复诊可能不是同一位医生。
软亲和:调度程序尽量控制(医院规章制度尽量要求一位医生完成一位病人的全治疗)
硬亲和:用户进程系统调用强制某个CPU为自己服务(指定看某一个医生)

方案二:私有就绪队列(天然亲和)->多个科室,多列病人排队,每个科室一位医生
为了负载均衡:
1.推迁移:病人多的队列分点人给病人少的队列
2.拉迁移:医生主动帮负担大的医生治疗病人
为了亲和性:系统调用硬亲和

posted @ 2025-08-05 22:40  独行漫漫长路  阅读(13)  评论(0)    收藏  举报