[Oberon] ANN, Unix Oberon ports, release 2.4.3

Guenter Feldmann fld at informatik.uni-bremen.de
Sun May 7 21:30:41 CEST 2006

Hi Oberoners,

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
        default boot-loader
        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!

- Input.Mod

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

        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.

- Threads

        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,
	Sortd1Control.Mod, Sortd2Control.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.

-- Guenter

More information about the Oberon mailing list