参考答案:
【问题1】
(1)C(2)A(3)F(4)B(5)D
【问题2】
(1)优先级天花板是指将申请(占有)某资源的任务的优先级提升到可能访问该资源的所有任务中最高优先级任务的优先级(这个优先级称为该资源的优先级天花板) 。
(2)主要差异有:
SMP(对称多处理技术):将2颗完全一样的处理器封装在一个芯片内,达到双倍或接近双倍的处理性能。节省运算资源。如Power 4
AMP(非对称多处理技术):2个处理内核彼此不同,各自处理和执行特定的功能,在软件的协调下分担不同的计算任务。如OMAP5910
【问题3 】
(1)进入用户程序(2)将从核从HALT状态激活(3)从核初始化时钟、接口及其他资源。
详细解析:
(1)优先级继承
当一个任务阻塞了若干个任务时,若阻塞任务有高优先级任务,则将所有阻塞任务中的最高优先级作为其优先级。
(2)优先级天花板
给每个信号量设置一个优先级天花板,优先级天花板的值大于所有使用该信号的任务的优先级,当某个任务得到该信号量时,将其优先级置为优先级天花板的值。
优先级继承和优先级天花板,目的都是使得到信号量的任务的优先级,不低于其他在等待该信号量的任务的优先级,由此,当该任务释放资源后,任务结束前,也不会被其他较高优先级任务抢占,也就保障了如果有高优先级任务在等待该资源,那么该任务结束后高优先级任务立即就可使用该资源。
(3)优先级反转
假设有任务A,B,C,优先级:A > B > C,任务A,B,C都在等待各自的事件触发,并且A C运行中需要同一个临界资源。
首先,C的事件到来了,C开始运行,C得到了临界资源的信号量,此时,A等待的事件到来。
由于A的优先级更高,于是抢占了CPU的使用权,但是由于得不到临界资源的信号量,进入挂起状态,等待资源释放后唤醒。接着C继续得到CPU使用权。
在C释放信号量之前,B等待的事件到来了,B的优先级高于C,抢占CPU使用权,待B任务完成后,释放CPU,C继续运行,直到C释放信号量以后,A才得以被唤醒继续运行。
在这个过程中,A任务的优先级实际降到了和C相同的层次,究其原因,便是C得到了信号量后被不需要该信号量但是优先级更高的任务B抢占,故而使用优先级继承和优先级天花板,就是为了保障高优先级任务真正做到”高优先级“。
通常采用两种方式实现两个或多个内核协调工作。一种是采用对称多处理计数(SMP)symmetric multi-processing,就像IBM Power 4处理器一样,将两颗完全一样的处理器封装在一个芯片内,达到双倍或接近双倍的处理性能,由于共享了缓存和系统总线,因此这种做法的优点是能节省运算资源。另一种计数采用一种非对称多处理(AMP)(asymmetric multi-processing)的工作方式:即两个处理内核彼此不同,各自处理和执行特定的功能,在软件的协调下分担不同的计算任务,比如一个执行加密,而另一个执行TCP/IP协议处理。这种处理器的内部结构更像人的大脑,某部分区域在执行某种任务时具有更高的优先级和更强的能力。如 TI公司的OMAP5910双核处理器。