Real-time HOOD. Analysis and Design of Embedded Systems and OO* Object-oriented Programming Jan Bendtsen Automation and Control

Size: px
Start display at page:

Download "Real-time HOOD. Analysis and Design of Embedded Systems and OO* Object-oriented Programming Jan Bendtsen Automation and Control"

Transcription

1 Real-time HOOD Analysis and Design of Embedded Systems and OO* Object-oriented Programming Jan Bendtsen Automation and Control

2 Structure (slightly modified) OO & UML Java basics Java Polym. Java Events Java Threads Networking RT HOOD Scheduling RT paradigms IPC IPC RT kernels Threads Scheduling Scheduling Scheduling

3 Lecture Outline A quick intro (recap?) of real-time systems Overview of RT-HOOD Design phases Types of processes Logical and physical architecture Schedulability and Dependability Case study

4 Realtime systems A realtime system is a system designed to map realtime sequences of events to real-time sequences of events. Design of a real-time system involves specifying appropriate response to inputs presented to the system as a real-time sequence. The real-time system should produce an associated real-time sequence according to specifications.

5 RT and non-rt systems d 1, d 2, d 3, d 4,... Non-real-time System r 1, r 2, r 3, r 4,... d 1, d 2,d 3, d 4,... Real-time System r 1, r 2, r 3, r 4,... t 1, t 2,t 3, t 4,... t t' 1,t' 2,t' 3, t' 4,... t

6 Process and Control Most (if not all) engineering systems can be divided into process and control subsystems Not just limited to control engineering! car engine and wheels telephone users communication channels distributed DB systems trains in Jutland etc. main computer in car up with SW in mobile phone network controller DB query and presentation software Signals, track controls and timetable

7 Process and Control Interaction (commands and responses) Process Real-time System Control Real-time System Requirements (value and timing)

8 Examples of RT requirements Control theory determines that control signals must be submitted to (physical) ABS breaking systems 1000 times every second. The user determines that at normal writing speed the processing and echoing of characters in his word processor should not be more than 5 characters behind. Users demand that the mean service time at should be below 1 min. for hits.

9 Safety and Reliability A safety and reliability model refers to the structures and policies in place to ensure Safety Freedom from accidents or losses Reliability High mean time between failures Fault tolerance Note that safety and fault tolerance always require some level of redundancy

10 Periodic execution of Tasks Specify time properties: start period cost Deadline (relative)

11 Periodic execution of parallel Tasks samplethread controlthread robothand 3:00:00.0 3:00:01.0

12 Time characterization of Tasks A sub-action (or job) is a piece of work to be performed by our real-time system. Basically, some lines of code will be executed. A job is said to be preemptible if the scheduler is allowed to suspend its execution prior to completion and then resume whenever necessary. We say that the job is preemptied. Jobs where preemption is not allowed are said to be non-preemptible. Tasks are sequences of jobs (a j ), j = 1,...,m

13 Running sub-action (job) Running Not running r S C d Time Start Deadline Completion Ready Preemption

14 Timing instants Ready time: r is the instant in time so that the job can begin executing after r and not before. Computation time: c is the duration of the job assuming it occupies the processor totally. Starting time: S is the instant where the first instruction associated with a j is executed. Completion time: C is the instant where the last instuction associated with a j has just ended. Deadline: d is the instant before which the job has to finish in order to meet real-time requirements.

15 Periodic and Aperiodic Tasks T 1 T 2 T 3 T 4 r 0 r 1 r 2 r 3 r 4 T 1 T 2 T 3 T 4 T 5 T 6 T 7 r 0 r 1 r 2 r 3 r 4 r 5 r 6 r 7 Wake-up question: Definition of interarrival time T j?

16 Realtime definitions A task is periodic with a period T if for every j we have T j = T If deadlines are less than or equal to periods we say that the task is hard realtime If deadlines are higher than periods but finite we say that the task is realtime If deadlines are defined on a mean value basis we say that the task is soft realtime If there are no deadlines at all the task is non-realtime

17 Active Objects Active object = Thread Active objects organize passive objects via composition GPS receiver Text display Orbit Database Queue Graphic display

18 Task Diagrams A task diagram is a class diagram that shows only model elements related to the concurrency model Active objects Semaphore objects Message and data queues Constraints and tagged values Interfaces may be used as necessary

19 Example of Task Diagram

20 Elements of Task Diagrams Mutex semaphore Message queue Active objects (threads) CmdQueue:Queue RobotArmTask MonitoringTask MovingTask {period = 10 priority = 3 worst case exec time = 5 deadline = 10} Schedulability properties

21 Overview of RT-HOOD A design methodology for real-time systems Real-time design requires An exact requirement specification Task hierarchy Timeliness has to be addressed throughout the design phases Not commonly addressed in OO*; hence RT- HOOD

22 Phases in RT-HOOD Requirements Definition an authoritative specification of the system s required functional and non-functional behaviour Architectural Design a top-level description of the proposed system Detailed Design the complete system design is specified. Implementation the system is implemented Testing the operation of the system is tested, and it is checked that timing constraints etc. are satisfied

23 Commitments Requirements Functional and non-functional behaviors Obligations Requirements that lower levels must satisfy Commitments System design properties that the designers cannot change Constraints What can be done by the underlying system Execution environment Hardware and software components

24 Logical and physical architecture Requirements Definition Logical Architecture Design Physical Architecture Definition Detailed Definition Implementation Testing Logical architecture Involves commitments that are independent of constraints Is primarily aimed at satisfying requirements Physical architecture Addresses timing constraints, schedulaibility etc. Involves rough estimates of execution times, resource management etc.

25 Logical Architecture Design Outlines the system Rich Image Provides an overview of external devices etc. Gives a first view of signals, data etc. going in and out of the system

