Home
License
Background
Screenshots
Features
Usage
Desktop
Download
Installation
Docs
   

Features

New features in release 3.1:

  • Now based on kernel 2.2.15
  • Real time X server
  • Assorted bug fixes and build problems corrected

Main features of release 3 (Mongoose):

  • SCHED_QOS - rate based scheduling guarantees (Quality of Service) with admission control and rate monotonic kernel scheduler
  • SCHED_IDLE and SCHED_PAUSE - background scheduling disciplines
  • Dual policy scheduling with arbitrary rate-based CPU limits for any policy
  • Shared reserves (activities) and policy inheritance - support for multithreaded RT servers
  • Named (persistent) and automatic reserves
  • Improved scheduling granularity (1ms)
  • Kernel events - register/notify multicast IPC mechanism
  • Scheduler trace facility
  • AutoQOS - applies Real Time parameters automatically, using kernel events and the user space autoqosd daemon
  • Authenticated sockets (UNIX domain only)
  • Authentication patch for X Windows
  • Afterstep window manager integration (authentication patch, button image patch, control and feedback via kernel events)
  • Command line control program for use in scripts (setp)
  • GUI control program, based on qps
  • QOS-aware sched_yield function

Notes for users of release 2 (Kangaroo):

The most requested feature for release 3 was a port to a newer version of Linux. It is therefore now based on kernel version 2.2.10 (previously 2.0.34), XFree86 3.3.6 (previously 3.3.2), Afterstep 1.8.0 (previously 1.7.x) and qps 1.9.5 (previously 1.5.0).

The kernel events system is now available as a separate patch which does not depend on the real time scheduler, to make it of more general use. It can also be turned off at compile time through a kernel configuration option.

The AutoQOS feature has been moved completely out of the kernel and is supported in user-space by the new sys-exec kernel event.

The old POSIX setscheduler interface has been replaced with a totally different set of system calls for manipulating reserves. Although a slight loss of POSIXness is regrettable, this was necessary because the old interface assumed implicitly that scheduling parameters are associated with processes, and not with an intermediate reserve object. This made the interface increasingly uncomfortable when dealing with multithreaded servers and many-to-one process-reserve relationships.

Limitations

Most of these missing features are being developed, but are not ready for inclusion in the current release.

  • The Linux-SRT client-server RT scheduling interface is only partially supported. The X Server prioritizes its clients correctly but does not return full accounting information to the kernel. Graphical applications are thus scheduled less accurately.
  • The periodic timer HZ has been increased to 1000, which will cause some strange behaviour with applications which rely on this (including old versions of ps). Qps is fine if you compile it on Linux-SRT.
  • The kernel timing granularity is still relatively poor. Something like UTIME's one-shot timers is needed to fix this ideally.
  • There are no access control checks (don't install Linux-SRT unless you trust the people with accounts on your machine; denial of service attacks are trivial). It is safe to install on a network, however. The access control architecture is not a major priority because most target systems are PCs with effectively only one user anyway. We propose to secure things later using Linux capability sets.
  • Reserves are not adapted by the system.
  • Memory pages are not locked down - make sure you have enough RAM.
Also see the system requirements.


Maintained by David Ingram (last updated 11 May 2000)
Send comments to
dmi@uk.research.att.com

Copyright 2000 - AT&T Laboratories Cambridge