The Edinburgh Multi-Access System (EMAS) was a
mainframe computer
A mainframe computer, informally called a mainframe or big iron, is a computer used primarily by large organizations for critical applications like bulk data processing for tasks such as censuses, industry and consumer statistics, enterprise ...
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
at the
University of Edinburgh
The University of Edinburgh (, ; abbreviated as ''Edin.'' in Post-nominal letters, post-nominals) is a Public university, public research university based in Edinburgh, Scotland. Founded by the City of Edinburgh Council, town council under th ...
. The system went online in 1971.
EMAS was a powerful and efficient general purpose
multi-user
Multi-user software is computer software that allows access by multiple users of a computer. Time-sharing systems are multi-user systems. Most batch processing systems for mainframe computers may also be considered "multi-user", to avoid leavi ...
system which coped with many of the computing needs of the University of Edinburgh and the
University of Kent
The University of Kent (formerly the University of Kent at Canterbury, abbreviated as UKC) is a Collegiate university, collegiate public university, public research university based in Kent, United Kingdom. The university was granted its roya ...
(the only other site outside Edinburgh to adopt the operating system).
History
Originally running on the
ICL System 4/75 mainframe (based on the design of the
IBM 360
The IBM System/360 (S/360) is a family of mainframe computer systems announced by IBM on April 7, 1964, and delivered between 1965 and 1978. System/360 was the first family of computers designed to cover both commercial and scientific applicati ...
) it was later reimplemented on the
ICL 2900 series of mainframes (as EMAS 2900 or EMAS-2) where it ran in service until the mid-1980s. Near the end of its life, the refactored version was back-ported (as EMAS-3) to the
Amdahl 470 mainframe clone, and thence to the IBM
System/370-XA architecture (the latter with help from the
University of Kent
The University of Kent (formerly the University of Kent at Canterbury, abbreviated as UKC) is a Collegiate university, collegiate public university, public research university based in Kent, United Kingdom. The university was granted its roya ...
, although they never actually ran EMAS-3). The
National Advanced System (NAS) VL80 IBM mainframe clone followed later. The final EMAS system (the Edinburgh VL80) was decommissioned in July 1992.
The
University of Kent
The University of Kent (formerly the University of Kent at Canterbury, abbreviated as UKC) is a Collegiate university, collegiate public university, public research university based in Kent, United Kingdom. The university was granted its roya ...
system went live in December 1979, and ran on the least powerful machine in the
ICL 2900 range - an ICL 2960, with 2 MB of memory, executing about 290k instructions per second. Despite this, it reliably supported around 30 users. This number increased in 1983 with the addition of an additional 2 MB of memory and a second Order Code Processor (OCP) (what is normally known as a CPU) running with
symmetric multiprocessing
Symmetric multiprocessing or shared-memory multiprocessing (SMP) involves a multiprocessor computer hardware and software architecture where two or more identical processors are connected to a single, shared main memory, have full access to all ...
. This system was decommissioned in August 1986.
Features
EMAS was written entirely in the
Edinburgh IMP
Edinburgh IMP is a development of Atlas Autocode, initially developed around 1966-1969 at the University of Edinburgh, Scotland. It is a general-purpose programming language which was used heavily for systems programming.
Expressively, IMP is h ...
programming language
A programming language is a system of notation for writing computer programs.
Programming languages are described in terms of their Syntax (programming languages), syntax (form) and semantics (computer science), semantics (meaning), usually def ...
, with only a small number of critical functions using embedded assembler within IMP sources. It had several features that were advanced for the time, including
dynamic linking
In computing, a dynamic linker is the part of an operating system that loads and links the shared libraries needed by an executable when it is executed (at " run time"), by copying the content of libraries from persistent storage to RAM, fill ...
, multi-level storage, an efficient
scheduler
A schedule (, ) or a timetable, as a basic time-management tool, consists of a list of times at which possible tasks, events, or actions are intended to take place, or of a sequence of events in the chronological order in which such things ...
, a separate user-space
kernel
Kernel may refer to:
Computing
* Kernel (operating system), the central component of most operating systems
* Kernel (image processing), a matrix used for image convolution
* Compute kernel, in GPGPU programming
* Kernel method, in machine learnin ...
('director'), a user-level
shell
Shell may refer to:
Architecture and design
* Shell (structure), a thin structure
** Concrete shell, a thin shell of concrete, usually with no interior columns or exterior buttresses
Science Biology
* Seashell, a hard outer layer of a marine ani ...
('basic command interpreter'), a comprehensive archiving system and a
memory-mapped file
A memory-mapped file is a segment of virtual memory that has been assigned a direct byte-for-byte correlation with some portion of a file or file-like resource. This resource is typically a file that is physically present on disk, but can also b ...
architecture.
Such features led EMAS supporters to claim that their system was superior to
Unix
Unix (, ; trademarked as UNIX) is a family of multitasking, multi-user computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
for the first 20 years of the latter's existence.
Legacy
The Edinburgh Computer History Project is attempting to salvage some of the lessons learned from the EMAS project and has the complete source code of EMAS online for public browsing.
See also
*
Atlas Autocode
Atlas Autocode (AA)Original scans)) is a programming language developed around 1963 at the University of Manchester. A variant of the language ALGOL, it was developed by Tony Brooker and Derrick Morris for the Atlas computer. The initial AA and ...
References
{{Time-sharing operating systems
History of computing in the United Kingdom
Time-sharing operating systems
1970s software
University of Edinburgh School of Informatics