26 NB! The timing of Active objects cannot be analyzed! They may thus not be visible from the terminals of the complete system Logical Architecture Design Passive have no control over when they are used (data objects) Active may control when their operations are invoked (standard objects) Protected Like Active, but do not spontaneously invoke operations in other objects (e.g. synchronized) Cyclic Periodic activities that must be carried out immediately at certain intervals, e.g. Control computations (threads) Sporadic Activities that happen every once in a while, e.g. Events or sampling

27 Physical Architecture Design Consists of the following stages: Object allocation Network scheduling Processor scheduling Dependability Heavily dependent on the given application (hardware/ software platform, communication requirements etc.) Assign a criticality level to all Cyclic and Sporadic objects (e.g., safety critical, mission critical, background); Passive and Protected objects should be assigned the criticality level of their users

28 HRT-HOOD objects T Object name Provided operations Object Internals Used objects

29 HRT-HOOD objects Classify all objects into Passive, Protected etc. Establish Real-Time attributes: Deadlines, worst-case execution times, budget execution times, periods (Cyclic objects), minimum arrival times (Sporadic objects), importance (hard RT vs. soft RT threads) Design Use and Include relationships: RT-HOOD only allows certain types of object to use other types (see Burns & Wellings) Decompose operations

30 Case study: Mine Drainage Log Operator Carbon monoxide sensor Methane sensor Airflow sensor Pump control system Pump Water flow sensor High level sensor Sump Low level sensor

31 Case study: Mine Drainage Water flow sensor Motor setpoint Pump motor High level sensor Pump control system CO sensor CH4 sensor Low level sensor Interrupts Standard readings Airflow sensor

32 Functional requirements Pump operation turn off when the sump is empty, turn on when the sump is full or when commanded by the operator; operation is only allowed if the methane level is below a certain threshold Environment monitoring CH4 and CO contents and air flow must be monitored at all times, and alarms generated if the gas levels become critical Operator The operator should be informed of all events, as well as control the overall functions System monitoring The system must keep logs of all events in a DB. It must be possible to retrieve the logs upon request

33 Non-functional requirements Monitoring periods: all sensors supply readings every 60 s. The high and low level sensors are event-driven; the system must react within 20 s. Shut-down deadline if the methane level becomes critical, the system must shut down within a stricter deadline Operator information deadline - if the CH4 or CO level becomes critical, the operator must be informed within 1 s., within 2 s. in case of a critically low airflow reading and within 3 s. in case of an operation malfunction

34 Tasks CH4 sensor Periodic Arriv. 5 s Deadline 1 s CO sensor Periodic Arriv. 60 s Deadline 1 s Water flow s. Periodic Arriv. 60 s Deadline 3 s Airflow sensorperiodic Arriv. 60 s Deadline 2 s HLW handler Sporadic Arriv. 100 s Deadline 20 s

35 Logical Architecture A Pump Ctrl (data flow) A Env Monitor Pump not safe (interrupt) not_safe safe status_request set_pump Command CH4 status Status readings Alarm reason check_safety Status readings Alarm reason A Data logger A Oprt Console alarm CO_log CH4_log high_low_wl_log water_l_log motor_log

36 Hierarchical Decomposition of Pump Ctrl (not complete) A not_safe safe status_request set_pump Pump Ctrl high_sensor low_sensor A HLW sensor Pump status Alarm reason C Water flow sensor Pr Motor CH4 status Status not_safe safe status_request set_pump Alarm reason

37 Physical Architecture Only one computer => The physical and logical architectures are largely identical Threads CH4 sensor Periodic Arriv. 5 s Deadline 1 s CO sensor Periodic Arriv. 60 s Deadline 1 s Water flow s. Periodic Arriv. 60 s Deadline 3 s Airflow sensorperiodic Arriv. 60 s Deadline 2 s HLW handler Sporadic Arriv. 100 s Deadline 20 s Scheduling and execution time analysis the subject of the last four lectures

Goal. A mine pump example. System diagram. Realtime Systems SMD138. Lecture 12: Real-time system design Burns/Wellings ch 17 + ch 2

Goal. A mine pump example. System diagram. Realtime Systems SMD138. Lecture 12: Real-time system design Burns/Wellings ch 17 + ch 2 Realtime Systems SMD138 Lecture 12: Real-time system design Burns/Wellings ch 17 + ch 2 1 Goal To put the topics of previous lectures into a context To show how how the overall design of a real-time system

More information

SWE 760 Lecture 1: Introduction to Analysis & Design of Real-Time Embedded Systems

SWE 760 Lecture 1: Introduction to Analysis & Design of Real-Time Embedded Systems SWE 760 Lecture 1: Introduction to Analysis & Design of Real-Time Embedded Systems Hassan Gomaa References: H. Gomaa, Chapters 1, 2, 3 - Real-Time Software Design for Embedded Systems, Cambridge University

More information

CS4514 Real-Time Systems and Modeling

CS4514 Real-Time Systems and Modeling CS4514 Real-Time Systems and Modeling Fall 2015 José M. Garrido Department of Computer Science College of Computing and Software Engineering Kennesaw State University Real-Time Systems RTS are computer

More information

Real-Time Systems 1. Basic Concepts

Real-Time Systems 1. Basic Concepts Real-Time Systems 1 Basic Concepts Typical RTS 2 Example: Car 3 Mission: Reaching the destination safely. Controlled System: Car. Operating environment: Road conditions and other cars. Controlling System

More information

Real-Time Systems and Programming Languages

Real-Time Systems and Programming Languages Real-Time Systems and Programming Languages Ada, Real-Time Java and C/Real-Time POSIX Fourth Edition Alan Burns and Andy Wellings University of York * ADDISON-WESLEY An imprint of Pearson Education Harlow,

More information

Introduction to Real-time Systems. Advanced Operating Systems (M) Lecture 2

