Oberon [WiGu89] is a modular, single-threaded operating system for single-user operation of stand-alone workstations. It is used in daily work as well as in programming courses. As a stand-alone system, most Oberon implementations lack network support. This report describes two modules, which extend Oberon with concurrency and network capabilities. Module Threads implements the abstraction of threads, as well as mechanisms for thread synchronisation. Threads are scheduled preemptively and are useful to run network servers in the background. Module Network offers an abstract way to access networks. It is an abstraction corresponding to the transport layer of the OSI model [Tan89]. Network offers multiple logical hosts on one physical site and channels for communications between hosts. Actual network protocols have to be supplied in other modules. Channels can be extended and adapted to the needs of clients and servers.
Published as technical report 7