Tal til mig, Supermax!

Download Report

Transcript Tal til mig, Supermax!

»Tal til mig, Supermax!«
- Joakim von And, ca. 1980
Claus Tøndering
[email protected]
Dansk Data
Elektronik
1975: Grundlagt af fire ingeniører fra DTH
1979: SPC/1 – Den første europæiske
flerbrugermikrocomputer til generelle
formål
1980: Jeg blev ansat i basisprogrammelafdelingen i DDE
1981-82: Udvikling af en ny computer begynder
Hardware



Overgang fra 8- til 16/32-bits teknologi
Verdens største mikroprocessorbaserede
computer
8 CPU’er + 8 intelligente I/O controllere
MCU
MCU
Memory
Memory
Memory
Memory
Memory
Memory
Arkitektur
MCU
DIOC
SIOC
CIOC
MCU: Main Computing Unit med Motorola 68000 (senere 68020 og 68030)
DIOC: Disk I/O Controller
med Intel 8085
SIOC: Serial I/O Controller
CIOC: Communications I/O Controller
}
Lager



Motorola 68000 havde et adresserum på
16 MB (24-bits adresser)
MMU der gav mulighed for at separere
processors adresserum; men ingen page
fault-mekanisme, og derfor ingen mulighed
for virtuelt lager
I hver applikation blev der afsat:
o
o
o
1 MB til operativsystem
1 MB til adressering af de øvrige CPU’ers lager
14 MB til applikationen
Chassis
MCU
Lager
Software





DDE havde tradition for egenudviklet
software. Den tradition ønskede man at føre
videre.
Men hvad med UNIX?
System III var helt nyt, men også meget dyrt
Ingen UNIX-systemer var velegnede til multiCPU-arkitektur
Så vi måtte hellere lave det selv!
Operativsystemet


Unirex
Vores egne systemkald, udvidet med et
bibliotek der emulerede et UNIX API
o


Senere gik vi over til et rent UNIX API
Udviklet fra grunden på baggrund af
dokumentationen til UNIX v7
Udviklet på et UNIX v6-system
Multiprocessor fra brugerens
synspunkt





I de første udgaver af systemet, blev en bruger
tilknyttet en bestemt MCU ved logon
Kommunikation mellem processer via »boxes« og
»common boxes«
Senere indførte vi »processernes frie spil«, hvor en
bruger kunne have processer på flere forskellige
MCU’er
Ved fork() kørte den nye proces på samme MCU
som moderprocessen
Ved exec() blev der valgt en ny MCU i et cyklisk
mønster
Vi var forud for vores tid

Filsystemprocesser
o

In-memory processes
o

Tråde
Redirection files
o

Virtuelt filsystem
Symbolske links
Virtuelt terminal- og printerinterface
Virtual Terminal Interface




I stedet for termcap/terminfo-databaserne
indførte vi et fælles sæt styrekommandoer
Kommandoerne blev i SIOC’en oversat til
den aktuelle terminals escape-sekvenser
Beskreves i Terminology
DDE var pionér med indførsel af ISO-8859,
takket være VTI
o
Virtualiseringen gjorde det muligt at anvende
tastekombinationer til at lave specialtegn
Men vi dummede os også





Eget API
Forsøg på at forbedre UNIX
»Current Unit Prefix«
Egen kommandofortolker
Swapping og paging kom sent
The Name Game

Første forsøg:
o
o
o

Computeren: Unimax
Operativsystemet: Unirex
Protester fra UNIVAC
Andet forsøg:
o
o
o
Computeren: Supermax
Operativsystemet: SMOS
Protester fra Superman
Supermax’ videre udvikling
1983: Supermax nr. 1 leveres til DSB
1986: UNIX System V
1990: Den heterogene computer:


En kombination af CISC (Motorola 68030) or
RISC (MIPS R3000 / R4000)
Gav mulighed for transparent at køre gamle
programmer sammen med nye