[Oberon] ANN, Unix Oberon ports, release 2.4.3
fld at informatik.uni-bremen.de
Sun May 7 21:30:41 CEST 2006
I'm pleased to announce a new release of Unix ports of the Oberon
system. They can be used as guest systems on top of the following host
systems: Solaris/SPARC, Solaris/x86, Linux/x86 and MacOSX/ppc.
The ports will be available at the ETH server in a few days. They can
already be downloaded from:
The following has changed since release 2.3.8:
- boot loader
All Unix Oberon ports are now shipped with two boot loaders. The
has the threads extension support enabled. A second one
is compiled with threads support disabled. It can be used as a
fallback if in a future version of the host system the behaviour of
the threads (posix threads in Linux) changes again. The user can select
the needed boot loader by modifying the starup script. The Oberon system
still does not depend on threads!
The module Input contained code which enabled users to type german
umlauts on US ASCII keyboards. This code caused more problems than it
solved. As nowadays most systems are equipped with native keyboards
this code is no longer needed and got removed.
The arrow keys didn't work with num-lock or caps-lock on. solved.
Kernel got a more rubust garbage collector. The old version of the GC
trapped when it came upon illegal pointer values in records. This
should never happen, but some times, after reloading modules with
changed interfaces, it did.
- Compiler, Watson, OFormatter
The compilers now recognize keywords in lower case as well as in upper
case if the first keyword in a compilation unit (the keyword MODLULE)
is typed lower case.
a) Module Threads got a cleaner and less error prone interface and
conditions were added. A new module Semaphores which implements
Dykstra's P- and V-operations was added.
b) A race condition which happend when starting threads on multi-
processor machines got fixed.
For testing and demonstation look at
and the new SortDemo Gadget (see below).
In the Solaris ports the threads allways support priorities. To
enable priorities in the other ports, which use posix threads, the
boot loader must have root previlleges. This is the default in the
MacOS port but very dangerous on Linux systems.
- Sort Demo
To see how well the Oberon Gadgets work with preemptive multitasking
the sort demo, which was originally created by W. Weck and
J. Gutknecht, has been modified. It now runs in a Gadgets panel,
clever quicksort got added and the main activity (sorting) is performed
as background thread thus keeping the system alive while the demo is
running. This is done by using the Threads module of the Unix ports and
it shows that it is possible to use Gadgets in conjunction with threads
with minor effort. The modfications needed to adapt the sort demo to
threads are marked red in the sources (SortDemo.Mod, SortViews.Mod,
The display speed has been adjusted to allow the users to really see
what happens. The compared elements get highlighted and the speed
can be increased or decreased while the sorting is in progress. The users
can even select for animated swaps. Or they can start two or more sorts
in parallel and watch how different they do their work. The latter is also
done in a second panel (SortDemo2.Panel)
I think it's a really nice demo now which allows you to study the
behaviour of the sort algorythms in great detail.
The demo got tested on Solaris8/10 sparc. Solaris10 x86, Linux
(fedora3 and fedora5) and MacOSX on single processor machines as
well as on multi processor machines.
More information about the Oberon