文档介绍:软件工程
电子教案
王树林
第15章实时系统的设计
实时计算系统的设计通常是复杂的,与外部世界是高度耦合的,必须在问题域规定的时间框架内对该问题域作出响应。
系统考虑
一个实时系统必须将硬件、软件、人力和数据库元素集成起来,以恰当地实现一组功能和性能需求。实时系统的性能与功能一样重要。
CHAPTER 15 DESIGN FOR REAL-TIME SYSTEMS
实时软件的开发不同于其他软件工程的三个特征:
(1)实时系统的设计是受资源约束的。时间是实时系统的首要资源。
(2)实时系统是紧凑而复杂的。
(3)实时系统的运行常常不需要用户的参与。因此,实时软件必须能检测到导致故障的问题,并在对数据和控制环境造成破坏前改正这些问题。
CHAPTER 15 DESIGN FOR REAL-TIME SYSTEMS
实时系统
实时系统产生某种动作以响应外部世界,为了完成这个功能,他们能高速地采集数据,并在严格的时间和可靠性的约束控制下。如军用的命令与控制系统、消费者电器、过程控制、工业自动化、医疗和科学研究、计算机图形等等。
CHAPTER 15 DESIGN FOR REAL-TIME SYSTEMS
系统响应时间
语境切换:包括在任务间切换的时间和系统开销。
中断等待时间: 是实际的切换发生之前的延迟时间。
CHAPTER 15 DESIGN FOR REAL-TIME SYSTEMS
集成和性能问题
许多实时设计关心的是实时任务间的协调、系统中断处理、保证不丢失数据的I/O处理、指定系统的内部和外部时间约束、以及确保数据库的准确度等。
实时系统的性能主要由系统响应时间和他的数据传输率决定。系统响应时间是系统检测到一个内部或外部事件到发出响应动作这段时间,事件检测和反映生成常常是简单的,对事件信息进行处理以判断合适的反映往往涉及到复杂耗时的算法。
CHAPTER 15 DESIGN FOR REAL-TIME SYSTEMS
数据传输率指的是串行/并行数据以及模拟/数字信号进出系统的速度。
实时系统常常被用来处理一个连续的输入数据流,设计必须保证数据不会丢失。必须能够响应异步事件,因为到达序列和数据是很难事先预测的。
实时系统对可靠性的要求极为严格,一旦发生故障,系统能够进行故障自动恢复和重新启动的功能。
CHAPTER 15 DESIGN FOR REAL-TIME SYSTEMS
中断出理
中断处理是实时系统不同于其他任何类型系统的一大特性。实时系统在外部世界规定的时间框架内响应外部事件—中断。由于在同一时间有可能有多个中断,所以还必须建立优先级中断。
CHAPTER 15 DESIGN FOR REAL-TIME SYSTEMS
中断处理
保存被中断程序的状态
判断中断的性质
中断服务
恢复被中断程序的状态
返回被中断的程序
正常的处理流
中断
CHAPTER 15 DESIGN FOR REAL-TIME SYSTEMS
在许多情况下,一个事件的中断服务自身可能会被另一个更高优先级的事件中断,可以建立中断优先级。
实时数据库
实时系统常常具有数据库管理的功能,统称是分布式数据库。
使用分布式数据库可以提高性能。但也有数据分区和复制造成的潜在的问题。
数据冗余可以提高系统的响应时间,但复制也增加了系统的开销,此外使用分布式数据库还引入了并发控制问题,并发控制涉及到数据库的同步。