Introduction to Real-time Systems. Advanced Operating Systems (M) Lecture 2 Introduction to Real-time Systems Advanced Operating Systems (M) Lecture 2 Introduction to Real-time Systems Real-time systems deliver services while meeting some timing constraints Not necessarily fast,

More information

Introduction to Embedded Systems

Introduction to Embedded Systems Introduction to Embedded Systems Sanjit A. Seshia UC Berkeley EECS 9/9A Fall 0 008-0: E. A. Lee, A. L. Sangiovanni-Vincentelli, S. A. Seshia. All rights reserved. Chapter : Operating Systems, Microkernels,

More information

Traditional Approaches to Modeling

Traditional Approaches to Modeling Traditional Approaches to Modeling Timeliness, Performance and How They Relate to Modeling, Architecture and Design Mark S. Gerhardt Chief Architect Pittsburgh, PA 15213 Levels of Real Time Performance

More information

Exam Review TexPoint fonts used in EMF.

Exam Review TexPoint fonts used in EMF. Exam Review Generics Definitions: hard & soft real-time Task/message classification based on criticality and invocation behavior Why special performance measures for RTES? What s deadline and where is

More information

Implementing Scheduling Algorithms. Real-Time and Embedded Systems (M) Lecture 9

Implementing Scheduling Algorithms. Real-Time and Embedded Systems (M) Lecture 9 Implementing Scheduling Algorithms Real-Time and Embedded Systems (M) Lecture 9 Lecture Outline Implementing real time systems Key concepts and constraints System architectures: Cyclic executive Microkernel

More information

What are Embedded Systems? Lecture 1 Introduction to Embedded Systems & Software

What are Embedded Systems? Lecture 1 Introduction to Embedded Systems & Software What are Embedded Systems? 1 Lecture 1 Introduction to Embedded Systems & Software Roopa Rangaswami October 9, 2002 Embedded systems are computer systems that monitor, respond to, or control an external

More information

EECS 571 Principles of Real-Time Embedded Systems. Lecture Note #10: More on Scheduling and Introduction of Real-Time OS

EECS 571 Principles of Real-Time Embedded Systems. Lecture Note #10: More on Scheduling and Introduction of Real-Time OS EECS 571 Principles of Real-Time Embedded Systems Lecture Note #10: More on Scheduling and Introduction of Real-Time OS Kang G. Shin EECS Department University of Michigan Mode Changes Changes in mission

More information

A Case Study for HRT-UML

A Case Study for HRT-UML A Case Study for HRT-UML Massimo D Alessandro, Silvia Mazzini, Francesco Donati Intecs HRT, Via L. Gereschi 32, I-56127 Pisa, Italy Silvia.Mazzini@pisa.intecs.it Abstract The Hard-Real-Time Unified Modelling

More information

Embedded Software Programming

Embedded Software Programming Embedded Software Programming Computer Science & Engineering Department Arizona State University Tempe, AZ 85287 Dr. Yann-Hang Lee yhlee@asu.edu (480) 727-7507 Event and Time-Driven Threads taskspawn (name,

More information

Scheduling Algorithm and Analysis

Scheduling Algorithm and Analysis Scheduling Algorithm and Analysis Model and Cyclic Scheduling (Module 27) Yann-Hang Lee Arizona State University yhlee@asu.edu (480) 727-7507 Summer 2014 Task Scheduling Schedule: to determine which task

More information

A Predictable RTOS. Mantis Cheng Department of Computer Science University of Victoria

A Predictable RTOS. Mantis Cheng Department of Computer Science University of Victoria A Predictable RTOS Mantis Cheng Department of Computer Science University of Victoria Outline I. Analysis of Timeliness Requirements II. Analysis of IO Requirements III. Time in Scheduling IV. IO in Scheduling

More information

Asynchronous Event Handling and Safety Critical Java

Asynchronous Event Handling and Safety Critical Java Asynchronous Event Handling and Safety Critical Java Andy Wellings* and Minseong Kim * Member of JSR 302 Structure Threads or event handling Why JSR 302 decided to use event handlers The JSR 302 concurrency

More information

Syllabus Instructors:

Syllabus Instructors: Introduction to Real-Time Systems Embedded Real-Time Software Lecture 1 Syllabus Instructors: Dongsoo S. Kim Office : Room 83345 (031-299-4642) E-mail : dskim@iupui.edu Office Hours: by appointment 2 Syllabus

More information

Real-time Support in Operating Systems

Real-time Support in Operating Systems Real-time Support in Operating Systems Colin Perkins teaching/2003-2004/rtes4/lecture11.pdf Lecture Outline Overview of the rest of the module Real-time support in operating systems Overview of concepts

More information

SIDDHARTH GROUP OF INSTITUTIONS :: PUTTUR Siddharth Nagar, Narayanavanam Road QUESTION BANK (DESCRIPTIVE) UNIT I OPERATING SYSTEMS

SIDDHARTH GROUP OF INSTITUTIONS :: PUTTUR Siddharth Nagar, Narayanavanam Road QUESTION BANK (DESCRIPTIVE) UNIT I OPERATING SYSTEMS UNIT I OPERATING SYSTEMS 1. Write a short note about [6+6M] a) Time services b) Scheduling Mechanisms 2. a) Explain the overview of Threads and Tasks. [6M] b) Draw the structure of Micro kernel and explain

More information

Multiprocessor and Real- Time Scheduling. Chapter 10

Multiprocessor and Real- Time Scheduling. Chapter 10 Multiprocessor and Real- Time Scheduling Chapter 10 Classifications of Multiprocessor Loosely coupled multiprocessor each processor has its own memory and I/O channels Functionally specialized processors

More information

Resource Reservation & Resource Servers

Resource Reservation & Resource Servers Resource Reservation & Resource Servers Resource Reservation Application Hard real-time, Soft real-time, Others? Platform Hardware Resources: CPU cycles, memory blocks 1 Applications Hard-deadline tasks

