diff options
Diffstat (limited to 'index.html')
-rw-r--r-- | index.html | 83 |
1 files changed, 63 insertions, 20 deletions
@@ -30,13 +30,26 @@ | |||
30 | kernel with focus on multiprocessor real-time scheduling and | 30 | kernel with focus on multiprocessor real-time scheduling and |
31 | synchronization. The Linux kernel is modified to support the sporadic task | 31 | synchronization. The Linux kernel is modified to support the sporadic task |
32 | model and modular scheduler plugins. Both partitioned and global scheduling | 32 | model and modular scheduler plugins. Both partitioned and global scheduling |
33 | is supported. In the current version (2007.1), scheduler plugins that | 33 | is supported. In the current version (2007.2), plugins for the following |
34 | implement various EDF variants and PFAIR scheduling are included. | 34 | scheduling policies are included: |
35 | <ul> | ||
36 | <li> Partitioned EDF (P-EDF)</li> | ||
37 | <li> Partitioned EDF with synchronization support (PSN-EDF)</li> | ||
38 | <li> Global EDF (G-EDF)</li> | ||
39 | <li> Global EDF with synchronization support (GSN-EDF)</li> | ||
40 | <li> Global non-preemptive EDF (G-NP-EDF)</li> | ||
41 | <li> Global Feedback-Controlled EDF (FC-EDF)</li> | ||
42 | <li> EDF for heterogeneous task systems (EDF-HSB)</li> | ||
43 | <li> PFAIR (both staggered and aligned quanta are supported)</li> | ||
44 | </ul> | ||
45 | |||
46 | The latest public release of LITMUS<sup>RT</sup> occurred on 10/29/2007. | ||
35 | </p> | 47 | </p> |
36 | 48 | ||
37 | <p class="nobottommargin"> | 49 | <!-- <p class="nobottommargin"> |
38 | <em>To be continued...</em> | 50 | <em>To be continued...</em> |
39 | </p> | 51 | </p> |
52 | --> | ||
40 | </div> | 53 | </div> |
41 | 54 | ||
42 | <h2 id="support">Support</h2> | 55 | <h2 id="support">Support</h2> |
@@ -142,7 +155,8 @@ | |||
142 | General Public License (GPL)</a>. | 155 | General Public License (GPL)</a>. |
143 | </p> | 156 | </p> |
144 | <p> | 157 | <p> |
145 | The current release (2007.1) consists of | 158 | The latest version of LITMUS<sup>RT</sup> is 2007.2 and was released on 10/29/2007. |
159 | It consists of | ||
146 | our Linux kernel modifications in the form of | 160 | our Linux kernel modifications in the form of |
147 | a patch against Linux 2.6.20, | 161 | a patch against Linux 2.6.20, |
148 | <span class="src">liblitmus</span>, the user-space API for real-time tasks, | 162 | <span class="src">liblitmus</span>, the user-space API for real-time tasks, |
@@ -152,32 +166,47 @@ | |||
152 | 166 | ||
153 | <p class="nobottommargin"> | 167 | <p class="nobottommargin"> |
154 | <ul> | 168 | <ul> |
155 | <li><a href="download/litmus-rt-2007.1.patch">litmus-rt-2007.1.patch</a> | 169 | <li><a href="download/litmus-rt-2007.2.patch">litmus-rt-2007.2.patch</a> |
156 | (266 KB)<br/> | 170 | (328 KB)<br/> |
157 | Applies | 171 | Applies |
158 | against Linux 2.6.20 (see <a href="#install">Section Install</a> below).</li> | 172 | against Linux 2.6.20 (see <a href="#install">Section Install</a> below).</li> |
159 | 173 | ||
160 | <li><a href="download/liblitmus-2007.1.tgz">liblitmus-2007.1.tgz</a> | 174 | <li><a href="download/liblitmus-2007.2.tgz">liblitmus-2007.2.tgz</a> |
161 | (6.8 KB) | 175 | (11 KB) |
162 | </li> | 176 | </li> |
163 | 177 | ||
164 | <li><a href="download/libso-2007.1.tgz">libso-2007.1.tgz</a> | 178 | <li><a href="download/libso-2007.2.tgz">libso-2007.2.tgz</a> |
165 | (16 KB) | 179 | (16 KB) |
166 | </li> | 180 | </li> |
167 | </ul> | 181 | </ul> |
168 | Please note that the current implementation is a <em>prototype</em> with | 182 | Please note that the current implementation is a <em>prototype</em> with |
169 | certain limitations. Most notably, it is not safe in a multiuser context, | 183 | certain limitations. Most notably, it is not secure in a multiuser context, |
170 | <em>i.e.</em>, real-time system calls do not check for superuser | 184 | <em>i.e.</em>, real-time system calls do not require superuser |
171 | privileges. Further, some resources (<em>e.g.</em> semaphores) that | 185 | privileges. Further, some resources (<em>e.g.</em> semaphores) that |
172 | should be dynamically allocated are allocated statically in the current version. | 186 | should be dynamically allocated are allocated statically in the current version. |
173 | </p> | 187 | </p> |
188 | |||
189 | <p class="nobottommargin"> | ||
190 | Old releases: | ||
191 | <ul> | ||
192 | <li> 2007.1 (May 2007)<br/> | ||
193 | Based on Linux 2.6.20. <br/> | ||
194 | <a href="download/litmus-rt-2007.1.patch">litmus-rt-2007.1.patch</a> | ||
195 | (266 KB) <br/> | ||
196 | <a href="download/liblitmus-2007.1.tgz">liblitmus-2007.1.tgz</a> | ||
197 | (6.8 KB) <br/> | ||
198 | <a href="download/libso-2007.1.tgz">libso-2007.1.tgz</a> | ||
199 | (16 KB) <br/> | ||
200 | </li> | ||
201 | </ul> | ||
202 | </p> | ||
174 | </div> | 203 | </div> |
175 | 204 | ||
176 | 205 | ||
177 | <h2 id="install">Installation</h2> | 206 | <h2 id="install">Installation</h2> |
178 | <div class="box"> | 207 | <div class="box"> |
179 | <p class="notopmargin"> | 208 | <p class="notopmargin"> |
180 | The current release of LITMUS<sup>RT</sup>, version 2007.1, consists of an | 209 | The current release of LITMUS<sup>RT</sup>, version 2007.2, consists of an |
181 | extension of the Linux kernel that adds support for the sporadic task | 210 | extension of the Linux kernel that adds support for the sporadic task |
182 | model, a scheduler plugin infrastructure, and some scheduler plugins, as | 211 | model, a scheduler plugin infrastructure, and some scheduler plugins, as |
183 | well as two user-space libraries that provide the LITMUS<sup>RT</sup> | 212 | well as two user-space libraries that provide the LITMUS<sup>RT</sup> |
@@ -202,11 +231,11 @@ cd $DIR | |||
202 | # get Linux 2.6.20 | 231 | # get Linux 2.6.20 |
203 | wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.bz2 | 232 | wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.bz2 |
204 | tar xjf linux-2.6.20.tar.bz2 | 233 | tar xjf linux-2.6.20.tar.bz2 |
205 | wget http://www.cs.unc.edu/~anderson/litmus-rt/download/litmus-rt-2007.1.patch | 234 | wget http://www.cs.unc.edu/~anderson/litmus-rt/download/litmus-rt-2007.2.patch |
206 | mv linux-2.6.20 litmus-rt | 235 | mv linux-2.6.20 litmus-rt |
207 | # apply the LITMUS RT patch | 236 | # apply the LITMUS RT patch |
208 | cd litmus-rt | 237 | cd litmus-rt |
209 | patch -p1 < ../litmus-rt-2007.1.patch | 238 | patch -p1 < ../litmus-rt-2007.2.patch |
210 | # create a working kernel configuration with HZ=1000 | 239 | # create a working kernel configuration with HZ=1000 |
211 | make gconfig | 240 | make gconfig |
212 | # compile the kernel | 241 | # compile the kernel |
@@ -223,7 +252,7 @@ make modules | |||
223 | class="src">rtsched</span> kernel parameter. | 252 | class="src">rtsched</span> kernel parameter. |
224 | </p> | 253 | </p> |
225 | <pre class="shell"> | 254 | <pre class="shell"> |
226 | rtsched={linux, pfair, part_edf, global_edf, global_edf_np, edf_hsb, gsn_edf, psn_edf} | 255 | rtsched={linux, pfair, part_edf, global_edf, global_edf_np, edf_hsb, gsn_edf, psn_edf, adaptive} |
227 | </pre> | 256 | </pre> |
228 | <p> | 257 | <p> |
229 | For example, on our test machine, we use the | 258 | For example, on our test machine, we use the |
@@ -246,8 +275,8 @@ initrd /boot/kernel-2.6.20-LITMUSRT.img | |||
246 | </p> | 275 | </p> |
247 | <pre class="shell"> | 276 | <pre class="shell"> |
248 | cd $DIR | 277 | cd $DIR |
249 | wget http://www.cs.unc.edu/~anderson/litmus-rt/download/liblitmus-2007.1.tgz | 278 | wget http://www.cs.unc.edu/~anderson/litmus-rt/download/liblitmus-2007.2.tgz |
250 | tar xzf liblitmus-2007.1.tgz | 279 | tar xzf liblitmus-2007.2.tgz |
251 | cd liblitmus | 280 | cd liblitmus |
252 | make | 281 | make |
253 | </pre> | 282 | </pre> |
@@ -260,8 +289,8 @@ make | |||
260 | </p> | 289 | </p> |
261 | <pre class="shell"> | 290 | <pre class="shell"> |
262 | cd $DIR | 291 | cd $DIR |
263 | wget http://www.cs.unc.edu/~anderson/litmus-rt/download/libso-2007.1.tgz | 292 | wget http://www.cs.unc.edu/~anderson/litmus-rt/download/libso-2007.2.tgz |
264 | tar xzf libso-2007.1.tgz | 293 | tar xzf libso-2007.2.tgz |
265 | cd libso | 294 | cd libso |
266 | make | 295 | make |
267 | make tests | 296 | make tests |
@@ -277,13 +306,27 @@ make tests | |||
277 | 306 | ||
278 | <h2 id="doc">Documentation</h2> | 307 | <h2 id="doc">Documentation</h2> |
279 | <div class="box"> | 308 | <div class="box"> |
309 | |||
280 | <p class="nomargin"> | 310 | <p class="nomargin"> |
311 | Most of the documentation has yet to be written. To get an overview of | ||
312 | the architecture of the kernel extension, we recommend to read the paper | ||
313 | <a href="http://www.cs.unc.edu/~anderson/papers/rtlws07.pdf">“LITMUS<sup>RT</sup>: | ||
314 | A Status Report”</a>. | ||
315 | <br/> | ||
316 | <br/> | ||
317 | Please contact <span class="src">bbb[AT]cs.unc.edu</span> if you have any | ||
318 | questions. | ||
319 | </p> | ||
320 | |||
321 | <!-- <p class="nomargin"> | ||
281 | <em>To be written...</em> | 322 | <em>To be written...</em> |
282 | <ul class="nomargin"> | 323 | <ul class="nomargin"> |
283 | <li>How to use LITMUS<sup>RT</sup></li> | 324 | <li>How to use LITMUS<sup>RT</sup></li> |
284 | <li>A real-time "Hello World!"</li> | 325 | <li>A real-time "Hello World!"</li> |
285 | </ul> | 326 | </ul> |
286 | </p> | 327 | </p> |
328 | |||
329 | --> | ||
287 | </div> | 330 | </div> |
288 | 331 | ||
289 | <hr/> | 332 | <hr/> |