Embedded Linux - Ready For Real-Time - Montavista.pdf

(394 KB) Pobierz
..
WHITE PAPER
Embedded Linux ®
Ready for Real-Time
Prepared by
Bill Weinberg, MontaVista Software Inc.
1
Title of White Paper
Copyright © 2001 MontaVista Software, Inc. All rights reserved. DATE
94161578.326.png 94161578.337.png
Embedded Linux – Ready for Real-Time – White Paper
Table of Contents
Introduction ..................................................................... 4
Embedded and Real-Time: Identity Crisis? .................... 4
Four Paths to Real-Time Linux ....................................... 6
Conclusion .................................................................... 10
Copyright © 2001 MontaVista Software, Inc. All rights reserved
2
Embedded Linux – Ready for Real-Time – White Paper
Abstract
Embedded Linux is changing the face of embedded development
and calling into question decades-old assumptions about how to
build systems with real-time requirements. This paper reviews
those assumptions and details how Linux can provide a viable
platform for a range of response-sensitive embedded applications.
Copyright © 2001 MontaVista Software, Inc. All rights reserved
3
Embedded Linux – Ready for Real-Time – White Paper
Embedded Linux –
Ready for Real-Time
Bill Weinberg and Claes Lundholm
1. Introduction
Embedded Linux is upsetting the established order in the development tools marketplace.
Developers are choosing Linux over traditional proprietary RTOS products for its superior
reliability, for its cost effectiveness, and for its open source and standard APIs. After almost 20
years of using products like VRTX, pSOS, and VxWorks, developers are eager to embrace Linux,
but express reservations about its ability to address real-time performance requirements. This
article responds to such concerns about Linux performance, questioning some basic assumptions
about embedded and real-time, and describing how Linux can be applied to solve a variety of
real-time problems.
2. Embedded and Real-Time: Identity Crisis?
A stroll down the aisles of a Real-Time show or the Embedded Systems Conference, or a
conversation with any number of embedded tools vendors, gives the casual observer the
impression that most if not all embedded systems applications present a hard real-time
requirement.
Figure 1.: Popular assumptions about Embedded and Real-Time – a large intersection
Embedded equals real-time, real-time equals embedded – you can use the “other guys’” OS if
you don’t really have a real-time need.
In the authors’ experience, investigation of actual developer’s requirements paints a different
picture – perhaps 10-15% of all embedded applications have a any real-time requirement, and
perhaps half of those applications actually have a demonstrable need for hard real-time.
Copyright © 2001 MontaVista Software, Inc. All rights reserved
4
94161578.348.png 94161578.359.png 94161578.001.png 94161578.012.png 94161578.023.png 94161578.034.png 94161578.045.png 94161578.056.png 94161578.067.png 94161578.078.png 94161578.089.png 94161578.100.png 94161578.111.png 94161578.122.png 94161578.133.png 94161578.144.png 94161578.155.png 94161578.166.png 94161578.177.png 94161578.188.png 94161578.199.png 94161578.210.png 94161578.221.png 94161578.232.png 94161578.243.png 94161578.254.png 94161578.265.png 94161578.276.png 94161578.287.png 94161578.298.png 94161578.304.png 94161578.305.png 94161578.306.png 94161578.307.png 94161578.308.png 94161578.309.png 94161578.310.png 94161578.311.png 94161578.312.png 94161578.313.png 94161578.314.png 94161578.315.png 94161578.316.png 94161578.317.png 94161578.318.png 94161578.319.png 94161578.320.png 94161578.321.png 94161578.322.png 94161578.323.png 94161578.324.png 94161578.325.png 94161578.327.png 94161578.328.png 94161578.329.png 94161578.330.png 94161578.331.png 94161578.332.png 94161578.333.png 94161578.334.png 94161578.335.png 94161578.336.png 94161578.338.png 94161578.339.png 94161578.340.png 94161578.341.png 94161578.342.png 94161578.343.png 94161578.344.png 94161578.345.png 94161578.346.png 94161578.347.png 94161578.349.png 94161578.350.png 94161578.351.png 94161578.352.png 94161578.353.png 94161578.354.png 94161578.355.png 94161578.356.png 94161578.357.png 94161578.358.png 94161578.360.png 94161578.361.png 94161578.362.png 94161578.363.png 94161578.364.png 94161578.365.png 94161578.366.png 94161578.367.png 94161578.368.png 94161578.369.png 94161578.002.png 94161578.003.png 94161578.004.png 94161578.005.png 94161578.006.png 94161578.007.png 94161578.008.png 94161578.009.png 94161578.010.png 94161578.011.png 94161578.013.png 94161578.014.png 94161578.015.png 94161578.016.png 94161578.017.png 94161578.018.png 94161578.019.png 94161578.020.png 94161578.021.png 94161578.022.png 94161578.024.png 94161578.025.png 94161578.026.png 94161578.027.png 94161578.028.png 94161578.029.png 94161578.030.png 94161578.031.png 94161578.032.png 94161578.033.png 94161578.035.png 94161578.036.png 94161578.037.png 94161578.038.png 94161578.039.png 94161578.040.png 94161578.041.png 94161578.042.png 94161578.043.png 94161578.044.png 94161578.046.png 94161578.047.png 94161578.048.png 94161578.049.png 94161578.050.png 94161578.051.png 94161578.052.png 94161578.053.png 94161578.054.png 94161578.055.png 94161578.057.png 94161578.058.png 94161578.059.png 94161578.060.png 94161578.061.png 94161578.062.png 94161578.063.png 94161578.064.png 94161578.065.png 94161578.066.png 94161578.068.png 94161578.069.png 94161578.070.png 94161578.071.png 94161578.072.png 94161578.073.png 94161578.074.png 94161578.075.png 94161578.076.png 94161578.077.png 94161578.079.png 94161578.080.png 94161578.081.png 94161578.082.png 94161578.083.png 94161578.084.png 94161578.085.png 94161578.086.png 94161578.087.png 94161578.088.png 94161578.090.png 94161578.091.png 94161578.092.png 94161578.093.png 94161578.094.png 94161578.095.png 94161578.096.png 94161578.097.png 94161578.098.png 94161578.099.png 94161578.101.png 94161578.102.png 94161578.103.png 94161578.104.png 94161578.105.png 94161578.106.png 94161578.107.png 94161578.108.png 94161578.109.png 94161578.110.png 94161578.112.png 94161578.113.png 94161578.114.png 94161578.115.png 94161578.116.png 94161578.117.png 94161578.118.png 94161578.119.png 94161578.120.png 94161578.121.png 94161578.123.png 94161578.124.png 94161578.125.png 94161578.126.png 94161578.127.png
Embedded Linux – Ready for Real-Time – White Paper
Figure 2.: Market reality – most embedded designs are non or soft real-time
Moreover, many truly hard real-time applications fall outside the domain of traditional embedded.
The remaining majority of embedded applications benefits from responsiveness, but relies on
throughput to achieve design goals – “real-fast” or “just fast enough” suffices.
Many developers, regardless of the actual hard or soft real-time needs of their application,
choose to design in an RTOS as insurance, both against unanticipated current responsiveness
needs, and against anticipated future ones.
2.1 Faster Silicon, Same Slow World
While processor clock speeds double every 12 to 18 months, the speed of real world events has
not changed appreciably in the lifetime of the embedded microprocessor. Factory floor processes
do not proceed any faster, and rockets and planes broke the sound barrier while tubes still ran
the show. Human perception of sights and sounds has not accelerated in the last 50,000 years!
Whereas a decade ago, designers had to squeeze every last cycle out of an 8 MHz 16 bit
processor design, today’s developers have rather more luxury and slack in applying 300+ MHz 32
and 64 bit CPUs to comparable real-time challenges.
General-purpose software and systems suppliers, Microsoft and Sun in particular, have leveraged
these consequences of Moore’s Law to promote the use of WindowsNT/2000 and Solaris/SPARC
in real-time, mission critical applications. And, while there exist multiple options for real-time
responsiveness in Linux, these same trends are accelerating Linux acceptance in the real-
time/embedded design domain.
2.2 How Real-Time is Your RTOS?
Before you dismiss Linux out of hand for not functioning as a traditional RTOS, take a good look
at the embedded OS you are using today. Most, if not all, self-designated real-time operating
systems contain design flaws and other not-so-obvious challenges to delivering deterministic
response times:
Most popular RTOS products have grown so complex that their suppliers cannot provide provable
worst-case blocking times or latencies, forcing the vendors to publish only statistical data (and by
practice only best-case and nominal data). Lacking easy access to source code and difficult
commercial terms for evaluation, most developers cannot perform a proper benchmark themselves.
Copyright © 2001 MontaVista Software, Inc. All rights reserved
5
94161578.128.png 94161578.129.png 94161578.130.png 94161578.131.png 94161578.132.png 94161578.134.png 94161578.135.png 94161578.136.png 94161578.137.png 94161578.138.png 94161578.139.png 94161578.140.png 94161578.141.png 94161578.142.png 94161578.143.png 94161578.145.png 94161578.146.png 94161578.147.png 94161578.148.png 94161578.149.png 94161578.150.png 94161578.151.png 94161578.152.png 94161578.153.png 94161578.154.png 94161578.156.png 94161578.157.png 94161578.158.png 94161578.159.png 94161578.160.png 94161578.161.png 94161578.162.png 94161578.163.png 94161578.164.png 94161578.165.png 94161578.167.png 94161578.168.png 94161578.169.png 94161578.170.png 94161578.171.png 94161578.172.png 94161578.173.png 94161578.174.png 94161578.175.png 94161578.176.png 94161578.178.png 94161578.179.png 94161578.180.png 94161578.181.png 94161578.182.png 94161578.183.png 94161578.184.png 94161578.185.png 94161578.186.png 94161578.187.png 94161578.189.png 94161578.190.png 94161578.191.png 94161578.192.png 94161578.193.png 94161578.194.png 94161578.195.png 94161578.196.png 94161578.197.png 94161578.198.png 94161578.200.png 94161578.201.png 94161578.202.png 94161578.203.png 94161578.204.png 94161578.205.png 94161578.206.png 94161578.207.png 94161578.208.png 94161578.209.png 94161578.211.png 94161578.212.png 94161578.213.png 94161578.214.png 94161578.215.png 94161578.216.png 94161578.217.png 94161578.218.png 94161578.219.png 94161578.220.png 94161578.222.png 94161578.223.png 94161578.224.png 94161578.225.png 94161578.226.png 94161578.227.png 94161578.228.png 94161578.229.png 94161578.230.png 94161578.231.png 94161578.233.png 94161578.234.png 94161578.235.png 94161578.236.png 94161578.237.png 94161578.238.png 94161578.239.png 94161578.240.png 94161578.241.png 94161578.242.png 94161578.244.png 94161578.245.png 94161578.246.png 94161578.247.png 94161578.248.png 94161578.249.png 94161578.250.png 94161578.251.png 94161578.252.png 94161578.253.png 94161578.255.png 94161578.256.png 94161578.257.png 94161578.258.png 94161578.259.png 94161578.260.png 94161578.261.png 94161578.262.png 94161578.263.png 94161578.264.png 94161578.266.png 94161578.267.png 94161578.268.png 94161578.269.png 94161578.270.png 94161578.271.png 94161578.272.png 94161578.273.png 94161578.274.png 94161578.275.png 94161578.277.png 94161578.278.png 94161578.279.png 94161578.280.png 94161578.281.png 94161578.282.png 94161578.283.png 94161578.284.png 94161578.285.png 94161578.286.png 94161578.288.png 94161578.289.png 94161578.290.png 94161578.291.png 94161578.292.png 94161578.293.png 94161578.294.png 94161578.295.png 94161578.296.png 94161578.297.png 94161578.299.png 94161578.300.png 94161578.301.png 94161578.302.png 94161578.303.png
Zgłoś jeśli naruszono regulamin