More information

Software Architecture. Lecture 4

Software Architecture. Lecture 4 Software Architecture Lecture 4 Last time We discussed tactics to achieve architecture qualities We briefly surveyed architectural styles 23-Jan-08 http://www.users.abo.fi/lpetre/sa08/ 2 Today We check

More information

Time Triggered and Event Triggered; Off-line Scheduling

Time Triggered and Event Triggered; Off-line Scheduling Time Triggered and Event Triggered; Off-line Scheduling Real-Time Architectures -TUe Gerhard Fohler 2004 Mälardalen University, Sweden gerhard.fohler@mdh.se Real-time: TT and ET Gerhard Fohler 2004 1 Activation

More information

Enriching Enea OSE for Better Predictability Support

Enriching Enea OSE for Better Predictability Support Enriching Enea OSE for Better Predictability Support Master of Science Thesis Naveed Ul Mustafa naveedum@kth.se Stockholm, August 2011 Examiner: Ingo Sander KTH ingo@kth.se Supervisor: Mehrdad Saadatmand

More information

IN4343 Real-Time Systems

IN4343 Real-Time Systems IN4343 Real-Time Systems Koen Langendoen, TA (TBD) 2017-2018 Delft University of Technology Challenge the future Course outline Real-time systems Lectures theory instruction Exam Reinder Bril TU/e Practicum

More information

Subject Name: OPERATING SYSTEMS. Subject Code: 10EC65. Prepared By: Kala H S and Remya R. Department: ECE. Date:

Subject Name: OPERATING SYSTEMS. Subject Code: 10EC65. Prepared By: Kala H S and Remya R. Department: ECE. Date: Subject Name: OPERATING SYSTEMS Subject Code: 10EC65 Prepared By: Kala H S and Remya R Department: ECE Date: Unit 7 SCHEDULING TOPICS TO BE COVERED Preliminaries Non-preemptive scheduling policies Preemptive

More information

Multiprocessor and Real-Time Scheduling. Chapter 10

Multiprocessor and Real-Time Scheduling. Chapter 10 Multiprocessor and Real-Time Scheduling Chapter 10 1 Roadmap Multiprocessor Scheduling Real-Time Scheduling Linux Scheduling Unix SVR4 Scheduling Windows Scheduling Classifications of Multiprocessor Systems

More information

Real Time Operating Systems and Middleware

Real Time Operating Systems and Middleware Real Time Operating Systems and Middleware Introduction to Real-Time Systems Luca Abeni abeni@disi.unitn.it Credits: Luigi Palopoli, Giuseppe Lipari, Marco Di Natale, and Giorgio Buttazzo Scuola Superiore

More information

Reference Model and Scheduling Policies for Real-Time Systems

Reference Model and Scheduling Policies for Real-Time Systems ESG Seminar p.1/42 Reference Model and Scheduling Policies for Real-Time Systems Mayank Agarwal and Ankit Mathur Dept. of Computer Science and Engineering, Indian Institute of Technology Delhi ESG Seminar

More information

Concurrent activities in daily life. Real world exposed programs. Scheduling of programs. Tasks in engine system. Engine system

Concurrent activities in daily life. Real world exposed programs. Scheduling of programs. Tasks in engine system. Engine system Real world exposed programs Programs written to interact with the real world, outside the computer Programs handle input and output of data in pace matching the real world processes Necessitates ability

More information

Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institution of Technology, IIT Delhi

Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institution of Technology, IIT Delhi Embedded Systems Dr. Santanu Chaudhury Department of Electrical Engineering Indian Institution of Technology, IIT Delhi Lecture - 20 Fundamentals of Embedded Operating Systems In today s class, we shall

More information

Resource-bound process algebras for Schedulability and Performance Analysis of Real-Time and Embedded Systems

Resource-bound process algebras for Schedulability and Performance Analysis of Real-Time and Embedded Systems Resource-bound process algebras for Schedulability and Performance Analysis of Real-Time and Embedded Systems Insup Lee 1, Oleg Sokolsky 1, Anna Philippou 2 1 RTG (Real-Time Systems Group) Department of

More information

Overall Structure of RT Systems

Overall Structure of RT Systems Course Outline Introduction Characteristics of RTS Real Time Operating Systems (RTOS) OS support: scheduling, resource handling Real Time Programming Languages Language support, e.g. Ada tasking Scheduling

More information

Department of Computer Science Institute for System Architecture, Operating Systems Group REAL-TIME MICHAEL ROITZSCH OVERVIEW

Department of Computer Science Institute for System Architecture, Operating Systems Group REAL-TIME MICHAEL ROITZSCH OVERVIEW Department of Computer Science Institute for System Architecture, Operating Systems Group REAL-TIME MICHAEL ROITZSCH OVERVIEW 2 SO FAR talked about in-kernel building blocks: threads memory IPC drivers

More information

Fall 2015 COMP Operating Systems. Lab 06

Fall 2015 COMP Operating Systems. Lab 06 Fall 2015 COMP 3511 Operating Systems Lab 06 Outline Monitor Deadlocks Logical vs. Physical Address Space Segmentation Example of segmentation scheme Paging Example of paging scheme Paging-Segmentation

More information

Lecture 3. Introduction to Real-Time kernels. Real-Time Systems

Lecture 3. Introduction to Real-Time kernels. Real-Time Systems Real-Time Systems Lecture 3 Introduction to Real-Time kernels Task States Generic architecture of Real-Time kernels Typical structures and functions of Real-Time kernels Last lecture (2) Computational

More information

A TimeSys Perspective on the Linux Preemptible Kernel Version 1.0. White Paper

