系统处理器即完成执行
系统软件的工作,也同时起目标
处理器的作用。因为仅包含了一个处理器,所以没更换一种被仿真处理器,系统软件也必须随之改写。因为系统软件必须驻留在仿真器所使用的同一存储器中,因为不可能将整个存储器用于仿真过程,这对大型样机的开发可能就是一个缺点。
早期的
计算机系统是基于单个处理器的顺序处理机器。程序员编写串行执行的代码,让其在
CPU上串行执行,甚至每一条指令的执行也是串行的(取
指令、取
操作数、执行操作、存储结果)。为提高计算机处理的速度,首先发展起来的是
联想存储器系统和流水线系统,ghostwin7前者提出了数据驱动的思想,后者解决了指令串行执行的问题,这两者都是最初计算机并行化发展的例子。随着硬件技术的进步,
并行处理技术得到了迅猛的发展,计算机系统不再局限于单处理器和单数据流,各种各样的并行结构得到了应用。计算机系统可以分为以下4类。
(1)
单指令流单数据流(
SISD)。一个处理器在一个存储器中的数据上执行单条指令流。
(2)
单指令流多数据流(
SIMD)。单条指令流控制多个处理单元同时执行,每个处理单元包括处理器和相关的数据存储,一条指令事实上控制了不同的处理器对不同的数据进行操作。向量机和阵列机是这类计算机系统的代表。
(3)多指令流肀数据流(
MISD)。一个数据流被传送给一组处理器通过这一组处理器卜的不同指令操作最终得到处理结果。该类计算机系统的研究尚在实验室阶段。
(4)
多指令流多数据流(
MIMD)。多个处理器对各自不同的数据集同时执行不同的指令流。可以把MIMD系统划分为共享内存的紧密耦合MIMD系统和内存分布的松散耦合MIMD系统两大类。
许多
调度问题有时间限制,特别是在
实时系统中。
实时系统是快速和可预计的。可预计表示当任务激活时就能够以某种确定度决定它的完成时间。例如,典型问题是,任务T满足它的时间要求吗?有多少任务将在期限以前完成?最大利用程度是多少?
单处理器上多个定期任务的这两种
调度算法是许多实时调度算法的基础。它假设所有任务有确定的运行时间,而且两次运行请求之间有恒定的时间间隔。例如,任务丁,要求以周期£,和运行时间“调度运行,也就是任务T,每隔周期,:出现一次,并且必须在下一次调度请求前结束。所有任务是独立的。相互之间没有
通信。
速率单调优先算法和期限驱动算法都是有优先权和强占式的,前者分配固定优先权,后者使用动态优先权(即运行时优先权会改变)。对速率单调优先算法来说,有高速率要求的任务有高优先权.也就是周期£,越小,被调度的速率就越高,优先级越大;对期限驱动算法来说,离结束期限最近的任务有最高优先权。
也就是说,对n=1限度是1,对n=2限度是0.828,对n=3限度是0.779,等等。注意:当上面条件不满足但整体利用率仍小于1时,它的可调度性是不确定的。然而如果有基于固定
优先权的可行调度,速率单调优先算法总能够找到其中的一个。