随着人类技术的进步,计算机得到了广泛应用。其中的一种应用称为进程控制系统,即使用计算机监控某些工业进程,并在需要的时候采取行动。所有这些系统都具备一个特点:计算机对这些应用必须在规定时间内做出响应,否则有可能发生事故或灾难。
例如,在工业装配线上,当一个部件从流水线上一个工作站流到下一个工作站时,这个工作站上的操作必须在规定时间内完成,否则就有可能造成流水线瘫痪,而影响企业的生产和利润。又例如,在导弹防卫系统中,对来袭导弹的轨迹计算必须在规定时间内完成,否则就可能被来袭导弹击中而无法做出反应。其他对计算机响应时间有要求的系统包括核反应堆状态监视系统、化学反应堆监视系统、航空飞行控制系统等。
这种对计算机响应时间有要求的系统通常称为临界系统或应用。而为了满足这些应用对响应时间的要求,人们开发出了实时操作系统。实时操作系统是指所有任务都在规定时间内完成的操作系统,即必须满足时序可预测性(Timing pre-dictability)。需要注意的是,实时系统并不是指反应很迅速的系统,而是指反应具有时序可预测性的系统
。当然了,在实际中,实时系统通常是反应很迅速的系统。但这是实时系统的一个结果,而不是其定义。
显然,实时操作系统的最重要部分就是进程或工作调度。只有精确、合理和及时的进程调度才能保证响应时间。当然,对资源的管理也非常重要。没有精密复杂的资源管理,确保进程按时完成就成了一句空话。另外,基于其使用环境,实时操作系统对可靠性和可用性要求也非常高。如果在这些方面出了问题,时序可预测性将无法达到。
**实时系统通常又分为软实时系统和硬实时系统。**软实时系统在规定时间得不到响应所产生的后果是可以承受的,如流水装配线。即使装配线瘫痪,也只是损失了资金;而硬实时系统在得不到实时响应后则可能产生不能承受的灾难,如导弹防卫系统。如果反应迟钝,结果就可能是严重损失。
商用实时操作系统的代表有VxWorks和EMC的DART系统。