A TimeSys Perspective on the Linux Preemptible Kernel Version 1.0. White Paper A TimeSys Perspective on the Linux Preemptible Kernel Version 1.0 White Paper A TimeSys Perspective on the Linux Preemptible Kernel A White Paper from TimeSys Corporation Introduction One of the most basic

More information

Real-Time Component Software. slide credits: H. Kopetz, P. Puschner

Real-Time Component Software. slide credits: H. Kopetz, P. Puschner Real-Time Component Software slide credits: H. Kopetz, P. Puschner Overview OS services Task Structure Task Interaction Input/Output Error Detection 2 Operating System and Middleware Application Software

More information

Learning Outcomes. Scheduling. Is scheduling important? What is Scheduling? Application Behaviour. Is scheduling important?

Learning Outcomes. Scheduling. Is scheduling important? What is Scheduling? Application Behaviour. Is scheduling important? Learning Outcomes Scheduling Understand the role of the scheduler, and how its behaviour influences the performance of the system. Know the difference between I/O-bound and CPU-bound tasks, and how they

More information

Time Handling in Programming Language

Time Handling in Programming Language CSE 237B Fall 2009 Time Handling in Programming Language Rajesh Gupta University of California, San Diego System Characteristics Complexity in function (and in size) Concurrent control of separate components

More information

A Framework for Real-Time Utilities for Ada 2005

A Framework for Real-Time Utilities for Ada 2005 A Framework for Real-Time Utilities for Ada 2005 A.J. Wellings and A. Burns Department of Computer Science University of York, UK {andy,burns}@cs.york.ac.uk Abstract Modernlarge real-time systems are becoming

More information

