From c196fdc036ab718822c4abadbd76b5ef684967e6 Mon Sep 17 00:00:00 2001 From: Lars-Dominik Braun Date: Sun, 16 Oct 2016 16:40:02 +0200 Subject: Add more history, trivia and move to separate files --- overview.rst | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 overview.rst (limited to 'overview.rst') diff --git a/overview.rst b/overview.rst new file mode 100644 index 0000000..e3a60e8 --- /dev/null +++ b/overview.rst @@ -0,0 +1,35 @@ +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. +One-language concept + *ELAN (Elementary Language)* is system implementation language, programming + language, shell language and documentation language. + -- cgit v1.2.3