Introduction Frank Drews

Slides:



Advertisements
Similar presentations
EE5900 Advanced Embedded System For Smart Infrastructure
Advertisements

Real-Time Scheduling CIS700 Insup Lee October 3, 2005 CIS 700.
Basic Real Time Concepts Systems Concepts Real-Time Definitions Events and Determinism CPU Utilization Real-Time System Design Issues Example Real-Time.
CMSC 421: Principles of Operating Systems Section 0202 Instructor: Dipanjan Chakraborty Office: ITE 374
Chapter 1: Introduction
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Real-Time Systems and Programming Languages
By Group: Ghassan Abdo Rayyashi Anas to’meh Supervised by Dr. Lo’ai Tawalbeh.
Real-Time Operating System Chapter – 8 Embedded System: An integrated approach.
EMBEDDED SOFTWARE Team victorious Team Victorious.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 15 Slide 1 Real-time Systems 1.
BEH30802 :: REAL-TIME EMBEDDED SYSTEM
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Real Time Process Control (Introduction)
Introduction to Real Time Systems Akos Ledeczi EECE 354, Fall 2010 Vanderbilt University.
Thanks to Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction n What is an Operating System? n Mainframe Systems.
 Dr. Syed Noman Hasany 1.  Review of known methodologies  Analysis of software requirements  Real-time software  Software cost, quality, testing.
1. Introduction 1.1 Background 1.2 Real-time applications 1.3 Misconceptions 1.4 Issues in real-time computing 1.5 Structure of a real-time system.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
© Oxford University Press 2011 DISTRIBUTED COMPUTING Sunita Mahajan Sunita Mahajan, Principal, Institute of Computer Science, MET League of Colleges, Mumbai.
EEL Software development for real-time engineering systems.
Operating System Concepts Chapter One: Introduction What is an operating system? Simple Batch Systems Multiprogramming Systems Time-Sharing Systems Personal-Computer.
Scheduling policies for real- time embedded systems.
Multiprocessor and Real-Time Scheduling Chapter 10.
Reference: Ian Sommerville, Chap 15  Systems which monitor and control their environment.  Sometimes associated with hardware devices ◦ Sensors: Collect.
Introduction to Real Time Systems
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
CprE 458/558: Real-Time Systems (G. Manimaran)1 CprE 458/558: Real-Time Systems Introduction to Real-Time Systems.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
CSCI1600: Embedded and Real Time Software Lecture 23: Real Time Scheduling I Steven Reiss, Fall 2015.
Operating System. Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered.
Introduction to Real-Time Systems
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
Embedded System Design and Development Introduction to Embedded System.
CONCEPTS OF REAL-TIME OPERATING SYSTEM. OBJECTIVE  To Understand Why we need OS?  To identify Types of OS  To Define Real - Time Systems  To Classify.
Real-Time Operating Systems RTOS For Embedded systems.
1 OPERATING SYSTEMS. 2 CONTENTS 1.What is an Operating System? 2.OS Functions 3.OS Services 4.Structure of OS 5.Evolution of OS.
Embedded System Scheduling
Real-time Software Design
Applied Operating System Concepts
REAL-TIME OPERATING SYSTEMS
Chapter 1: Introduction
Chapter 1: Introduction
Introduction Frank Drews
Chapter 1: Introduction
Chapter 1: Introduction
Unit OS9: Real-Time and Embedded Systems
Chapter 1: Introduction
Chapter 1: Introduction
Real-time Software Design
Introduction to Realtime Systems (& Embedded Systems)
Chapter 1: Introduction
Chapter 1: Introduction
חוברת שקפים להרצאות של ד"ר יאיר ויסמן מבוססת על אתר האינטרנט:
Operating System Concepts
Chapter 1: Introduction
Language Processors Application Domain – ideas concerning the behavior of a software. Execution Domain – Ideas implemented in Computer System. Semantic.
Multiprocessor and Real-Time Scheduling
Subject Name: Operating System Concepts Subject Number:
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 10 Multiprocessor and Real-Time Scheduling
Chapter 1: Introduction
CS703 - Advanced Operating Systems
Chapter 1: Introduction
Chapter 1: Introduction
Operating System Concepts
Chapter 1: Introduction
Presentation transcript:

