1 | @c |
---|
2 | @c COPYRIGHT (c) 1988-1998. |
---|
3 | @c On-Line Applications Research Corporation (OAR). |
---|
4 | @c All rights reserved. |
---|
5 | @c |
---|
6 | @c $Id$ |
---|
7 | @c |
---|
8 | |
---|
9 | @chapter Basic Information |
---|
10 | |
---|
11 | The questions in this category are basic questions about RTEMS. Where |
---|
12 | did it come from, why is it, what is it, when should you use it, etc.? |
---|
13 | |
---|
14 | @section What does RTEMS stand for? |
---|
15 | |
---|
16 | RTEMS is an anacronym for the Real-Time Executive for Multiprocessor |
---|
17 | Systems. |
---|
18 | |
---|
19 | Initially RTEMS stood for the Real-Time Executive for Missile Systems |
---|
20 | but as it became clear that the application domains that could use |
---|
21 | RTEMS extended far beyond missiles, the "M" changed to mean Military. |
---|
22 | At one point, there were both Ada and C implementations of RTEMS. The |
---|
23 | C version changed the "M" to mean Multiprocessor while the Ada version |
---|
24 | remained with the "M" meaning Military. |
---|
25 | |
---|
26 | @section What is RTEMS? |
---|
27 | |
---|
28 | RTEMS is a real-time executive which provides a high performance |
---|
29 | environment for embedded military applications including the |
---|
30 | following features: |
---|
31 | |
---|
32 | @itemize @bullet |
---|
33 | @item multitasking capabilities |
---|
34 | @item homogeneous and heterogeneous multiprocessor systems |
---|
35 | @item event-driven, priority-based, preemptive scheduling |
---|
36 | @item optional rate monotonic scheduling |
---|
37 | @item intertask communication and synchronization |
---|
38 | @item priority inheritance |
---|
39 | @item responsive interrupt management |
---|
40 | @item dynamic memory allocation |
---|
41 | @item high level of user configurability |
---|
42 | @end itemize |
---|
43 | |
---|
44 | XXX This feature list is weak these days. :) |
---|
45 | |
---|
46 | @section What standards does RTEMS support? |
---|
47 | |
---|
48 | The original "Classic" RTEMS API is based on the Real-Time Executive |
---|
49 | Interface Definition (RTEID) and the Open Real-Time Kernel Interface |
---|
50 | Definition (ORKID). RTEMS also includes support for POSIX threads |
---|
51 | and real-time extensions. |
---|
52 | |
---|
53 | With the addition of file system infrastructure, RTEMS supports |
---|
54 | about 70% of the POSIX 1003.1b-1996 standard. This standard |
---|
55 | defines the programming interfaces of standard UNIX. This means |
---|
56 | that much source code that works on UNIX, also works on RTEMS. |
---|
57 | |
---|
58 | @section What processors is RTEMS available for? |
---|
59 | |
---|
60 | RTEMS is available for the following processor families: |
---|
61 | |
---|
62 | @itemize @bullet |
---|
63 | @item Motorola MC68xxx |
---|
64 | @item Motorola MC683xx |
---|
65 | @item Motorola ColdFire |
---|
66 | @item Hitachi SH |
---|
67 | @item Intel i386 |
---|
68 | @item Intel i960 |
---|
69 | @item MIPS |
---|
70 | @item PowerPC |
---|
71 | @item SPARC |
---|
72 | @item AMD A29K |
---|
73 | @item Hewlett-Packard PA-RISC |
---|
74 | @end itemize |
---|
75 | |
---|
76 | In addition, there is a port to UNIX which can be used as a prototyping |
---|
77 | and simulation environment. |
---|
78 | |
---|
79 | @section Executive vs. Kernel vs. Operating System (RTOS) |
---|
80 | |
---|
81 | The developers of RTEMS developers use the terms executive and kernel |
---|
82 | interchangeably. In the embedded system community, the terms executive |
---|
83 | or kernel are generally used to refer to small operating systems. |
---|
84 | So we consider it proper to refer to RTEMS as an executive, a kernel, |
---|
85 | or an operating system. |
---|
86 | |
---|
87 | @section Where/why was it developed? |
---|
88 | |
---|
89 | RTEMS was developed by On-Line Applications Research Corporation (OAR) |
---|
90 | for the U.S. Army Missile Command. The original goal of RTEMS was |
---|
91 | to provide a portable, standards-based real-time executive for which |
---|
92 | source code was available and royalties were paid. |
---|
93 | |
---|
94 | In other words, RTEMS was open source before open source was cool. |
---|
95 | |
---|
96 | @section Are there no similar commercial products? |
---|
97 | |
---|
98 | Yes, but not all are based on standards and the open source philosophy. |
---|
99 | |
---|
100 | @section How can I get RTEMS? |
---|
101 | |
---|
102 | RTEMS is distributed by OAR Corporation via the Internet. Point your |
---|
103 | favorite browser at the following URL and following the link: |
---|
104 | |
---|
105 | @set OAR-URL http://www.OARcorp.com |
---|
106 | @ifset use-html |
---|
107 | @href{@value{OAR-URL},,@value{OAR-URL}} |
---|
108 | @end ifset |
---|
109 | @ifclear use-html |
---|
110 | @value{OAR-URL} |
---|
111 | @end ifclear |
---|
112 | |
---|
113 | @section What about support? |
---|
114 | |
---|
115 | OAR Corporation provides numerous services for RTEMS including support, |
---|
116 | training, and custom development. |
---|
117 | |
---|
118 | @section Are there any mailing lists? |
---|
119 | |
---|
120 | The primary RTEMS mailing list is @code{rtems-list@@oarcorp.com}. You |
---|
121 | can subscribe by sending a message with the word @b{subscribe} as the |
---|
122 | body to @code{rtems-list-request@@oarcorp.com}. |
---|
123 | |
---|
124 | @section Are there any license restrictions? |
---|
125 | |
---|
126 | RTEMS is licensed under a modified version of the GNU General Public License |
---|
127 | (GPL). The modification places no restrictions on the applications which |
---|
128 | use RTEMS but protects the interests of those who work on RTEMS. |
---|
129 | |
---|
130 | The TCP/IP network stack included with RTEMS is a port of the FreeBSD |
---|
131 | network stack and is licensed under different terms that also do not |
---|
132 | place restrictions on the application. |
---|
133 | |
---|
134 | @section Are there any export restrictions? |
---|
135 | |
---|
136 | No. |
---|
137 | |
---|
138 | |
---|