Science  People  Locations  Timeline
Index: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Home > Edinburgh Multiple Access System


 

The Edinburgh Multi-Access System (EMAS) was an operating system developed at the University of Edinburgh, Scotland, during the 1970s; EMAS was developed because none of the manufacturers' operating systems (nor independent systems such as Multics which were under development at the same time) came close to satisfying the demanding performance requirements of Edinburgh University. Originally running on the ICL 4/75 mainframe which was a clone of the IBM 360, it was later reimplemented on the ICL 2900 series of mainframes where it ran in service until the mid 1980s. Near the end of its life, the refactored version was back-ported to the IBM architecture again where it ran on powerful IBM clones from Fujitsu. It was a powerful and efficient general purpose multi-user system which supplied all the computing needs of Edinburgh University and the University of Kent - the only other site outside Edinburgh to adopt the operating system.

If the Edinburgh culture had been different, EMAS could easily have been a world-class operating system well before the rise of Unix (which was an inferior system for almost 20 years; like the developers of Multics, Edinburgh people frequently commiserate over the advanced features of EMAS such as dynamic linking, multi-level storage, an efficient scheduler, a separate user-space kernel ('director'), a user-level shell ('basic command interpreter'), and a memory mapped file architecture - which Unix never had or did not acquire until late in the day); however it is not in the Scottish nature to brag on one's accomplishments and Edinburgh did not subscribe to the American "publish or perish" ethos; consequently EMAS perished in obscurity.

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.

EMAS was written entirely in the Edinburgh IMP programming language, with only a small number of critical functions using embedded assembler within Imp sources.

See also

Operating systems

Read more »

Non User