Introduction Frank Drews drews@ohio.edu Real-Time Systems Introduction Frank Drews drews@ohio.edu Frank Drews Real-Time Systems

Real-time Systems A real-time system is a system whose specification includes both logical and temporal correctness requirements. Logical Correctness: Produces correct outputs. Can by checked, for example, by Hoare logic. Temporal Correctness: Produces outputs at the right time. In this course, we spend much time on techniques and technologies for achieving and checking temporal correctness. Frank Drews Real-Time Systems

Embedded Systems [www.webopedia.com]: An embedded system is “a specialized computer system that is part of a larger system or machine. Typically, an embedded system is housed on a single microprocessor board with the programs stored in ROM. Virtually all appliances that have digital interfaces (e.g., watches, microwaves, VCRs, cars) utilize embedded systems […]” Many embedded systems are real-time systems Frank Drews Real-Time Systems

Typical Characteristics of Real-Time Systems Event-driven, reactive. High cost of failure. Concurrency/multiprogramming. Stand-alone/continuous operation. Reliability/fault-tolerance requirements. Predictable behavior. Frank Drews Real-Time Systems

Misconceptions about Real-Time Systems (Stankovic ‘88) There is no science in real-time-system design. We shall see… Advances in supercomputing hardware will take care of real-time requirements. The old “buy a faster processor” argument… Real-time computing is equivalent to fast computing. Only to ad agencies. To us, it means PREDICTABLE computing. Frank Drews Real-Time Systems

Misconceptions (Continued) Real-time programming is assembly coding, We would like to automate (as much as possible) real-time system design, instead of relying on clever hand-crafted code. “Real time” is performance engineering. In real-time computing, timeliness is almost always more important than raw performance … “Real-time problems” have all been solved in other areas of CS or operations research. OR people typically use stochastic queuing models or one-shot scheduling models to reason about systems. In other CS areas, people are usually interested in optimizing average-case performance. Frank Drews Real-Time Systems

Misconceptions (Continued) It is not meaningful to talk about guaranteeing real-time performance when things can fail. Though things may fail, we certainly don’t want the operating system to be the weakest link! Real-time systems function only in a static environment. Note true. We consider systems in which the environment may change dynamically. Frank Drews Real-Time Systems

Are All Systems Real-Time Systems? Question: Is a payroll processing system a realtime system? It has a time constraint: Print the pay checks every two weeks. Perhaps it is a real-time system in a definitional sense, but it doesn’t pay us to view it as such. We are interested in systems for which it is not a priori obvious how to meet timing constraints Frank Drews Real-Time Systems

The “Window of Scarcity” Resources may be categorized as: Abundant: Virtually any system design methodology can be used to realize the timing requirements of the application. Insufficient: The application is ahead of the technology curve; no design methodology can be used to realize the timing requirements of the application. Sufficient but scarce: It is possible to realize the timing requirements of the application, but careful resource allocation is required. Frank Drews Real-Time Systems

Example: Interactive/Multimedia Applications Frank Drews Real-Time Systems

Example: Real-Time Applications Many real-time systems are control systems Example 1: A simple one-sensor, one-actuator control system Frank Drews Real-Time Systems

Simple Control System (Continued) Pseudo-code for this system: T is called sampling period. T is a key design choice. Typical range for T: seconds to milliseconds. Frank Drews Real-Time Systems

Time Frank Drews Real-Time Systems

Multi-rate Control Systems More complicated control systems have multiple sensors and actuators and must support control loops of different rates. Example 2: Helicopter flight controller. Note: Having only harmonic rates simplifies the system Frank Drews Real-Time Systems

Hierarchical Control Systems Frank Drews Real-Time Systems

Air Traffic Control [Reddaway et al. WMPP’05] Frank Drews Real-Time Systems

Signal-Processing System Signal-processing systems transform data from one form to another. Examples: Digital filtering. Video and voice compression/decompression. Radar signal processing. Response times range from a few milliseconds to a few seconds. Frank Drews Real-Time Systems

