200 likes | 377 Views
Real Time Operating Systems. Introduction to Real-Time Systems Course originally developed by Maj Ron Smith. Outline. Definitions Applications of real-time computer systems Lifecycles An Example. Definitions. Real-Time System:
E N D
Real Time Operating Systems Introduction to Real-Time Systems Course originally developed by Maj Ron Smith Dr. Alain Beaulieu
Outline • Definitions • Applications of real-time computer systems • Lifecycles • An Example Dr. Alain Beaulieu
Definitions • Real-Time System: “A real-time system is a software system that maintains an ongoing and timely interaction with its environment” Bran Selic Dr. Alain Beaulieu
Definitions (cont’d) • Real-Time System: “We can think of real-time systems as those that react to external inputs and in a timely manner affect the environment in which they operate” Burns and Wellings Dr. Alain Beaulieu
Definitions (cont’d) • Real-Time System: “ any system in which the time at which output is produced is significant. This is usually because the input corresponds to some movement in the physical world, and the output has to relate to that same movement” The Oxford Dictionary of Computing Dr. Alain Beaulieu
Definitions (cont’d) • Key characteristics of all the definitions • timeliness • timeliness = correctness • interaction with its environment • hardware interfaces Dr. Alain Beaulieu
Definitions (cont’d) • Aren’t all computer systems real-time While almost all software does interface to hardware, Windows, Icons, Menus and Pointers (WIMP) programming is NOT considered real-time ? Dr. Alain Beaulieu
Definitions (cont’d) • Hard versus soft real-time • hard real-time systems require that strict time deadlines are met; the strictest are when an event must occur at time x, not just by time x. • in soft real-time systems timeliness of events is important but not necessarily critical. Often expressed as : x out of y events be on time, or by x time ± some slack Dr. Alain Beaulieu
Definitions (cont’d) • Real-time versus embedded software • most real-time software is “embedded” within some larger system, and is usually the de facto central nervous system. • therefore quite often real-time and embedded are used interchangeably when referring to the software of real-time systems. Dr. Alain Beaulieu
Applications of real-time systems • process control • nuclear power plant • chemical plant • production control • automobile assembly line • communication, command & control • air traffic control system • embedded systems • TV Satellite receiver Dr. Alain Beaulieu
Life Cycles of real-time systems • Small embedded commercial applications • typically one-shot • field and (hope to) forget • high multiples • cost driven efficiency requirements Dr. Alain Beaulieu
Life Cycles (continued) • Larger real-time systems (including most Military applications) • generally subject to constant change • very long life-cycles • expensive to maintain • robust designs are critical • Configuration management is a must • Integrated Logistics Support • Software support must be planned Dr. Alain Beaulieu
Examples of Some Real Real-Time systems • Low Level Air Defence ADATS • 10 Computers – 10 CSCI (without the missiles) • 4 Radar Computers • C16A, B, C, D • Data Processing Unit • Turret Electronic Unit • Interface Electronic Unit • Coast Mode Processor • Control Electronic Unit • Servo Electronic Unit • full MIL-STD-2167A Dr. Alain Beaulieu
Examples of some Real-Time Systems To Radar and other ADATS (network of 6 +AF-BCP) TEU TAU LEU SEU ECU MV PS CMP Interface Elec Unit Mount Servo Elect Unit Discrete I/O 24/24 Bits CDU Serial Interface & Auto Scanner Clock and interrupts 16 channel DPU R/D Converter 16 Channels A/D Converter 16 Channels D/A Converter 24 Channels Main Memory Resolvers GBA, LOSSA Analog I/P GBA, LOSSA Analog O/P SEU Dr. Alain Beaulieu
Some problems… • Several computer languages, C, Several Assembly Languages, Pascal • DPU was a 16 bit processor… when there was none. 4X4 bit-sliced computer • Cyclic Executive • No RTOS • End-To-End test two weeks DPU only • Cycle counting from Pulse Code Modulation (PCM) Dumps • It works but… Dr. Alain Beaulieu
What might go wrong when developing this type of software? • Requirements formulation / documentation • Design formulation / documentation • Test formulation / documentation / conduct • (Software engineering communication) • Schedulability on a single processor • Compatibility among systems • Support for long-term maintenance To name just a few Dr. Alain Beaulieu
Summary “Real-time and distributed systems (combined) design has proven to be one of the most difficult and intricate problems ever faced. This is primarily because of the complexity of the real world in which these systems operate. Their environment can be bewilderingly diverse, dynamic, and unpredictable - components fail at random, communications are corrupted, interruptions occur when they are most inappropriate, and so on.” Selic Dr. Alain Beaulieu