SlideShare uma empresa Scribd logo
1 de 17
Baixar para ler offline
Outline
                     Introduction
                    Requirements
                       Scheduling
                   Existing RTOS




     Real Time Operating Systems (RTOS)
Presentation at the Seminar “Embedded System Architecture”
                at the University of Innsbruck”


                     Christian Baumann


                     November 12, 2009




                Christian Baumann    Real Time Operating Systems (RTOS)
Outline
                       Introduction
                      Requirements
                         Scheduling
                     Existing RTOS




Introduction

Requirements

Scheduling
   Static scheduling
   Dynamic scheduling
   Interrupt handling

Existing RTOS




                  Christian Baumann    Real Time Operating Systems (RTOS)
Outline
                           Introduction
                          Requirements
                             Scheduling
                         Existing RTOS


Difference to ordinary OS




      Time constraints
      Precedence of processes often is important




                     Christian Baumann     Real Time Operating Systems (RTOS)
Outline
                            Introduction
                           Requirements
                              Scheduling
                          Existing RTOS


Classification of real time systems [1]




       Hard, e.g. nuclear reactor control system
       Firm, e.g. food processing plant control system
       Soft, e.g. real time animations of visual displays




                       Christian Baumann    Real Time Operating Systems (RTOS)
Outline
                          Introduction
                         Requirements
                            Scheduling
                        Existing RTOS


Requirements [3]


      Multi-tasking and preemptable
      Dynamic deadline identification
      Predictable synchronization
      Sufficient Priority Levels
      Predefined latencies
          Task switching latency
          Interrupt latency
          Interrupt dispatch latency




                     Christian Baumann    Real Time Operating Systems (RTOS)
Outline
                          Introduction    Static scheduling
                         Requirements     Dynamic scheduling
                            Scheduling    Interrupt handling
                        Existing RTOS


Scheduling




      Static scheduling: complete schedule is computed before
      execution
      Dynamic scheduling: uses priorities assigned to the processes
      to dynamically decide the next executed process




                     Christian Baumann    Real Time Operating Systems (RTOS)
Outline
                            Introduction    Static scheduling
                           Requirements     Dynamic scheduling
                              Scheduling    Interrupt handling
                          Existing RTOS


Static scheduling




       As-soon-as-possible (ASAP) scheduling: Processes are
       executed at the earliest possible time
       As-late-as-possible (ALAP) scheduling: Given an overall
       latency constraint, it is equally possible to schedule processes
       at the latest opportunity




                       Christian Baumann    Real Time Operating Systems (RTOS)
Outline
                       Introduction    Static scheduling
                      Requirements     Dynamic scheduling
                         Scheduling    Interrupt handling
                     Existing RTOS


List scheduling




                    Figure: List scheduling [4]
                  Christian Baumann    Real Time Operating Systems (RTOS)
Outline
                          Introduction      Static scheduling
                         Requirements       Dynamic scheduling
                            Scheduling      Interrupt handling
                        Existing RTOS


Dynamic scheduling

      Rate-monotonic scheduling (RMS) or rate-monotonic analysis
      (RMA)
          Static priorities
          Priorities are assigned in order of process periods
          Process with the shortest period gets the highest priority
          The feasibility condition of a system of processes using RMS is:
                                    n
                                          Ci     √
                                                 n
                                             ≤ n( 2 − 1)                         (1)
                                          Ti
                                  i=1
                 √
           lim n( n 2 − 1) ≈ 0.69
          n→∞




                     Christian Baumann      Real Time Operating Systems (RTOS)
Outline
                          Introduction         Static scheduling
                         Requirements          Dynamic scheduling
                            Scheduling         Interrupt handling
                        Existing RTOS


Dynamic scheduling


      Earliest deadline first scheduling (EDF)
          Dynamic priorities
          It has been showed that if a set of processes can be scheduled
          by any algorithm, then it can be scheduled by EDF
          The feasibility condition of a system of processes using EDF is:
                                           n
                                                 Ci
                                                    ≤1                              (2)
                                                 Ti
                                          i=1




                     Christian Baumann         Real Time Operating Systems (RTOS)