4/6/2011. Informally, scheduling is. Informally, scheduling is. More precisely, Periodic and Aperiodic. Periodic Task. Periodic Task (Contd.

4/6/2011. Informally, scheduling is. Informally, scheduling is. More precisely, Periodic and Aperiodic. Periodic Task. Periodic Task (Contd. So far in CS4271 Functionality analysis Modeling, Model Checking Timing Analysis Software level WCET analysis System level Scheduling methods Today! erformance Validation Systems CS 4271 Lecture 10 Abhik

More information

ECE519 Advanced Operating Systems

ECE519 Advanced Operating Systems IT 540 Operating Systems ECE519 Advanced Operating Systems Prof. Dr. Hasan Hüseyin BALIK (10 th Week) (Advanced) Operating Systems 10. Multiprocessor, Multicore and Real-Time Scheduling 10. Outline Multiprocessor

More information

Overview of Scheduling a Mix of Periodic and Aperiodic Tasks

Overview of Scheduling a Mix of Periodic and Aperiodic Tasks Overview of Scheduling a Mix of Periodic and Aperiodic Tasks Minsoo Ryu Department of Computer Science and Engineering 2 Naive approach Background scheduling Algorithms Under static priority policy (RM)

More information

Microkernel/OS and Real-Time Scheduling

Microkernel/OS and Real-Time Scheduling Chapter 12 Microkernel/OS and Real-Time Scheduling Hongwei Zhang http://www.cs.wayne.edu/~hzhang/ Ack.: this lecture is prepared in part based on slides of Lee, Sangiovanni-Vincentelli, Seshia. Outline

More information

Precedence Graphs Revisited (Again)

Precedence Graphs Revisited (Again) Precedence Graphs Revisited (Again) [i,i+6) [i+6,i+12) T 2 [i,i+6) [i+6,i+12) T 3 [i,i+2) [i+2,i+4) [i+4,i+6) [i+6,i+8) T 4 [i,i+1) [i+1,i+2) [i+2,i+3) [i+3,i+4) [i+4,i+5) [i+5,i+6) [i+6,i+7) T 5 [i,i+1)

More information

Programming Languages for Real-Time Systems. LS 12, TU Dortmund

Programming Languages for Real-Time Systems. LS 12, TU Dortmund Programming Languages for Real-Time Systems Prof. Dr. Jian-Jia Chen LS 12, TU Dortmund 20 June 2016 Prof. Dr. Jian-Jia Chen (LS 12, TU Dortmund) 1 / 41 References Slides are based on Prof. Wang Yi, Prof.

More information

Tasks. Task Implementation and management

Tasks. Task Implementation and management Tasks Task Implementation and management Tasks Vocab Absolute time - real world time Relative time - time referenced to some event Interval - any slice of time characterized by start & end times Duration

More information

Processes and Non-Preemptive Scheduling. Otto J. Anshus

Processes and Non-Preemptive Scheduling. Otto J. Anshus Processes and Non-Preemptive Scheduling Otto J. Anshus Threads Processes Processes Kernel An aside on concurrency Timing and sequence of events are key concurrency issues We will study classical OS concurrency

More information

SMD149 - Operating Systems

SMD149 - Operating Systems SMD149 - Operating Systems Roland Parviainen November 3, 2005 1 / 45 Outline Overview 2 / 45 Process (tasks) are necessary for concurrency Instance of a program in execution Next invocation of the program

More information

Ensuring Schedulability of Spacecraft Flight Software

Ensuring Schedulability of Spacecraft Flight Software Ensuring Schedulability of Spacecraft Flight Software Flight Software Workshop 7-9 November 2012 Marek Prochazka & Jorge Lopez Trescastro European Space Agency OUTLINE Introduction Current approach to

More information

Introduction to the ThreadX Debugger Plugin for the IAR Embedded Workbench C-SPYDebugger

Introduction to the ThreadX Debugger Plugin for the IAR Embedded Workbench C-SPYDebugger C-SPY plugin Introduction to the ThreadX Debugger Plugin for the IAR Embedded Workbench C-SPYDebugger This document describes the IAR C-SPY Debugger plugin for the ThreadX RTOS. The ThreadX RTOS awareness

More information

Simplified design flow for embedded systems

Simplified design flow for embedded systems Simplified design flow for embedded systems 2005/12/02-1- Reuse of standard software components Knowledge from previous designs to be made available in the form of intellectual property (IP, for SW & HW).

More information

OVERVIEW. Last Week: But if frequency of high priority task increases temporarily, system may encounter overload: Today: Slide 1. Slide 3.

OVERVIEW. Last Week: But if frequency of high priority task increases temporarily, system may encounter overload: Today: Slide 1. Slide 3. OVERVIEW Last Week: Scheduling Algorithms Real-time systems Today: But if frequency of high priority task increases temporarily, system may encounter overload: Yet another real-time scheduling algorithm

More information

CSE120 Principles of Operating Systems. Prof Yuanyuan (YY) Zhou Scheduling

CSE120 Principles of Operating Systems. Prof Yuanyuan (YY) Zhou Scheduling CSE120 Principles of Operating Systems Prof Yuanyuan (YY) Zhou Scheduling Announcement l Homework 2 due on October 26th l Project 1 due on October 27th 2 Scheduling Overview l In discussing process management

More information

Processes and Threads

Processes and Threads OPERATING SYSTEMS CS3502 Spring 2018 Processes and Threads (Chapter 2) Processes Two important types of dynamic entities in a computer system are processes and threads. Dynamic entities only exist at execution

More information

Introduction to Real-Time Communications. Real-Time and Embedded Systems (M) Lecture 15

Introduction to Real-Time Communications. Real-Time and Embedded Systems (M) Lecture 15 Introduction to Real-Time Communications Real-Time and Embedded Systems (M) Lecture 15 Lecture Outline Modelling real-time communications Traffic and network models Properties of networks Throughput, delay

More information

Analyzing Real-Time Systems

Analyzing Real-Time Systems Analyzing Real-Time Systems Reference: Burns and Wellings, Real-Time Systems and Programming Languages 17-654/17-754: Analysis of Software Artifacts Jonathan Aldrich Real-Time Systems Definition Any system

More information

CLOCK DRIVEN SCHEDULING

CLOCK DRIVEN SCHEDULING CHAPTER 4 By Radu Muresan University of Guelph Page 1 ENGG4420 CHAPTER 4 LECTURE 2 and 3 November 04 09 7:51 PM CLOCK DRIVEN SCHEDULING Clock driven schedulers make their scheduling decisions regarding

More information

Real-Time Systems. Lecture #4. Professor Jan Jonsson. Department of Computer Science and Engineering Chalmers University of Technology

Real-Time Systems. Lecture #4. Professor Jan Jonsson. Department of Computer Science and Engineering Chalmers University of Technology Real-Time Systems Lecture #4 Professor Jan Jonsson Department of Computer Science and Engineering Chalmers University of Technology Real-Time Systems Specification Resource management Mutual exclusion

More information

Embedded Systems. 6. Real-Time Operating Systems

Embedded Systems. 6. Real-Time Operating Systems Embedded Systems 6. Real-Time Operating Systems Lothar Thiele 6-1 Contents of Course 1. Embedded Systems Introduction 2. Software Introduction 7. System Components 10. Models 3. Real-Time Models 4. Periodic/Aperiodic

More information

Hardware-Software Codesign. 6. System Simulation

Hardware-Software Codesign. 6. System Simulation Hardware-Software Codesign 6. System Simulation Lothar Thiele 6-1 System Design specification system simulation (this lecture) (worst-case) perf. analysis (lectures 10-11) system synthesis estimation SW-compilation

More information

Extending UML-RT for Control System Modeling

Extending UML-RT for Control System Modeling American Journal of Applied Sciences 1 (4): 338-347, 2004 ISSN 1546-9239 Science Publications, 2004 Extending UML-RT for Control System Modeling Qimin Gao, L.J. Brown and L.F. Capretz Department of Electrical

More information

1. Introduction. Real-Time Systems. Initial intuition /1. Outline. 2016/17 UniPD / T. Vardanega 26/02/2017. Real-Time Systems 1

1. Introduction. Real-Time Systems. Initial intuition /1. Outline. 2016/17 UniPD / T. Vardanega 26/02/2017. Real-Time Systems 1 Real-Time Systems 1. Introduction Anno accademico 2016/17 Laurea magistrale in informatica Dipartimento di Matematica Università di Padova Tullio Vardanega Outline Initial intuition /1 1. Introduction

More information

PROCESS SCHEDULING II. CS124 Operating Systems Fall , Lecture 13

PROCESS SCHEDULING II. CS124 Operating Systems Fall , Lecture 13 PROCESS SCHEDULING II CS124 Operating Systems Fall 2017-2018, Lecture 13 2 Real-Time Systems Increasingly common to have systems with real-time scheduling requirements Real-time systems are driven by specific

More information

Lecture 5 / Chapter 6 (CPU Scheduling) Basic Concepts. Scheduling Criteria Scheduling Algorithms

Lecture 5 / Chapter 6 (CPU Scheduling) Basic Concepts. Scheduling Criteria Scheduling Algorithms Operating System Lecture 5 / Chapter 6 (CPU Scheduling) Basic Concepts Scheduling Criteria Scheduling Algorithms OS Process Review Multicore Programming Multithreading Models Thread Libraries Implicit

More information

Reservation-Based Scheduling for IRQ Threads

Reservation-Based Scheduling for IRQ Threads Reservation-Based Scheduling for IRQ Threads Luca Abeni, Nicola Manica, Luigi Palopoli luca.abeni@unitn.it, nicola.manica@gmail.com, palopoli@dit.unitn.it University of Trento, Trento - Italy Reservation-Based

More information

OPERATING SYSTEM CONCEPTS UNDERSTAND!!! IMPLEMENT!!! ANALYZE!!!

OPERATING SYSTEM CONCEPTS UNDERSTAND!!! IMPLEMENT!!! ANALYZE!!! OPERATING SYSTEM CONCEPTS UNDERSTAND!!! IMPLEMENT!!! Processor Management Memory Management IO Management File Management Multiprogramming Protection and Security Network Management UNDERSTAND!!! IMPLEMENT!!!

More information

CS 571 Operating Systems. Midterm Review. Angelos Stavrou, George Mason University

CS 571 Operating Systems. Midterm Review. Angelos Stavrou, George Mason University CS 571 Operating Systems Midterm Review Angelos Stavrou, George Mason University Class Midterm: Grading 2 Grading Midterm: 25% Theory Part 60% (1h 30m) Programming Part 40% (1h) Theory Part (Closed Books):

More information

DUH! Deadlocks. Concurrency Issues. The TENEX Case. If a process requests all systems buffers, operator console tries to print an error message

DUH! Deadlocks. Concurrency Issues. The TENEX Case. If a process requests all systems buffers, operator console tries to print an error message 1 Concurrency Issues Past lectures: Problem: Safely coordinate access to shared resource Solutions: Use semaphores, monitors, locks, condition variables Coordinate access within shared objects Deadlocks

More information

EE458 - Embedded Systems Modularization

EE458 - Embedded Systems Modularization EE458 - Embedded Systems Modularization Outline Decomposing Applications Final Projects References RTC: Chapter 14 1 Decomposing Applications How do we break an application into concurrent tasks? How do

More information

Multiprocessor scheduling

Multiprocessor scheduling Chapter 10 Multiprocessor scheduling When a computer system contains multiple processors, a few new issues arise. Multiprocessor systems can be categorized into the following: Loosely coupled or distributed.

More information

Frequently Asked Questions about Real-Time

Frequently Asked Questions about Real-Time FAQ: RTX64 2013 Frequently Asked Questions about Real-Time What is Real-Time? Real-time describes an application which requires a response to an event within some small upper bounded time frame. Typically,

More information

Document downloaded from: http://hdl.handle.net/10251/38978 This paper must be cited as: Sáez Barona, S.; Crespo, A. (2013). Deferred setting of scheduling attributes in Ada 2012. Ada Letters. 33(1):93-100.

More information

(b) External fragmentation can happen in a virtual memory paging system.

(b) External fragmentation can happen in a virtual memory paging system. Alexandria University Faculty of Engineering Electrical Engineering - Communications Spring 2015 Final Exam CS333: Operating Systems Wednesday, June 17, 2015 Allowed Time: 3 Hours Maximum: 75 points Note:

More information

Subsystem Hazard Analysis (SSHA)

Subsystem Hazard Analysis (SSHA) Subsystem Hazard Analysis (SSHA) c "!$#%! Examine subsystems to determine how their Normal performance Operational degradation Functional failure Unintended function Inadvertent function (proper function

More information

Commercial Real-time Operating Systems An Introduction. Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory

Commercial Real-time Operating Systems An Introduction. Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory Commercial Real-time Operating Systems An Introduction Swaminathan Sivasubramanian Dependable Computing & Networking Laboratory swamis@iastate.edu Outline Introduction RTOS Issues and functionalities LynxOS

More information

AUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel. Alexander Züpke, Marc Bommert, Daniel Lohmann

AUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel. Alexander Züpke, Marc Bommert, Daniel Lohmann AUTOBEST: A United AUTOSAR-OS And ARINC 653 Kernel Alexander Züpke, Marc Bommert, Daniel Lohmann alexander.zuepke@hs-rm.de, marc.bommert@hs-rm.de, lohmann@cs.fau.de Motivation Automotive and Avionic industry

More information

CPU Scheduling. CSE 2431: Introduction to Operating Systems Reading: Chapter 6, [OSC] (except Sections )

CPU Scheduling. CSE 2431: Introduction to Operating Systems Reading: Chapter 6, [OSC] (except Sections ) CPU Scheduling CSE 2431: Introduction to Operating Systems Reading: Chapter 6, [OSC] (except Sections 6.7.2 6.8) 1 Contents Why Scheduling? Basic Concepts of Scheduling Scheduling Criteria A Basic Scheduling

More information

Operating Systems and Networks Course: International University Bremen Date: Dr. Jürgen Schönwälder Deadline:

Operating Systems and Networks Course: International University Bremen Date: Dr. Jürgen Schönwälder Deadline: Operating Systems and Networks Course: 320202 International University Bremen Date: 2004-03-26 Dr. Jürgen Schönwälder Deadline: 2004-03-26 Midterm Examination Problem M.1: processes (10 points) Indicate

More information

Investigation of System Timing Concerns in Embedded Systems: Tool-based Analysis of AADL Models

Investigation of System Timing Concerns in Embedded Systems: Tool-based Analysis of AADL Models Investigation of System Timing Concerns in Embedded Systems: Tool-based Analysis of AADL Models Peter Feiler Software Engineering Institute phf@sei.cmu.edu 412-268-7790 2004 by Carnegie Mellon University

More information

Real-Time Operating Systems M. 9. Real-Time: Basic Concepts

Real-Time Operating Systems M. 9. Real-Time: Basic Concepts Real-Time Operating Systems M 9. Real-Time: Basic Concepts Notice The course material includes slides downloaded from:! http://codex.cs.yale.edu/avi/os-book/! and! (slides by Silberschatz, Galvin, and

More information

Outline of the talk. The egg and the hen Or, Which comes first: the problem or the solution? Challenges (2/6) Challenges (1/6) Recall of basics

Outline of the talk. The egg and the hen Or, Which comes first: the problem or the solution? Challenges (2/6) Challenges (1/6) Recall of basics The egg and the hen Or, Which comes first: the problem or the solution? Tullio Vardanega 2001-2002 Outline of the talk Challenges of embedded real-time systems Design for verifiability Problem modelling,

More information

DISTRIBUTED REAL-TIME SYSTEMS

DISTRIBUTED REAL-TIME SYSTEMS Distributed Systems Fö 11/12-1 Distributed Systems Fö 11/12-2 DISTRIBUTED REAL-TIME SYSTEMS What is a Real-Time System? 1. What is a Real-Time System? 2. Distributed Real Time Systems 3. Predictability

More information

Kernel Korner AEM: A Scalable and Native Event Mechanism for Linux

Kernel Korner AEM: A Scalable and Native Event Mechanism for Linux Kernel Korner AEM: A Scalable and Native Event Mechanism for Linux Give your application the ability to register callbacks with the kernel. by Frédéric Rossi In a previous article [ An Event Mechanism

More information

Non-Blocking Write Protocol NBW:

Non-Blocking Write Protocol NBW: Non-Blocking Write Protocol NBW: A Solution to a Real-Time Synchronization Problem By: Hermann Kopetz and Johannes Reisinger Presented By: Jonathan Labin March 8 th 2005 Classic Mutual Exclusion Scenario

More information

SE300 SWE Practices. Lecture 10 Introduction to Event- Driven Architectures. Tuesday, March 17, Sam Siewert

SE300 SWE Practices. Lecture 10 Introduction to Event- Driven Architectures. Tuesday, March 17, Sam Siewert SE300 SWE Practices Lecture 10 Introduction to Event- Driven Architectures Tuesday, March 17, 2015 Sam Siewert Copyright {c} 2014 by the McGraw-Hill Companies, Inc. All rights Reserved. Four Common Types

More information

Introduction to Embedded Systems

Introduction to Embedded Systems Introduction to Embedded Systems Edward A. Lee & Sanjit Seshia UC Berkeley EECS 124 Spring 2008 Copyright 2008, Edward A. Lee & Sanjit Seshia, All rights reserved Lecture 17: Concurrency 2: Threads Definition

More information

MaRTE-OS: Minimal Real-Time Operating System for Embedded Applications

MaRTE-OS: Minimal Real-Time Operating System for Embedded Applications MaRTE-OS: Minimal Real-Time Operating System for Embedded Applications FOSDEM 2009 Ada Developer Room Miguel Telleria de Esteban Daniel Sangorrin Universidad de Cantabria Computadores y Tiempo Real http://www.ctr.unican.es

More information

The different Unix contexts

The different Unix contexts The different Unix contexts User-level Kernel top half - System call, page fault handler, kernel-only process, etc. Software interrupt Device interrupt Timer interrupt (hardclock) Context switch code Transitions

More information

Implementing Sporadic Servers in Ada

Implementing Sporadic Servers in Ada Technical Report CMU/SEI-90-TR-6 ESD-90-TR-207 Implementing Sporadic Servers in Ada Brinkley Sprunt Lui Sha May 1990 Technical Report CMU/SEI-90-TR-6 ESD-90-TR-207 May 1990 Implementing Sporadic Servers

More information

Source EE 4770 Lecture Transparency. Formatted 16:43, 30 April 1998 from lsli

Source EE 4770 Lecture Transparency. Formatted 16:43, 30 April 1998 from lsli 17-3 17-3 Rate Monotonic Priority Assignment (RMPA) Method for assigning priorities with goal of meeting deadlines. Rate monotonic priority assignment does not guarantee deadlines will be met. A pure periodic

More information

Designing a Compositional Real-Time Operating System. Christoph Kirsch Universität Salzburg

Designing a Compositional Real-Time Operating System. Christoph Kirsch Universität Salzburg Designing a Compositional Real-Time Operating System Christoph Kirsch Universität Salzburg ARTIST Summer School Shanghai July 2008 tiptoe.cs.uni-salzburg.at # Silviu Craciunas* (Programming Model) Hannes

More information

OMG Smart Transducer Specification (I)

OMG Smart Transducer Specification (I) 1 OMG Smart Transducer Specification (I) H. Kopetz TU Wien July 2003 The Time-Triggered Architecture 2 Take Time from the Problem Domain And move it into the Solution Domain Basic Concepts 3 RT System

More information

Resource management. Real-Time Systems. Resource management. Resource management

Resource management. Real-Time Systems. Resource management. Resource management Real-Time Systems Specification Implementation Verification Mutual exclusion is a general problem that exists at several levels in a real-time system. Shared resources internal to the the run-time system:

More information

Module 20: Multi-core Computing Multi-processor Scheduling Lecture 39: Multi-processor Scheduling. The Lecture Contains: User Control.

Module 20: Multi-core Computing Multi-processor Scheduling Lecture 39: Multi-processor Scheduling. The Lecture Contains: User Control. The Lecture Contains: User Control Reliability Requirements of RT Multi-processor Scheduling Introduction Issues With Multi-processor Computations Granularity Fine Grain Parallelism Design Issues A Possible

More information

Multimedia Systems 2011/2012

Multimedia Systems 2011/2012 Multimedia Systems 2011/2012 System Architecture Prof. Dr. Paul Müller University of Kaiserslautern Department of Computer Science Integrated Communication Systems ICSY http://www.icsy.de Sitemap 2 Hardware

More information

Processes (Tasks) and operating systems. Why multiple processes? Example: engine control

Processes (Tasks) and operating systems. Why multiple processes? Example: engine control Processes (Tasks) and operating systems Motivation for processes. The process abstraction. Context switching. Multitasking. Processes and UML. Operating systems Why multiple processes? Processes help us

More information

Course Description: This course includes the basic concepts of operating system

Course Description: This course includes the basic concepts of operating system Operating Systems Course Title: Operating Systems Full Marks:60+ 20+20 Course No: CSC259 Pass Marks: 24+8+8 Nature of the Course: Theory + Lab Credit Hrs: 3 Course Description: This course includes the

More information