An Introduction and Practical approach to RTOS concepts.

Slides:



Advertisements
Similar presentations
More on Processes Chapter 3. Process image _the physical representation of a process in the OS _an address space consisting of code, data and stack segments.
Advertisements

A Sample RTOS Presentation 4 Group A4: Sean Hudson, Manasi Kapadia Syeda Taib.
Implementing Fault Tolerant Systems with Windows CE.NET Reliable System Design 2010 by: Amir M. Rahmani.
Chorus and other Microkernels Presented by: Jonathan Tanner and Brian Doyle Articles By: Jon Udell Peter D. Varhol Dick Pountain.
Computer Systems/Operating Systems - Class 8
Review: Chapters 1 – Chapter 1: OS is a layer between user and hardware to make life easier for user and use hardware efficiently Control program.
Chapter 13 Embedded Systems
Chapter 13 Embedded Systems Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles,
Operating Systems High Level View Chapter 1,2. Who is the User? End Users Application Programmers System Programmers Administrators.
1 Multiprocessor and Real-Time Scheduling Chapter 10.
Chapter 13 Embedded Systems
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Real-Time Systems and Programming Languages
Figure 1.1 Interaction between applications and the operating system.
Real-Time Kernels and Operating Systems. Operating System: Software that coordinates multiple tasks in processor, including peripheral interfacing Types.
1 Operating Systems Ch An Overview. Architecture of Computer Hardware and Systems Software Irv Englander, John Wiley, Bare Bones Computer.
CprE 458/558: Real-Time Systems
Chapter 3 Overview of Operating Systems Copyright © 2008.
Comparative Operating Systems Fall 2001 An Examination of Embedded Linux as a Real Time Operating System Mark Mahoney.
1 Chapter 13 Embedded Systems Embedded Systems Characteristics of Embedded Operating Systems.
The Design of Robust and Efficient Microkernel ManRiX, The Design of Robust and Efficient Microkernel Presented by: Manish Regmi
Chapter 19: Real-Time Systems Silberschatz, Galvin and Gagne ©2005 AE4B33OSS Chapter 19: Real-Time Systems System Characteristics Features of Real-Time.
Performance Evaluation of Real-Time Operating Systems
RTOS Design & Implementation Swetanka Kumar Mishra & Kirti Chawla.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 15 Slide 1 Real-time Systems 1.
Wind River VxWorks Presentation
Computer System Architectures Computer System Software
Real-Time Software Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
Real Time Process Control (Introduction)
9/14/2015B.Ramamurthy1 Operating Systems : Overview Bina Ramamurthy CSE421/521.
B.Ramamurthy9/19/20151 Operating Systems u Bina Ramamurthy CS421.
Introduction to Real-Time Systems
Real-Time Systems Design1 Priority Inversion When a low-priority task blocks a higher-priority one, a priority inversion is said to occur Assume that priorities:
Real-Time Operating Systems for Embedded Computing 李姿宜 R ,06,10.
Multiprocessor and Real-Time Scheduling Chapter 10.
Chapter 101 Multiprocessor and Real- Time Scheduling Chapter 10.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
REAL-TIME SOFTWARE SYSTEMS DEVELOPMENT Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical Engineering, WVU.
OSes: 3. OS Structs 1 Operating Systems v Objectives –summarise OSes from several perspectives Certificate Program in Software Development CSE-TC and CSIM,
Real Time Operating Systems Michael Thomas Date: Rev. 1.00Date.
Operating Systems 1 K. Salah Module 1.2: Fundamental Concepts Interrupts System Calls.
System Components ● There are three main protected modules of the System  The Hardware Abstraction Layer ● A virtual machine to configure all devices.
1 VxWorks 5.4 Group A3: Wafa’ Jaffal Kathryn Bean.
19.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts with Java – 8 th Edition Chapter 19: Real-Time Systems.
Chapter 19: Real-Time Systems Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 19: Real-Time Systems System Characteristics.
Real-Time Operating System Design
For a good summary, visit:
1.  System Characteristics  Features of Real-Time Systems  Implementing Real-Time Operating Systems  Real-Time CPU Scheduling  An Example: VxWorks5.x.
Unit - I Real Time Operating System. Content : Operating System Concepts Real-Time Tasks Real-Time Systems Types of Real-Time Tasks Real-Time Operating.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
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.
Real-time Software Design
REAL-TIME OPERATING SYSTEMS
Chapter 19: Real-Time Systems
Operating Systems : Overview
Operating System Structure
Real-time Software Design
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Multiprocessor and Real-Time Scheduling
Chapter 19: Real-Time Systems
Operating Systems : Overview
Operating Systems : Overview
Operating Systems : Overview
Presentation transcript:

An Introduction and Practical approach to RTOS concepts.

What is an Operating System? Piece of software that sits between applications and hardware. Hides hardware details from applications. Provides standard interfaces to hardware and software devices. Provides protection mechanisms. Typical services: Memory management (main memory, secondary memory, virtual memory, paging, file system) Process management (scheduling, task management, synchronization, interrupt and exception handling, inter task communication) Protection Input - Output management (device driver) Support of distributed applications and multiprocessors

