|
|
|
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.
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
|