blob: e3a60e80524b41bce45d11d2f71ed802f03fa243 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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.
|