Example: Radar System Frank Drews Real-Time Systems

Internet/Multimedia Applications Web farms hosting multiple web domains Each web domain receives a certain share of the overall resources (CPU, network, file system) Each web domain consists of an application pool (static content, dynamic content, streaming video/audio, etc.) Challenges Sharing the resource among domains (i.e. application pools) may be hard in general purpose Operating Systems Guarantee of a uniform, steady, jitter-free execution of time critical multimedia applications while not starving other applications Support of multiprocessor server systems static content dynamic content streaming video/audio Server Domain 1 Domain 3 Domain 2 Frank Drews Real-Time Systems

Other Real-Time Applications Real-time databases. Transactions must complete by deadlines. Main dilemma: Transaction scheduling algorithms and real-time scheduling algorithms often have conflicting goals. Data may be subject to absolute and relative temporal consistency requirements. Overall goal: reliable responses Multimedia. • Want to process audio and video frames at steady rates. – TV video rate is 30 frames/sec. HDTV is 60 frames/sec. – Telephone audio is 16 Kbits/sec. CD audio is 128 Kbits/sec. Other requirements: Lip synchronization, low jitter, low end-to-end response times (if interactive). Frank Drews Real-Time Systems

Hard vs. Soft Real Time Task: A sequential piece of code. Job: Instance of a task Jobs require resources to execute. – Example resources: CPU, network, disk, critical section. – We will simply call all hardware resources “processors”. Release time of a job: The time instant the job becomes ready to execute. Deadline of a job: The time instant by which the job must complete execution. Relative deadline of a job: “Deadline - Release time”. Response time of a job: “Completion time - Release time”. Frank Drews Real-Time Systems

Example Job is released at time 3. It’s absolute deadline is at time 10. It’s relative deadline is 7. It’s response time is 6. Frank Drews Real-Time Systems

Hard Real-Time Systems A hard deadline must be met. If any hard deadline is ever missed, then the system is incorrect. Requires a means for validating that deadlines are met. Hard real-time system: A real-time system in which all deadlines are hard. We consider hard and soft real-time systems in this course. Examples: Nuclear power plant control, flight control. Frank Drews Real-Time Systems

Soft Real-Time Systems A soft deadline may occasionally be missed. Question: How to define “occasionally”? Soft real-time system: A real-time system in which some deadlines are soft. Examples: multimedia applications. Frank Drews Real-Time Systems

Performance Two particular factors are important How fast does a system respond When it fails, what happens? Frank Drews Real-Time Systems

The Speed of Response All required responses are time-critical The designer should predict the delivered performance of the systems with the required performance Unfortunately, it may not be possible to give 100% guarantees Frank Drews Real-Time Systems

Periodic vs. Aperiodic Tasks Tasks run at regular, pre-defined intervals Example: closed loop digital controller having fixed, pre-set sampling rates Execute control task Execute control task Idle time Idle time time Sampling interval t0 t1 t2 Synchronous real-time clock signals Frank Drews Real-Time Systems

Periodic vs. Aperiodic Tasks Occur when the computer must respond to (generally) external events which occur at random (asynchronous or aperiodic); have either soft or no deadlines Sporadic Tasks Similar to aperiodic tasks; however, the event must be serviced within a specific maximum time period; hard deadline Idle time Execute event task Execute event task Execute event task Idle time time e0 e1 e2 Asynchronous events Frank Drews Real-Time Systems

Mixing Periodic and Aperiodic Tasks We get into trouble in situations which involve a mix of periodic and aperiodic(sporadic) events, which are usual in real-time designs Much thought and skill are needed to deal with the response requirements of periodic and aperiodic tasks Frank Drews Real-Time Systems

Real-Time Operating Systems (RTOSs) RTOS: specialized operating system for RTS Main responsibilities: Process management Resource allocation (processor, memory, network) They may not include regular OS facilities such as file management, virtual memory, user/kernel level separation, etc. Manage at least two priority levels: Interrupt level, for processes that need fast response Clock level, for periodic processes Typical components: real-time clock, interrupt handler, scheduler, resource manager, dispatcher Frank Drews Real-Time Systems