0% found this document useful (0 votes)
24 views22 pages

Pengenalan RTOS

Membahas dasar Troubleshooting OS

Uploaded by

nasrul
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views22 pages

Pengenalan RTOS

Membahas dasar Troubleshooting OS

Uploaded by

nasrul
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

Introduction to Real-Time

Operating Systems
David Burnett
Schedule
 RTOS Background
 Designing an RTOS
 Designing with an RTOS
 Solving Problems
 Real-Time Products
Background: What’s a “Real
Time” System?
 When correctness of results depend
on content and time
 Hard or Soft: indicates how forgiving
the system is
What makes an OS Real-
Time?
 Predictable (possibly deterministic
behavior), that’s all

 Not necessarily fast


 Byproduct: mediocre throughputs
How do they work?
 Tasks are scheduled by OS
according to fixed priority (typically)

 Tasks can’t directly interact; they


use messages or shared memory &
semaphores to communicate
Designing an RTOS:
Typical Features
 Many POSIX Specs Exist
 No virtual memory (swap file)
 Shared memory capabilities
 High-resolution timer(s)
 Real-time signals/QoS
Designing an RTOS:
End Goal
 Have known switching & scheduling
overhead
 Avoid common problems like priority
inversion and deadlock
Designing an RTOS:
Common Problems
 Priority inversion
 High-level task stalled due to low-level
using shared resources, then a
medium-level task holding up the low-
level one
 Solution: Priority inheritance – give
low-level task high-level priority
 Mars Pathfinder had this problem
Designing an RTOS:
Common Problems (con’t)
 Deadlock
 Two semaphores locked out of order by
two tasks and circularly block each
other
 Solution: “Instant Inheritance”
implementation of Priority Ceiling
Protocol – semaphores possibly needed
by higher processes become priority
tokens
Designing with an RTOS:
What do you need?
 Task information
 Priorities for each task
 Worst-case runtime

 Best-case period

 Interference information
 Deadline Monotonic Analysis (DMA)
calculations
Designing with an RTOS:
Interference via DMA
 Finding maximum interference value
requires several bits of information:
 How often & for how long higher tasks will
step in
 How often & for how long lower tasks will use
higher semaphores to step in
 How often & for how long the OS scheduler
will check on things (depends on number of
tasks)
 How long the task switcher takes
Designing with an RTOS:
Interference via DMA(con’t)
 Add everything up: acceptable?
 Yes: that’s nice.
 No: find a faster OS or CPU, clean your
code, etc.
Solving Problems
 Logs
 Time Machines
 Memory Conservation
Real-Time Products
 VxWorks
 Support for equal priority
• Uses both priority-based preemption or
round-robin scheduling
 Basic set of task communication
 No memory protection

 Includes pSOS support


Real-Time Products
 QNX
 Small memory footprint
 Uses S/R/R task messaging

 Dynamically start & stop filesystems,


network, serial, etc.
 Bootable from ROM

 VxWorks-compatible
Real-Time Products
 QNX4
• Runs on x86 hardware
• Support for tons of peripherals
 QNX6 (aka Nucleus)
• Runs on a variety of architectures,
optionally without an MMU
• Increasing peripheral support
• Tiny memory footprint
• “Photon” window manager
Real-Time Products
 Linux
 Is Linux
 Runs on anything, even toasters

 Hardware support for anything

 Isn’t technically real-time, but can be


Real-Time Products
 Compared to something like QNX:
• Lacks easy ROM booting
• Lacks driver priority control
• Can emulate S/R/R message style
• Patches can make kernel preemptible and
improve timer resolution, so that’s nice
Real-Time Products
 Lots of details about the following RTOSes
available at:
http://www.mnis.fr/en/support/doc/rtos/book1.html
 Linux
 RTLinux
 RTAI
 RTEMS
 QNX
 VxWorks
 LynxOS
 And that’s not all!
Conclusion
 Buying an RTOS is worth it
As Always, There’s More
Information Available
More RTOS Details
http://www.mnis.fr/en/support/doc/rtos/book1.ht
ml
Embedded Design DMA Article
http://www.ee.washington.edu/class/590/peckol/d
oc/upload/dma.pdf
Other Sources
http://developers.cogentrts.com/cogent/cogentdocs/gl-defs.html
http://www.wordiq.com/definition/Real-time_operating_system
http://www.embedded.com/story/OEG20011016S0120
http://www.amd.com/epd/desiging/fusionpartners/prodbytype/10.operating
/41.rtos
http://www.acceleratedtechnology.com/embedded/nuc_rtos.html
http://www.qnx.com/
http://encyclopedia.thefreedictionary.com/pSOS
http://www.mapusoft.com/latest_info/Port_from_pSOS.html
http://www.elecdesign.com/Articles/ArticleID/3608/3608.html
http://msdn.microsoft.com/embedded/
http://www.linuxworld.com.au/index.php/id;1032707288;fp;16;fpid;0
http://www.linuxdevices.com/articles/AT7794196024.html
http://www.linuxgazette.com/node/view/115
http://www.ose.com/products/product.php?product_id=10

You might also like