Enviar pesquisa
Carregar
Real Time Systems
•
19 gostaram
•
17,799 visualizações
Anil Kumar Pugalia
Seguir
Tecnologia
Negócios
Vista de apresentação de diapositivos
Denunciar
Compartilhar
Vista de apresentação de diapositivos
Denunciar
Compartilhar
1 de 41
Recomendados
Real time Operating System
Real time Operating System
Tech_MX
PART-1 : Mastering RTOS FreeRTOS and STM32Fx with Debugging
PART-1 : Mastering RTOS FreeRTOS and STM32Fx with Debugging
FastBit Embedded Brain Academy
Software Engineering Practice
Software Engineering Practice
Research & Development LAB QUEST Nawabshah
Real Time Operating system (RTOS) - Embedded systems
Real Time Operating system (RTOS) - Embedded systems
Hariharan Ganesan
Real time-system
Real time-system
ysush
Chapter 01 software engineering pressman
Chapter 01 software engineering pressman
RohitGoyal183
Real-Time Scheduling
Real-Time Scheduling
sathish sak
Cpu scheduling in operating System.
Cpu scheduling in operating System.
Ravi Kumar Patel
Recomendados
Real time Operating System
Real time Operating System
Tech_MX
PART-1 : Mastering RTOS FreeRTOS and STM32Fx with Debugging
PART-1 : Mastering RTOS FreeRTOS and STM32Fx with Debugging
FastBit Embedded Brain Academy
Software Engineering Practice
Software Engineering Practice
Research & Development LAB QUEST Nawabshah
Real Time Operating system (RTOS) - Embedded systems
Real Time Operating system (RTOS) - Embedded systems
Hariharan Ganesan
Real time-system
Real time-system
ysush
Chapter 01 software engineering pressman
Chapter 01 software engineering pressman
RohitGoyal183
Real-Time Scheduling
Real-Time Scheduling
sathish sak
Cpu scheduling in operating System.
Cpu scheduling in operating System.
Ravi Kumar Patel
Real Time Systems
Real Time Systems
Deepak John
Memory allocation for real time operating system
Memory allocation for real time operating system
Asma'a Lafi
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
IrtazaAfzal3
Defect Testing in Software Engineering SE20
Defect Testing in Software Engineering SE20
koolkampus
Making Linux do Hard Real-time
Making Linux do Hard Real-time
National Cheng Kung University
Principal source of optimization in compiler design
Principal source of optimization in compiler design
Rajkumar R
Distributed system architecture
Distributed system architecture
Yisal Khan
Peephole Optimization
Peephole Optimization
United International University
Chapter 4 Embedded System: Application and Domain Specific
Chapter 4 Embedded System: Application and Domain Specific
Moe Moe Myint
Linux device drivers
Linux device drivers
Emertxe Information Technologies Pvt Ltd
Unix ch03-03(2)
Unix ch03-03(2)
Vijay Chandraker
previous question solve of operating system.
previous question solve of operating system.
Ibrahim Khalil Shakik
Embedded C - Optimization techniques
Embedded C - Optimization techniques
Emertxe Information Technologies Pvt Ltd
Planning in AI(Partial order planning)
Planning in AI(Partial order planning)
Vicky Tyagi
Context switching
Context switching
DarakhshanNayyab
CS6611 Mobile Application Development Lab Manual-2018-19
CS6611 Mobile Application Development Lab Manual-2018-19
Gobinath Subramaniam
Agent architectures
Agent architectures
Antonio Moreno
Operating Systems - "Chapter 5 Process Synchronization"
Operating Systems - "Chapter 5 Process Synchronization"
Ra'Fat Al-Msie'deen
CPU Scheduling Algorithms
CPU Scheduling Algorithms
Shubhashish Punj
CPU Scheduling in OS Presentation
CPU Scheduling in OS Presentation
usmankiyani1
Processes
Processes
Anil Kumar Pugalia
Testing real-time Linux. What to test and how
Testing real-time Linux. What to test and how
Chirag Jog
Mais conteúdo relacionado
Mais procurados
Real Time Systems
Real Time Systems
Deepak John
Memory allocation for real time operating system
Memory allocation for real time operating system
Asma'a Lafi
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
IrtazaAfzal3
Defect Testing in Software Engineering SE20
Defect Testing in Software Engineering SE20
koolkampus
Making Linux do Hard Real-time
Making Linux do Hard Real-time
National Cheng Kung University
Principal source of optimization in compiler design
Principal source of optimization in compiler design
Rajkumar R
Distributed system architecture
Distributed system architecture
Yisal Khan
Peephole Optimization
Peephole Optimization
United International University
Chapter 4 Embedded System: Application and Domain Specific
Chapter 4 Embedded System: Application and Domain Specific
Moe Moe Myint
Linux device drivers
Linux device drivers
Emertxe Information Technologies Pvt Ltd
Unix ch03-03(2)
Unix ch03-03(2)
Vijay Chandraker
previous question solve of operating system.
previous question solve of operating system.
Ibrahim Khalil Shakik
Embedded C - Optimization techniques
Embedded C - Optimization techniques
Emertxe Information Technologies Pvt Ltd
Planning in AI(Partial order planning)
Planning in AI(Partial order planning)
Vicky Tyagi
Context switching
Context switching
DarakhshanNayyab
CS6611 Mobile Application Development Lab Manual-2018-19
CS6611 Mobile Application Development Lab Manual-2018-19
Gobinath Subramaniam
Agent architectures
Agent architectures
Antonio Moreno
Operating Systems - "Chapter 5 Process Synchronization"
Operating Systems - "Chapter 5 Process Synchronization"
Ra'Fat Al-Msie'deen
CPU Scheduling Algorithms
CPU Scheduling Algorithms
Shubhashish Punj
CPU Scheduling in OS Presentation
CPU Scheduling in OS Presentation
usmankiyani1
Mais procurados
(20)
Real Time Systems
Real Time Systems
Memory allocation for real time operating system
Memory allocation for real time operating system
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
PRESCRIPTIVE PROCESS MODEL(SOFTWARE ENGINEERING)
Defect Testing in Software Engineering SE20
Defect Testing in Software Engineering SE20
Making Linux do Hard Real-time
Making Linux do Hard Real-time
Principal source of optimization in compiler design
Principal source of optimization in compiler design
Distributed system architecture
Distributed system architecture
Peephole Optimization
Peephole Optimization
Chapter 4 Embedded System: Application and Domain Specific
Chapter 4 Embedded System: Application and Domain Specific
Linux device drivers
Linux device drivers
Unix ch03-03(2)
Unix ch03-03(2)
previous question solve of operating system.
previous question solve of operating system.
Embedded C - Optimization techniques
Embedded C - Optimization techniques
Planning in AI(Partial order planning)
Planning in AI(Partial order planning)
Context switching
Context switching
CS6611 Mobile Application Development Lab Manual-2018-19
CS6611 Mobile Application Development Lab Manual-2018-19
Agent architectures
Agent architectures
Operating Systems - "Chapter 5 Process Synchronization"
Operating Systems - "Chapter 5 Process Synchronization"
CPU Scheduling Algorithms
CPU Scheduling Algorithms
CPU Scheduling in OS Presentation
CPU Scheduling in OS Presentation
Semelhante a Real Time Systems
Processes
Processes
Anil Kumar Pugalia
Testing real-time Linux. What to test and how
Testing real-time Linux. What to test and how
Chirag Jog
RTOS
RTOS
Ramasubbu .P
Four Ways to Improve Linux Performance IEEE Webinar, R2.0
Four Ways to Improve Linux Performance IEEE Webinar, R2.0
Michael Christofferson
Rtos 2
Rtos 2
SahibZada Ibm
Bertrand Delsart Java R T S
Bertrand Delsart Java R T S
deimos
OpenStack Summit Tokyo - Know-how of Challlenging Deploy/Operation NTT DOCOMO...
OpenStack Summit Tokyo - Know-how of Challlenging Deploy/Operation NTT DOCOMO...
Masaaki Nakagawa
Analysis of Embedded Linux Literature Review Report
Analysis of Embedded Linux Literature Review Report
Sitakanta Mishra
RTDroid_Presentation
RTDroid_Presentation
Aswin Bharadwaj
FreeRTOS introduction
FreeRTOS introduction
Jegadeesh Vontlin
Threads
Threads
Anil Kumar Pugalia
Chapter 19 - Real Time Systems
Chapter 19 - Real Time Systems
Wayne Jones Jnr
RDMA programming design and case studies – for better performance distributed...
RDMA programming design and case studies – for better performance distributed...
NTT Software Innovation Center
Enea Enabling Real-Time in Linux Whitepaper
Enea Enabling Real-Time in Linux Whitepaper
Enea Software AB
PPT.pdf
PPT.pdf
RameshBabu461344
Using Embedded Linux for Infrastructure Systems
Using Embedded Linux for Infrastructure Systems
Yoshitake Kobayashi
Embedded Software Design
Embedded Software Design
Anil Kumar Pugalia
Introduction to DDS
Introduction to DDS
Rick Warren
pptonrtosbychetan001-140213003314-phpapp02.pdf
pptonrtosbychetan001-140213003314-phpapp02.pdf
JaganBehera8
rtos.ppt
rtos.ppt
karthik930637
Semelhante a Real Time Systems
(20)
Processes
Processes
Testing real-time Linux. What to test and how
Testing real-time Linux. What to test and how
RTOS
RTOS
Four Ways to Improve Linux Performance IEEE Webinar, R2.0
Four Ways to Improve Linux Performance IEEE Webinar, R2.0
Rtos 2
Rtos 2
Bertrand Delsart Java R T S
Bertrand Delsart Java R T S
OpenStack Summit Tokyo - Know-how of Challlenging Deploy/Operation NTT DOCOMO...
OpenStack Summit Tokyo - Know-how of Challlenging Deploy/Operation NTT DOCOMO...
Analysis of Embedded Linux Literature Review Report
Analysis of Embedded Linux Literature Review Report
RTDroid_Presentation
RTDroid_Presentation
FreeRTOS introduction
FreeRTOS introduction
Threads
Threads
Chapter 19 - Real Time Systems
Chapter 19 - Real Time Systems
RDMA programming design and case studies – for better performance distributed...
RDMA programming design and case studies – for better performance distributed...
Enea Enabling Real-Time in Linux Whitepaper
Enea Enabling Real-Time in Linux Whitepaper
PPT.pdf
PPT.pdf
Using Embedded Linux for Infrastructure Systems
Using Embedded Linux for Infrastructure Systems
Embedded Software Design
Embedded Software Design
Introduction to DDS
Introduction to DDS
pptonrtosbychetan001-140213003314-phpapp02.pdf
pptonrtosbychetan001-140213003314-phpapp02.pdf
rtos.ppt
rtos.ppt
Mais de Anil Kumar Pugalia
File System Modules
File System Modules
Anil Kumar Pugalia
Kernel Debugging & Profiling
Kernel Debugging & Profiling
Anil Kumar Pugalia
Processes
Processes
Anil Kumar Pugalia
System Calls
System Calls
Anil Kumar Pugalia
Introduction to Linux
Introduction to Linux
Anil Kumar Pugalia
Embedded C
Embedded C
Anil Kumar Pugalia
Playing with R L C Circuits
Playing with R L C Circuits
Anil Kumar Pugalia
Audio Drivers
Audio Drivers
Anil Kumar Pugalia
Video Drivers
Video Drivers
Anil Kumar Pugalia
Mobile Hacking using Linux Drivers
Mobile Hacking using Linux Drivers
Anil Kumar Pugalia
Shell Scripting
Shell Scripting
Anil Kumar Pugalia
References
References
Anil Kumar Pugalia
Functional Programming with LISP
Functional Programming with LISP
Anil Kumar Pugalia
Power of vi
Power of vi
Anil Kumar Pugalia
gcc and friends
gcc and friends
Anil Kumar Pugalia
"make" system
"make" system
Anil Kumar Pugalia
Hardware Design for Software Hackers
Hardware Design for Software Hackers
Anil Kumar Pugalia
RPM Building
RPM Building
Anil Kumar Pugalia
Linux User Space Debugging & Profiling
Linux User Space Debugging & Profiling
Anil Kumar Pugalia
Linux Network Management
Linux Network Management
Anil Kumar Pugalia
Mais de Anil Kumar Pugalia
(20)
File System Modules
File System Modules
Kernel Debugging & Profiling
Kernel Debugging & Profiling
Processes
Processes
System Calls
System Calls
Introduction to Linux
Introduction to Linux
Embedded C
Embedded C
Playing with R L C Circuits
Playing with R L C Circuits
Audio Drivers
Audio Drivers
Video Drivers
Video Drivers
Mobile Hacking using Linux Drivers
Mobile Hacking using Linux Drivers
Shell Scripting
Shell Scripting
References
References
Functional Programming with LISP
Functional Programming with LISP
Power of vi
Power of vi
gcc and friends
gcc and friends
"make" system
"make" system
Hardware Design for Software Hackers
Hardware Design for Software Hackers
RPM Building
RPM Building
Linux User Space Debugging & Profiling
Linux User Space Debugging & Profiling
Linux Network Management
Linux Network Management
Último
presentation ICT roal in 21st century education
presentation ICT roal in 21st century education
jfdjdjcjdnsjd
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
lior mazor
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Edi Saputra
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
Zilliz
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
debabhi2
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Drew Madelung
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
apidays
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Zilliz
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
apidays
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
MIND CTI
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
Andrey Devyatkin
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Deepika Singh
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
wesley chun
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Martijn de Jong
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
apidays
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
apidays
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Miguel Araújo
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
Zilliz
Último
(20)
presentation ICT roal in 21st century education
presentation ICT roal in 21st century education
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
Real Time Systems
1.
Real Time Systems ©
2010 Anil Kumar Pugalia <email@sarika-pugs.com> All Rights Reserved.
2.
What to Expect? W's
of Real Time & RTOS? Design Methodologies of RTOS Linux → Real Time Linux Various Latencies & Schedulers The “Real Time Patch” Path Real Time Applications Real Time Kernel Debugging Peek into a Co-Kernel © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 2 All Rights Reserved.
3.
Real Time Definition Correctness
depends on Functional Accuracy, and Timings of the Result produced Examples MPEG Decoder in your DVD player Call Response in your Mobile Phone © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 3 All Rights Reserved.
4.
Real Time Types Hard
Real Time Guaranteed to meet the response reqs Examples: Defense Systems, Vehicle Control Systems, Satellite Systems Soft Real Time Once in a while may not meet the response reqs Examples: Multimedia Devices, VoIP, CE devices An intermediate one: Firm Real Time Check: What is our Desktop? © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 4 All Rights Reserved.
5.
Is Real Time
needed? Deadline of Applications Reduces Quality or Unacceptable External Device Interactions with Apps Handling of Messages – Time-bound or not Application Task Priority Could it be needed higher than OS services Expressing delays & timeouts Is it needed to be fine-grained, say in usecs © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 5 All Rights Reserved.
6.
Real Time OS RTOS
Phylum Non Real-time Soft Real-time Hard Real-time Conflicting Requirements Real Time vs Rich Features of GPOS © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 6 All Rights Reserved.
7.
Expected Features of
an RTOS RTOS Requirements Strictly Enforced Task Priorities Fine-grained Preemption External Event Handling in Bounded time frame Which entails Predictable Low Interrupt Latency Predictable Low Scheduler Latency Priority Inheritance But wanted with Rich Features of Multi Tasking / Processing Interprocess Communication & Synchronization © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 7 All Rights Reserved.
8.
RTOS Design Methodologies Expand
an RTOS Make a GPOS Real Time capable Linux → Real Time Linux (Separate Session) The Co-Kernel Approach RT Apps in User Space Open Source Xenomai (Separate Session) Open Source RTAI RT Apps in Kernel Space RTLinux from Windriver © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 8 All Rights Reserved.
9.
Expand an RTOS Difficult
to ensure Determinism As all core capabilities must be fully preemptive Drivers for Hardware becomes very complex Existing Software cannot be used without changes High Maintenance Costs for Developers and Customers So, let's understand the other one w.r.t. Linux © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 9 All Rights Reserved.
10.
Linux → Real
Time Linux © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 10 All Rights Reserved.
11.
Why Linux is
non Real Time? High Interrupt Latency High Scheduler Latency OS services with indeterministic timing behaviour IPC, Memory Allocation, ... Linux is in general undeterministic in its response Virtual Memory, System Calls, … Later two are more of a better Coding Principles However, the first two are major Design Changes Let's take a closer look © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 11 All Rights Reserved.
12.
Real Time related
Concepts Latency Interrupt Scheduling Both are related to Preemption And Critical Sections © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 12 All Rights Reserved.
13.
Latency Visualization Interrupt
ISR Runs ISR Signals RT Process Event RT Process Runs Time t0 t1 t2 t3 Interrupt Interrupt Scheduling Latency Scheduling Latency Interrupt to Process Latency © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 13 All Rights Reserved.
14.
Latency Details Why Interrupt
Latency? Attributes of ISR Real Time Process Typically, high priority Otherwise, anyway it is a problem All 3 could potentially pose problems For Hard Real Time © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 14 All Rights Reserved.
15.
Possible Solutions Key Requirement
Schedule RT Process, within a given time Possible Helpers Remove / Reduce interrupt-disabled code (critical sections) Write ISRs really really minimal in execution time Real Time Apps with the highest priority May be higher than interrupts, softirqs, etc © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 15 All Rights Reserved.
16.
Preemption Visualization
Time User Space System Call Interface Kernel Space Process A Process B © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 16 All Rights Reserved.
17.
Preemption Details Higher Preemption
makes it more Real Time feasible Higher Priority (RT Tasks) could be scheduled in a more predictable time Sources of Preemption Latency Critical Section Processing Interrupt Context Processing © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 17 All Rights Reserved.
18.
Preemption & Critical
Sections Higher Preemption at the cost of reducing Critical Sections Isolate & Minimize the critical sections Protect them by disabling preemption spin_lock / spin_unlock; preempt_disable / preempt_enable Preemption Models for reducing Critical Sections Preempt only safe locations Entry & Exit of system calls, Return from interrupt processing, … Put explicit “allow preempt” code at these places Overall not an excellent approach Preempt everywhere except only the Critical Sections lock-breaking mechanism Getting achieved by instrumenting kernel for latency measurements And by fixing the longest latency code paths © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 18 All Rights Reserved.
19.
SMP World &
Critical Sections Uniprocessor case needs Protection from Interrupt Processing Exception Processing Multiprocessor with additional Multiple Kernel Threads Posed a bigger need than Real Time for reduced Critical Sections Real Time has gained benefits from SMP development, as well © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 19 All Rights Reserved.
20.
Real Time Kernel
Patch Critical Section Control is a major step We have achieved good Soft Real Time Performance Since 2.6.12, in single-digit milliseconds On reasonably fast x86 processor But without solving the Interrupt Latency Hard Real Time is not possible Recent Developments have majorly focused on this aspect A major Real Time Kernel Patch evolved Maintained by Ingo Molnar Available @ http://people.redhat.com/~mingo/realtime-preempt Could be downloaded using say, ketchup -G 2.6.22.1-rt9 And takes care of many more issues © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 20 All Rights Reserved.
21.
W's & How's
of RT Kernel Patch? Lot's of Questions What all does it contain? How to configure it? What should be used & when? And many more Before answering these, let's understand Schedulers in main-stream Kernel Preemption Support in main-stream Kernel © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 21 All Rights Reserved.
22.
Linux Schedulers Provides multi-tasking
capabilities by Time Slicing Preemption Based on various task priorities Specified by its scheduling policies Understands the following execution instances Kernel Thread User Process User Thread Linux Basic Scheduling Normal (SCHED_OTHER) – Fairness Scheduling Other Advanced Scheduling supported Round Robin (SCHED_RR) FIFO (SCHED_FIFO) All Schedulers are O(1) © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 22 All Rights Reserved.
23.
Linux Kernel Preemption
Levels None (PREEMPT_NONE) No forced preemption Overall throughput, on average, is good Voluntary (PREEMPT_VOLUNTARY) First stage of latency reduction Explicit preemption points are placed at strategic locations Standard (PREEMPT_DESKTOP) Preemption enabled everywhere except within critical sections Good for soft real-time applications, like audio, multimedia, … Kernel Parameter: preempt © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 23 All Rights Reserved.
24.
Preemption Level from
RT Patch Complete (PREEMPT_RT) Spin locks replaced with preembtable mutexes Preemption enabled everywhere except where protected by preempt_disable() Smoothes out variation in latency Allows a low & predictable latency for time- critical real-time applications © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 24 All Rights Reserved.
25.
Additional Real Time
Features ISRs as Kernel Tasks CONFIG_PREEMPT_HARDIRQ Schedulable & Preemptible Priority Assignment as Required Control Window: /proc/sys/kernel/hardirq_preemption Kernel Parameter: hardirq-preempt Preemptable Softirqs CONFIG_PREEMPT_SOFTIRQ All ran in the context of ksoftirqd → Now as individual threads A proper Linux task configured for real time Control Window: /proc/sys/kernel/softirq_preemption Kernel Parameter: softirq-preempt Certain Read-Copy-Update (RCU) sections preemptible CONFIG_PREEMPT_RCU RCU is synchronization primitive for frequently read data © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 25 All Rights Reserved.
26.
Creating a Real
Time Process #include <sched.h> #define MY_RT_PRIO 1 int main(...) { int old_policy; struct sched_param params = { .sched_priority = MY_RT_PRIO }; ... old_policy = sched_getscheduler(0); if (sched_setscheduler(0, SCHED_RR, ¶ms) == -1) handle_error(); … } © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 26 All Rights Reserved.
27.
RT Application: Do's
& Don'ts Have very few Real Time Processes Keep the RT Applications Short & Efficient Do not do heavy duty operations Like Memory Allocation, etc If essential, move to Initialization Sections Check for the working of the needed OS services Especially, if any RT Application has priority higher than that OS Service Test for the Desired Results © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 27 All Rights Reserved.
28.
Debugging Real Time
Kernel Soft Lockup CONFIG_DETECT_SOFTLOCKUP Unsafe Preemption Use Logging CONFIG_DEBUG_PREEMPT Deadlock Conditions Detection & Reporting CONFIG_DEBUG_DEADLOCK Deadlocks due to semaphores & spinlocks Runtime Control of Locking Mode CONFIG_DEBUG_RT_LOCKING_MODE Mutex back to Spinlock © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 28 All Rights Reserved.
29.
Tracing Real Time
Kernel Latency Tracing CONFIG_LATENCY_TRACE For data associated with last maximum preemption latency Kernel Window: /proc/latency_trace Function Call Tracing Inserts hooks to every function via gcc Gives function level details through Kernel Window: /proc/latency_trace Soon getting outdated by Ftrace © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 29 All Rights Reserved.
30.
Further Tracing RT
Kernel High Priority Process Wakeup CONFIG_WAKEUP_TIMING CONFIG_WAKEUP_LATENCY_HIST Or, Interrupt Off Timing CONFIG_CRITICAL_IRQSOFF_TIMING CONFIG_INTERRUPT_OFF_HIST Kernel Windows /proc/sys/kernel/preempt_max_latency /proc/latency_hist/interrupt_off_latency/CPU0 (0-10000us) Time spent with Preemption disabled (in critical sections) CONFIG_CRITICAL_PREEMPT_TIMING CONFIG_PREEMPT_OFF_HIST © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 30 All Rights Reserved.
31.
Real Time Linux
Myths & Realities With all these understood Is Linux really Hard Real Time? Can it be used in all Real Time Embedded activities? Can it be used in a Nuclear Reactor? Answers Can be used in most Real Time Embedded Applications, such as Robotics But cannot be “one-size-fits-it-all” approach to Real Time Is still a patch and hence not that extensibly tested Not all Device Drivers have yet been verified as Real Time safe More & more users (such as multimedia users), using the patch would verify more drivers, as they are the users noticing longer latency delays caused by these devices But even if they are, it is after all a GPOS Harder to verify a lack of bugs Could have potential bugs (from real time perspective) © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 31 All Rights Reserved.
32.
Co-Kernel Approach © 2010
Anil Kumar Pugalia <email@sarika-pugs.com> 32 All Rights Reserved.
33.
W's of Co-Kernel
Approach Do not convert the GPOS into an RTOS Place a small Real Time Kernel besides it On the same Hardware This would be the Co-Kernel Taking care of all Real Time needs Non-RT tasks are done by the GPOS So, © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 33 All Rights Reserved.
34.
What is a
Co-Kernel? Co-Kernel is a Subsystem Integrated with the main Kernel Handling the Real Time part © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 34 All Rights Reserved.
35.
Types of Co-Kernel
Approaches Two Prevalent Approaches Support running of RT Apps in User Space RT Apps to be embodied into Kernel Space Our Focus of Discussion is the First One With Xenomai in consideration © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 35 All Rights Reserved.
36.
Benefits of Xenomai Co-Kernel
or Core running under Kernel, licensed under GPL 2 Kernel Support Both 2.4 & 2.6 for with & without MMU systems Provides generic building blocks to implement RT APIs (skins) RT API Support for VxWorks, pSOS+, VRTX, uITRON, POSIX 1003.1b User Space i/f libraries: LGPL 2.1 Architecture Support PowerPC*, Blackfin, ARM, x86* Excellent Resources Documentation, Technical Articles, … Website: http://www.xenomai.org © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 36 All Rights Reserved.
37.
Xenomai Architecture
User Space User Space User Space User Space Application Application Application Application Linux syscall interface VxWorks pSOS VRTX POSIX ... Kernel-based Skin Skin Skin Skin Applications Abstract RTOS Core SAL / HAL Portability Layers I-Pipe © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 37 All Rights Reserved.
38.
Xenomai Components Interrupt Pipeline Hardware
& System Abstraction Layers Xenomai Core & Nucleus Xenomai Skins © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 38 All Rights Reserved.
39.
How Xenomai Works? Real
Time Shadow New Sets of System Calls Sharing Kernel Features By Domain Migration Real Time Driver Model Mediation © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 39 All Rights Reserved.
40.
What all have
we learnt? W's of Real Time & RTOS? Design Methodologies of RTOS Linux → Real Time Linux Various Latencies & Schedulers The “Real Time Patch” Path Real Time Applications Real Time Kernel Debugging Peek into a Co-Kernel © 2010 Anil Kumar Pugalia <email@sarika-pugs.com> 40 All Rights Reserved.
41.
Any Queries? © 2010
Anil Kumar Pugalia <email@sarika-pugs.com> 41 All Rights Reserved.