From 73ee7a566f0d902a4c833e96e6c7fbb38a3bbec3 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Wed, 31 Aug 2016 20:04:52 +0200 Subject: Initial import --- index.rst | 99 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 index.rst (limited to 'index.rst') diff --git a/index.rst b/index.rst new file mode 100644 index 0000000..73183fe --- /dev/null +++ b/index.rst @@ -0,0 +1,99 @@ +Not just a footnote of history: EUMEL +===================================== + +:date: 2016-08-31 +:copyright: CC0_ + +.. _CC0: https://creativecommons.org/publicdomain/zero/1.0/ + +.. note:: + + This documentation is work-in-progress. If you want to contribute floppies, + manuals or documentation contact me via `email `__ or + file an issue on GitHub_. + +.. _GitHub: https://github.com/PromyLOPh/eumel/issues + +The *E*\ xtendable multi *u*\ ser *m*\ icroprocessor *EL*\ AN system (EUMEL) is +a microkernel-based operating system created in the 1980s. It is sometimes +refered to as *Liedtke 2* (L2), named after its inventor Jochen Liedtke. L3, +EUMEL’s successor, is still in use by a few legacy systems as of 2016. + +.. contents:: + +Overview +-------- + +EUMEL is different from conventional operating systems in a lot of ways. Some +of them were neccessary due to hardware constraints at that time and others +were deliberatly designed this way. EUMEL’s key features are: + +Hardware independence + The OS has *two* hardware abstraction layers, significantly improving its + portability. The first one, Software/Hardware (SHard), provides functions + for a concrete machine, such as the Olivietti M20, Amiga ST or IBM PC + AT/XT. EUMEL0 (Urlader), the second layer, implements a virtual machine on + top of a specific processor architecture like Z80 or x86. Programs are + compiled into bytecode for this machine and thus independent of the actual + machine they are running on. +Single-level store + Every object (dataspace) lives in a single, virtual address space. The + memory is organized into pages, which can reside in memory or on disk. + The operating system transparently moves pages to disk if they have not + been in use lately and reads them back as soon as a process requests it + ([praxis2]_, p. 82). +Copy on write + Pages are shareable and EUMEL automatically unshares them if one copy is + written to. +Persistence + Every file and every task is a dataspace. Since they all reside in the + single-level store the machine can powered off and back on again, with all + tasks starting from the point where they left off. +Time-sharing and multi-user + A single machine running EUMEL is capable of serving multiple “thin + clients” connected via serial lines. + +Quick start +----------- + +Fortunately a set of 1.2 MB install floppy disks of EUMEL’s x86 port has been +preserved. It can be installed in any virtual machine emulating an +IBM PC. In this example we’re using qemu_. The `first disk`__ is optional and +contains `install instructions`_ in german language. The `second disk`__ is the +bootable setup programs. It creates a partition on the harddrive, formats it +and installs the SHard. `Disk three`__ contains EUMEL0 and base system. + +1. Create a 128 MB harddrive: ``qemu-img create root.img 128M`` +2. Start the setup program: ``qemu-system-i386 -drive + file=02_setup.img,if=floppy,format=raw -drive file=root.img,format=raw`` +3. Create a new partition by pressing ``1``, confirm with ``j`` and + accept the following defaults with or ``j``. +4. If the main screen is displayed again press ``0`` and confirm yet + again with ``j`` to exit setup. The screen should now read “E N D E”. +5. Quit qemu and restart it with the third floppy disk. The bootloader + complains that “HG ungueltig”. +6. Press any key followed by ``2`` and a confirmation with ``j``. Reset the + machine again. +7. Now we have to set up the keyboard layout and time. Select “Kanal 1” with + ``j``, then press ``n`` until ``pc.1.25`` is displayed and confirm. Disable + “Kanal 2” and 15 with ``n`` and decline deleting those channels with ``n``. +8. Congratulations, a fully functional EUMEL is now running in your virtual + machine! For the next steps head over to [praxis1]_. + +__ disks/grundpaket/01_readme.img +__ disks/grundpaket/02_setup.img +__ disks/grundpaket/03_eumel0.img + +.. _install instructions: 01_readme_INSTALL.txt +.. _qemu: http://www.qemu.org/ + +Bibliography +------------ + +Auto-generated from `RDF graph`_. + +.. see formatRefs.py +.. include:: bib.rst + +.. _RDF graph: index.ttl + -- cgit v1.2.3