Outline
                          Introduction    Static scheduling
                         Requirements     Dynamic scheduling
                            Scheduling    Interrupt handling
                        Existing RTOS


Priority inversion




                     Figure: Priority inversion [4]
                     Christian Baumann    Real Time Operating Systems (RTOS)
Outline
                           Introduction    Static scheduling
                          Requirements     Dynamic scheduling
                             Scheduling    Interrupt handling
                         Existing RTOS


Solutions


       Priority inheritance protocol: causes the process to execute a
       critical section with the highest priority of any process that
       shares the section
       Priority ceiling protocol: the shared resources are assigned
       priorities. Each resource gets a priority one higher than the
       highest priority of the process that shares the resource. The
       process that executes in the critical section inherits the
       priority of the resource during execution.




                      Christian Baumann    Real Time Operating Systems (RTOS)
Outline
                            Introduction    Static scheduling
                           Requirements     Dynamic scheduling
                              Scheduling    Interrupt handling
                          Existing RTOS


Interrupt handling


       The goal is to spend as little time as possible in the interrupt
       handler. Otherwise the interrupt system could subvert the
       scheduler.
       Interrupt system provides its own priorities , determined by
       hardware
       Priorities are higher than the priorities of user level system
       Interrupt hander are splint into:
            Interrupt service routine (ISR)
            Interrupt service thread (IST)



                       Christian Baumann    Real Time Operating Systems (RTOS)
Outline
                             Introduction
                            Requirements
                               Scheduling
                           Existing RTOS