What is a Real Time System? Timeliness is the single most important aspect of a real-time system. These systems respond to a series of external inputs, which arrive in an unpredictable fashion. The real-time systems process these inputs, take appropriate decisions and also generate output necessary to control the peripherals connected to them. As defined by Donald Gillies “A real-time system is one in which the correctness of the computations not only depends upon the logical correctness of the computation but also upon the time in which the result is produced. If the timing constraints are not met, system failure is said to have occurred.”

Examples of RT Systems. Control of production processes / industrial automation Railway switching systems Automotive applications Flight control systems Environmental acquisition and monitoring Telecommunication systems Household appliances Robotics Military systems Space missions

An in-depth view Real-time Time: main difference to other classes of computation Real: reaction to external events must occur during their evolution. System time (internal time) has to be measured with same time scale as controlled environment (external time) Real time does not mean fast but predictable Concept of deadline: Time after which a computation is not just late, but also wrong

Hard Vs Soft RT systems Hard RT task: Soft RT task: if missing its deadline may cause catastrophic consequences on the environment under control Soft RT task: if meeting its deadline is desirable (e.g. for performance reasons) but missing does not cause serious damage RTOS that is able to handle hard RT tasks is called hard real-time OS

Why is a desktop OS not suited? Monolithic kernel is too feature rich. Monolithic kernel is not modular, fault-tolerant, configurable, modifiable, … Takes too much space. Not power optimized. Not designed for mission-critical applications.

Design goals of an RTOS Small: minimal memory footprint Open: many interfaces and protocols, open system standards Modular: easy to integrate custom components Portable: run on lots of devices Real- time: support of hard deadlines, bounded interrupts, scheduling, synchronization Power consumption: integrated power management Robustness: fault tolerant, halts, guards, exceptions, CRC, … Configurable: adaptable to required functionality

Desirable features of RTOS Timeliness OS has to provide mechanisms for: time management handling tasks with explicit time constraints Predictability Fault tolerance Design for peak load Maintainability

Timeliness In timeliness, we say that a given task should be completed in stipulated amount of time else there is no meaning of performing the task. This is so strict in Hard RT systems and is adjustable in Soft RT systems This is also referred as responsiveness

Predictability This feature insists that the response of the system should be predictable for any unpredicted input to the system. This takes care of the stability of the system. When the system doesn’t have this feature, it leads to a chaos state.

Fault tolerance This takes care of the exceptions that occurs in the system. Fault tolerance is the feature by which the system can continue normally even a failure occurs. This is also referred as fail-safe operation, exception handling.

Design for peak load The efficiency of the RTOS is taken care by this factor While designing the system, the peak load should be taken into account as the normal load This would guarantee best operation even at fully loaded condition Testing should be done to meet this peak load condition

Maintainability This feature helps in the future development and maintenance of the RTOS Not a strict need for one-time design systems

RTOS simplification factors (earlier) No display No disk drives (and no file system) One, dedicated “user” Limited security requirements Limited Tasks Limited connectivity Controlled interaction Closed system

RTOS complication factors (earlier) Limited resources Direct hardware access Unpredictable I/O Hardware reliability Limited I/O Required reliability Cost

Evolution of RTOS

Traditional monolithic kernel

Microkernel

RTOS elements Scheduler I/O handler File handler (If any) Exception handler

Scheduler definition Given a set of tasks J = {J 1 , ...J n } a schedule is an assignment of tasks to the processor so that each task is executed until completion. A schedule is called feasible if all tasks can be completed according to a set of specified constraints A set of tasks is called schedulable if there exist at least one algorithm that can produce a feasible schedule

Key fact of an RT scheduling Any RT scheduling policy must be preemptive: Tasks performing exception handling may need to preempt running tasks to ensure timely reaction Tasks may have different levels of criticalness. This can be mapped to a preemption scheme More efficient schedules can be produced with preemption

Task synchronizing Mechanisms: Mutex Semaphore Message Queue Monitor Must be manipulated in a critical section! Used for shared resources: Global variables Memory buffers Device registers

I/O handler I/O can be using any device unlike traditional systems I/O handler should be efficient to take care of the latency

File handler Normally takes care of maintaining files like traditional systems except that the medium may be different Efficient way of optimizing available space should be taken care

Exception handler This take care of an abnormal condition. Guarantees fail-safe performance of the RTOS Exhaustive testing is need on this design

Hard reset A hard reset is termed to be the reset of the system to its initial state loosing all the previous data and states of the system There should be provision for this to handle if all fail-safe measure fails.

RTOS selection criteria Processor Performance (deterministic) Cost Initial Royalties Tools Cross-compilers Debuggers

RTOS selection criteria (contd…) Capability Scheduling Device Drivers Protocol stacks Flash file systems Availability of source code Technical Support Compatibility with 3 rd party tools Floating-point math Accommodates your constraints

An RTOS should Support a wide range of hardware platforms Have a scalable kernel Support multi-level interrupt process-level priorities Support multi-threaded operations with predictable thread synchronization Support code sharing for re-entrant tasks Provide Real-Time memory management Support ANSI C Support the Real-Time POSIX® standards Provide a wide range of commercially available software tools

Low end of the spectrum Accelerated Technologies Nucleus Kadak’s AMX http://www.acceleratedtechnology.com Kadak’s AMX http://www.kadak.com/

High end of the spectrum Wind River VxWorks http://www.windriver.com/ Inegrated Systems’ pSOS Microtec VRTX http://www.mentor.com/microtec/ QNX http://www.qnx.com/