30、Solaris系统中的调度器激活与处理器控制

Solaris系统中的调度器激活与处理器控制

1. 调度器激活概述

调度器激活是为了解决Solaris两级线程架构中的一些不足而引入的,它提供了进程进行短期抢占控制的功能。该功能从Solaris 2.6版本开始引入,不适用于Solaris 2.5.1及更早版本。

1.1 两级线程架构问题

在Solaris 2.6之前,用户线程调度器和内核调度器之间缺乏通信机制,导致用户线程优先级与底层轻量级进程(LWP)优先级没有关联。虽然可以通过绑定线程(每个用户线程绑定一个LWP)和使用优先级控制工具(priocntl(1M))在一定程度上解决这个问题,但仍存在其他问题:
- 同步原语问题 :在用户线程层面,使用互斥锁等同步机制容易出现优先级反转问题,且由于线程库无法获取LWP的优先级信息,无法实现优先级继承方案和自适应锁。
- LWP池管理问题 :为线程化进程保持足够的LWP池,使可运行的用户线程在需要时能够获得执行资源是一个难题。Solaris 2.5.1及之前版本使用内核发出的SIGWAITING信号和特殊信号处理程序来创建更多LWP,但整体LWP管理仍需改进。

1.2 用户线程激活

调度器激活基于共享内存页面和内核Doors框架,提供了内核与用户级线程库之间的快速通信机制。状态信息可以通过共享内存页面在两者之间共享,当线程调度器关注的事件发生时,内核可以向线程库发起上调用。

1.2.1 通信机制
  • 共享内存页面 :不是System V IPC共享内存
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值