- UID
- 1029342
- 性别
- 男
|
l
对可靠性和安全性的要求非常高
很多实时系统应用在十分重要的地方,有些甚至关系到生命安全。系统的失败会导致生命和财产的损失,这就要求实时系统有很高的可靠性和安全性。
l
并发性强
实时系统常常需要同时控制许多外围设备,例如,系统需要同时控制传感器、传送带和传感器等设备。多数情况下,利用微处理器时间片分配给不同的进程,可以模拟并行。但是在系统对响应时间要求十分严格的情况下,分配时间片模拟的方法可能无法满足要求。这时,就得考虑使用多处理机系统。这就是为什么多处理机系统最早是在实时系统领域里繁荣起来的原因所在。
使用实时系统可以简化应用程序的设计:
(1) 操作系统的多任务和任务间通信的机制允许复杂的应用程序被分成一系列更小的和更多的可以管理的任务。
(2) 程序的划分让软件测试更容易,团队工作分解,也有利于代码复用。
(3) 复杂的定时和先手顺序的细节,可以从应用程序代码中删除。
2.
前后台系统
如果不搭载实时系统的称作前后台系统架构,例如前面已做过的实验如GPIO、定时器、数码管实验等都是前后台系统架构,任务顺序地执行的,而前台指的是中断级,后台指的是main函数里的程序即任务级,前后台系统又叫作超级大循环系统,这个可以从“while(1)”关键字眼就可以得知。在前后台系统当中,关键的时间操作必须通过中断操作来保证实时性,由于前后台系统中的任务是顺序执行的,中断服务函数提供的信息需要后台程序走到该处理这个信息这一步时才能得到处理的,倘若任务数越多,实时性更加得不到保证,因为循环的执行时间不是常数,程序经过某一特定部分的准确时间也是不能确定的。进而,如果程序修改了,循环的时序也会受到影响。很多基于微处理器的产品采用前后台系统设计,例如微波炉、电话机、玩具等。在另外一些基于微处理器的应用中,从省电的角度出发,平时微处理器处在停机状态(halt),所有的事都靠中断服务来完成。
3.
实时系统与前后台系统比较
实行系统与前后台系统最明显的区别就是任务是否具有并发性,图1表示实时系统任务执行的
状态,图2表示前后台系统任务执行的状态。
图1
图2
从图1可以看出,传统的处理器同时只能执行一个任务,只是通过快速的任务切换,实时系统
的所有任务(任务1、任务2和任务3)执行看起来是同时执行的。
从图2可以看出,前后台系统默认遵守了传统的处理器只能同时执行一个任务的特性,顺序地 |
|