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

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 Schedulingtcucinotta
 
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 kernelGabriele Modena
 
What is operating system
What is operating systemWhat is operating system
What is operating systemvmahesmca
 
What is operating system
What is operating systemWhat is operating system
What is operating systemvmahesmca
 
ghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhjjjjjjjjjjjjjjj
ghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhjjjjjjjjjjjjjjjghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhjjjjjjjjjjjjjjj
ghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhjjjjjjjjjjjjjjjadugnanegero
 
embedded system CHAPTER four about design .pdf
embedded system CHAPTER four about design .pdfembedded system CHAPTER four about design .pdf
embedded system CHAPTER four about design .pdfabdulkerimaragaw936
 
RTAI - Earliest Deadline First
RTAI - Earliest Deadline FirstRTAI - Earliest Deadline First
RTAI - Earliest Deadline FirstStefano Bragaglia
 
OVERVIEW OF RTOS
OVERVIEW OF RTOSOVERVIEW OF RTOS
OVERVIEW OF RTOStaruian
 
Real time os(suga)
Real time os(suga) Real time os(suga)
Real time os(suga) Nagarajan
 
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 Chirag Jog
 
Bertrand Delsart Java R T S
Bertrand Delsart Java R T SBertrand Delsart Java R T S
Bertrand Delsart Java R T Sdeimos
 

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
 
ghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhjjjjjjjjjjjjjjj
ghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhjjjjjjjjjjjjjjjghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhjjjjjjjjjjjjjjj
ghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhjjjjjjjjjjjjjjj
 
Rtos
RtosRtos
Rtos
 
embedded system CHAPTER four about design .pdf
embedded system CHAPTER four about design .pdfembedded system CHAPTER four about design .pdf
embedded system CHAPTER four about design .pdf
 
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
 

Último

costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 

Último (20)

costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 

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)