eCos [2]


       Free, open source
       Development host: Linux, Windows
       Configuration tool to adapt RTOS (e.g. memory footprint,
       scheduler
       Two different schedulers:
           Both support priority based scheduling with 32 priority levels
           Bitmap scheduler: is somewhat more efficient and only allows
           one thread per priority level
           Multilevel queue (MLQ) scheduler: allows multiple threads to
           run at the same priority



                      Christian Baumann      Real Time Operating Systems (RTOS)
Outline
                           Introduction
                          Requirements
                             Scheduling
                         Existing RTOS


Windows CE [3]

      Commercial RTOS, developed by Microsoft in the late 1990
      Needs under a megabyte of memory
      3 main development platforms (Windows Mobile, Windows
      SmartPhone and Portable Media Center)
      The scheduler supports priority based scheduling with up to
      256 priority levels and round robin scheduling.
      Priority inversion protocol
      Fibers: is a unit of execution that must be manually scheduled
      by the application
      Equipment adaption layer


                      Christian Baumann    Real Time Operating Systems (RTOS)
Outline
                          Introduction
                         Requirements
                            Scheduling
                        Existing RTOS


References

      W. Ceneno and P. Laplante.
      An overview of real-time operating systems.
      JALA, pages 40–45, February 2007.
      Anthony J. Massa.
      Embedded Software Development with eCos.
      Prentice Hall, 2003.
      Ph.D. S. Baskiyar and N. Meghanathan.
      A survey of contemporary real-time operating systems.
      Informatica, 29:233–240, 2005.
      Wayne Wolf.
      High-Performance Embedded Computing.
      Morgan Kaufmann Publishers, 2006.
                     Christian Baumann    Real Time Operating Systems (RTOS)
Outline
                   Introduction
                  Requirements
                     Scheduling
                 Existing RTOS


Questions?




             Thank you for your attention.
                     Questions?




              Christian Baumann    Real Time Operating Systems (RTOS)

Mais conteúdo relacionado

Mais procurados

Real Time Operating Systems
Real Time Operating SystemsReal Time Operating Systems
Real Time Operating SystemsRohit Joshi
 
Chapter 19 - Real Time Systems
Chapter 19 - Real Time SystemsChapter 19 - Real Time Systems
Chapter 19 - Real Time SystemsWayne Jones Jnr
 
Components in real time systems
Components in real time systemsComponents in real time systems
Components in real time systemsSaransh Garg
 
REAL TIME OPERATING SYSTEM PART 1
REAL TIME OPERATING SYSTEM PART 1REAL TIME OPERATING SYSTEM PART 1
REAL TIME OPERATING SYSTEM PART 1Embeddedcraft Craft
 
Introduction to Real-Time Operating Systems
Introduction to Real-Time Operating SystemsIntroduction to Real-Time Operating Systems
Introduction to Real-Time Operating Systemscoolmirza143
 
RTOS for Embedded System Design
RTOS for Embedded System DesignRTOS for Embedded System Design
RTOS for Embedded System Designanand hd
 
Real Time Operating system (RTOS) - Embedded systems
Real Time Operating system (RTOS) - Embedded systemsReal Time Operating system (RTOS) - Embedded systems
Real Time Operating system (RTOS) - Embedded systemsHariharan Ganesan
 
REAL TIME OPERATING SYSTEM
REAL TIME OPERATING SYSTEMREAL TIME OPERATING SYSTEM
REAL TIME OPERATING SYSTEMprakrutijsh
 
Real Time Operating System
Real Time Operating SystemReal Time Operating System
Real Time Operating Systemvivek223
 
Real Time Operating System
Real Time Operating SystemReal Time Operating System
Real Time Operating SystemSharad Pandey
 
Real time operating systems (rtos) concepts 1
Real time operating systems (rtos) concepts 1Real time operating systems (rtos) concepts 1
Real time operating systems (rtos) concepts 1Abu Bakr Ramadan
 
Real-Time Scheduling
Real-Time SchedulingReal-Time Scheduling
Real-Time Schedulingsathish sak
 
RTOS- Real Time Operating Systems
RTOS- Real Time Operating Systems RTOS- Real Time Operating Systems
RTOS- Real Time Operating Systems Bayar shahab
 
presentation on real time operating system(RTOS's)
presentation on real time operating system(RTOS's)presentation on real time operating system(RTOS's)
presentation on real time operating system(RTOS's)chetan mudenoor
 

Mais procurados (20)

Real Time Operating Systems
Real Time Operating SystemsReal Time Operating Systems
Real Time Operating Systems
 
Real time system tsp
Real time system tspReal time system tsp
Real time system tsp
 
Chapter 19 - Real Time Systems
Chapter 19 - Real Time SystemsChapter 19 - Real Time Systems
Chapter 19 - Real Time Systems
 
Components in real time systems
Components in real time systemsComponents in real time systems
Components in real time systems
 
REAL TIME OPERATING SYSTEM PART 1
REAL TIME OPERATING SYSTEM PART 1REAL TIME OPERATING SYSTEM PART 1
REAL TIME OPERATING SYSTEM PART 1
 
RTOS
RTOSRTOS
RTOS
 
Introduction to Real-Time Operating Systems
Introduction to Real-Time Operating SystemsIntroduction to Real-Time Operating Systems
Introduction to Real-Time Operating Systems
 
RTOS for Embedded System Design
RTOS for Embedded System DesignRTOS for Embedded System Design
RTOS for Embedded System Design
 
Rtos
RtosRtos
Rtos
 
Real Time Operating system (RTOS) - Embedded systems
Real Time Operating system (RTOS) - Embedded systemsReal Time Operating system (RTOS) - Embedded systems
Real Time Operating system (RTOS) - Embedded systems
 
Real Time Operating Systems
Real Time Operating SystemsReal Time Operating Systems
Real Time Operating Systems
 
REAL TIME OPERATING SYSTEM
REAL TIME OPERATING SYSTEMREAL TIME OPERATING SYSTEM
REAL TIME OPERATING SYSTEM
 
Real Time Operating System
Real Time Operating SystemReal Time Operating System
Real Time Operating System
 
Real Time Operating System
Real Time Operating SystemReal Time Operating System
Real Time Operating System
 
Real time operating systems (rtos) concepts 1
Real time operating systems (rtos) concepts 1Real time operating systems (rtos) concepts 1
Real time operating systems (rtos) concepts 1
 
Rtos By Avanish Agarwal
Rtos By Avanish AgarwalRtos By Avanish Agarwal
Rtos By Avanish Agarwal
 
Rtos
RtosRtos
Rtos
 
Real-Time Scheduling
Real-Time SchedulingReal-Time Scheduling
Real-Time Scheduling
 
RTOS- Real Time Operating Systems
RTOS- Real Time Operating Systems RTOS- Real Time Operating Systems
RTOS- Real Time Operating Systems
 
presentation on real time operating system(RTOS's)
presentation on real time operating system(RTOS's)presentation on real time operating system(RTOS's)
presentation on real time operating system(RTOS's)
 

Destaque (19)

Real time Operating System
Real time Operating SystemReal time Operating System
Real time Operating System
 
Real Time OS For Embedded Systems
Real Time OS For Embedded SystemsReal Time OS For Embedded Systems
Real Time OS For Embedded Systems
 
RTOS - Real Time Operating Systems
RTOS - Real Time Operating SystemsRTOS - Real Time Operating Systems
RTOS - Real Time Operating Systems
 
Rtos Concepts
Rtos ConceptsRtos Concepts
Rtos Concepts
 
UNIT-I-RTOS and Concepts
UNIT-I-RTOS and ConceptsUNIT-I-RTOS and Concepts
UNIT-I-RTOS and Concepts
 
Unit 4 Real Time Operating System
Unit 4 Real Time Operating SystemUnit 4 Real Time Operating System
Unit 4 Real Time Operating System
 
Real Time Operating System Concepts
Real Time Operating System ConceptsReal Time Operating System Concepts
Real Time Operating System Concepts
 
RT linux
RT linuxRT linux
RT linux
 
Embedded System Basics
Embedded System BasicsEmbedded System Basics
Embedded System Basics
 
Vx works RTOS
Vx works RTOSVx works RTOS
Vx works RTOS
 
Network
NetworkNetwork
Network
 
PROFESSIONAL SLIDES
PROFESSIONAL SLIDESPROFESSIONAL SLIDES
PROFESSIONAL SLIDES
 
Basic functions & types of RTOS ES
Basic functions & types of  RTOS ESBasic functions & types of  RTOS ES
Basic functions & types of RTOS ES
 
How to choose an RTOS?
How to choose an RTOS?How to choose an RTOS?
How to choose an RTOS?
 
Operating system
Operating systemOperating system
Operating system
 
Rtos ameba
Rtos amebaRtos ameba
Rtos ameba
 
ucOS
ucOSucOS
ucOS
 
E rto
E rtoE rto
E rto
 
Operating systems
Operating systemsOperating systems
Operating systems
 

Semelhante a Rtos slides

Semelhante a Rtos slides (20)

Low-Latency Audio on Linux by Means of Real-Time Scheduling
Low-Latency Audio on Linux by Means of Real-Time SchedulingLow-Latency Audio on Linux by Means of Real-Time Scheduling
Low-Latency Audio on Linux by Means of Real-Time Scheduling
 
Linux Internals - Interview essentials 4.0
Linux Internals - Interview essentials 4.0Linux Internals - Interview essentials 4.0
Linux Internals - Interview essentials 4.0
 
Analysis of interrupt latencies in a real-time kernel
Analysis of interrupt latencies in a real-time kernelAnalysis of interrupt latencies in a real-time kernel
Analysis of interrupt latencies in a real-time kernel
 
Rtos 2
Rtos 2Rtos 2
Rtos 2
 
Rtos
RtosRtos
Rtos
 
What is operating system
What is operating systemWhat is operating system
What is operating system
 
What is operating system
What is operating systemWhat is operating system
What is operating system
 
rtos.ppt
rtos.pptrtos.ppt
rtos.ppt
 
Real Time Operating System
Real Time Operating SystemReal Time Operating System
Real Time Operating System
 
Rtos
RtosRtos
Rtos
 
RTAI - Earliest Deadline First
RTAI - Earliest Deadline FirstRTAI - Earliest Deadline First
RTAI - Earliest Deadline First
 
Real time-embedded-system-lec-02
Real time-embedded-system-lec-02Real time-embedded-system-lec-02
Real time-embedded-system-lec-02
 
Real time-embedded-system-lec-02
Real time-embedded-system-lec-02Real time-embedded-system-lec-02
Real time-embedded-system-lec-02
 
OVERVIEW OF RTOS
OVERVIEW OF RTOSOVERVIEW OF RTOS
OVERVIEW OF RTOS
 
Real time os(suga)
Real time os(suga) Real time os(suga)
Real time os(suga)
 
Testing real-time Linux. What to test and how
Testing real-time Linux. What to test and how Testing real-time Linux. What to test and how
Testing real-time Linux. What to test and how
 
RTOS
RTOSRTOS
RTOS
 
Bertrand Delsart Java R T S
Bertrand Delsart Java R T SBertrand Delsart Java R T S
Bertrand Delsart Java R T S
 
Making Linux do Hard Real-time
Making Linux do Hard Real-timeMaking Linux do Hard Real-time
Making Linux do Hard Real-time
 
pptonrtosbychetan001-140213003314-phpapp02.pdf
pptonrtosbychetan001-140213003314-phpapp02.pdfpptonrtosbychetan001-140213003314-phpapp02.pdf
pptonrtosbychetan001-140213003314-phpapp02.pdf
 

Último

Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024D Cloud Solutions
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 

Último (20)

Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024Artificial Intelligence & SEO Trends for 2024
Artificial Intelligence & SEO Trends for 2024
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 

Rtos slides

  • 1. Outline Introduction Requirements Scheduling Existing RTOS Real Time Operating Systems (RTOS) Presentation at the Seminar “Embedded System Architecture” at the University of Innsbruck” Christian Baumann November 12, 2009 Christian Baumann Real Time Operating Systems (RTOS)
  • 2. Outline Introduction Requirements Scheduling Existing RTOS Introduction Requirements Scheduling Static scheduling Dynamic scheduling Interrupt handling Existing RTOS Christian Baumann Real Time Operating Systems (RTOS)
  • 3. Outline Introduction Requirements Scheduling Existing RTOS Difference to ordinary OS Time constraints Precedence of processes often is important Christian Baumann Real Time Operating Systems (RTOS)
  • 4. Outline Introduction Requirements Scheduling Existing RTOS Classification of real time systems [1] Hard, e.g. nuclear reactor control system Firm, e.g. food processing plant control system Soft, e.g. real time animations of visual displays Christian Baumann Real Time Operating Systems (RTOS)
  • 5. Outline Introduction Requirements Scheduling Existing RTOS Requirements [3] Multi-tasking and preemptable Dynamic deadline identification Predictable synchronization Sufficient Priority Levels Predefined latencies Task switching latency Interrupt latency Interrupt dispatch latency Christian Baumann Real Time Operating Systems (RTOS)
  • 6. Outline Introduction Static scheduling Requirements Dynamic scheduling Scheduling Interrupt handling Existing RTOS Scheduling Static scheduling: complete schedule is computed before execution Dynamic scheduling: uses priorities assigned to the processes to dynamically decide the next executed process Christian Baumann Real Time Operating Systems (RTOS)
  • 7. Outline Introduction Static scheduling Requirements Dynamic scheduling Scheduling Interrupt handling Existing RTOS Static scheduling As-soon-as-possible (ASAP) scheduling: Processes are executed at the earliest possible time As-late-as-possible (ALAP) scheduling: Given an overall latency constraint, it is equally possible to schedule processes at the latest opportunity Christian Baumann Real Time Operating Systems (RTOS)
  • 8. Outline Introduction Static scheduling Requirements Dynamic scheduling Scheduling Interrupt handling Existing RTOS List scheduling Figure: List scheduling [4] Christian Baumann Real Time Operating Systems (RTOS)
  • 9. Outline Introduction Static scheduling Requirements Dynamic scheduling Scheduling Interrupt handling Existing RTOS Dynamic scheduling Rate-monotonic scheduling (RMS) or rate-monotonic analysis (RMA) Static priorities Priorities are assigned in order of process periods Process with the shortest period gets the highest priority The feasibility condition of a system of processes using RMS is: n Ci √ n ≤ n( 2 − 1) (1) Ti i=1 √ lim n( n 2 − 1) ≈ 0.69 n→∞ Christian Baumann Real Time Operating Systems (RTOS)
  • 10. Outline Introduction Static scheduling Requirements Dynamic scheduling Scheduling Interrupt handling Existing RTOS Dynamic scheduling Earliest deadline first scheduling (EDF) Dynamic priorities It has been showed that if a set of processes can be scheduled by any algorithm, then it can be scheduled by EDF The feasibility condition of a system of processes using EDF is: n Ci ≤1 (2) Ti i=1 Christian Baumann Real Time Operating Systems (RTOS)
  • 11. Outline Introduction Static scheduling Requirements Dynamic scheduling Scheduling Interrupt handling Existing RTOS Priority inversion Figure: Priority inversion [4] Christian Baumann Real Time Operating Systems (RTOS)
  • 12. Outline Introduction Static scheduling Requirements Dynamic scheduling Scheduling Interrupt handling Existing RTOS Solutions Priority inheritance protocol: causes the process to execute a critical section with the highest priority of any process that shares the section Priority ceiling protocol: the shared resources are assigned priorities. Each resource gets a priority one higher than the highest priority of the process that shares the resource. The process that executes in the critical section inherits the priority of the resource during execution. Christian Baumann Real Time Operating Systems (RTOS)
  • 13. Outline Introduction Static scheduling Requirements Dynamic scheduling Scheduling Interrupt handling Existing RTOS Interrupt handling The goal is to spend as little time as possible in the interrupt handler. Otherwise the interrupt system could subvert the scheduler. Interrupt system provides its own priorities , determined by hardware Priorities are higher than the priorities of user level system Interrupt hander are splint into: Interrupt service routine (ISR) Interrupt service thread (IST) Christian Baumann Real Time Operating Systems (RTOS)
  • 14. Outline Introduction Requirements Scheduling Existing RTOS eCos [2] Free, open source Development host: Linux, Windows Configuration tool to adapt RTOS (e.g. memory footprint, scheduler Two different schedulers: Both support priority based scheduling with 32 priority levels Bitmap scheduler: is somewhat more efficient and only allows one thread per priority level Multilevel queue (MLQ) scheduler: allows multiple threads to run at the same priority Christian Baumann Real Time Operating Systems (RTOS)
  • 15. Outline Introduction Requirements Scheduling Existing RTOS Windows CE [3] Commercial RTOS, developed by Microsoft in the late 1990 Needs under a megabyte of memory 3 main development platforms (Windows Mobile, Windows SmartPhone and Portable Media Center) The scheduler supports priority based scheduling with up to 256 priority levels and round robin scheduling. Priority inversion protocol Fibers: is a unit of execution that must be manually scheduled by the application Equipment adaption layer Christian Baumann Real Time Operating Systems (RTOS)
  • 16. Outline Introduction Requirements Scheduling Existing RTOS References W. Ceneno and P. Laplante. An overview of real-time operating systems. JALA, pages 40–45, February 2007. Anthony J. Massa. Embedded Software Development with eCos. Prentice Hall, 2003. Ph.D. S. Baskiyar and N. Meghanathan. A survey of contemporary real-time operating systems. Informatica, 29:233–240, 2005. Wayne Wolf. High-Performance Embedded Computing. Morgan Kaufmann Publishers, 2006. Christian Baumann Real Time Operating Systems (RTOS)
  • 17. Outline Introduction Requirements Scheduling Existing RTOS Questions? Thank you for your attention. Questions? Christian Baumann Real Time Operating Systems (RTOS)