MIKADOS
MIKADOS operativsystemet var udviklet af Dansk Data Elektronik (DDE) fra midten af halvfjerdserne til deres ID-7000 og SPC/1 mikrodatamater. Det var et flerbrugersystem med op til otte samtidige brugere. MIKADOS kører på Intel 8080 og 8085 mikroprocessorerne, og for SPC/1 var det muligt at køre CP/M som et brugerprogram hvis maskinen havde et 8537 CP/M hukommelseskort. Brugerne ville derved få den oplevelse at de brugte CP/M sammen med andre personer på samme maskine.
MIK
Kernen i systemet stammer fra et projekt forfattet af Bodil Schrøder og udgivet af Datalogisk Institut, Københavns Universitet som Teknisk rapport 76/1. MIK - et korutineorienteret styresystem til en mikrodatamat. Rapporten analyserer principperne bag korutiner og parallelle processer, behandler de underliggende problemer i parallel programmering og gennemgår fire ældre lignende systemer. MIK er designet som et system baseret på korutiner, hvormed menes at det kørende program selv vælger hvornår det vil lade et andet program få noget kørselstid. Drivprogrammer for eksterne enheder får dog lov til at afbryde kørende programmer. Der er også en systemklokke, som afbryder CPUen 50 gange i sekundet, men dens eneste opgave er at opdatere køen af ventende programmer.
MIK blev udviklet med en Intel 8080 emulator, som var skrevet i Algol på RC4000. Selve MIK kernen er skrevet i assembler. Kildekoden for både MIK og emulatoren er med i rapporten.
MIK-systemet fik en meget bred anvendelse, da det blev brugt som basis/inspiration for kernen i styresystemet til apparater og små systemer hos adskillige firmaer i den danske elektronikindustri i det følgende årti. Det hang bl.a sammen med at rapporten blev benyttet som undervisningsmateriale på Datalogisk Institut og DTH.
DDE brugte MIK som grundlag for et operativsystem til ID-7000 hvis installeret uden baggrundslager (ikke usædvanligt for en industriel datamat). For også at kunne understøtte disketter lagde DDE en overbygning på, de kaldte DOS (Disk Operating System). Kombinationen blev til MIKADOS (med et 'A' imellem af hensyn til en nemmere udtale).
MIKADOS kommandoer
PLINI | Formaterer en disk - både harddisk og diskette. PL står for 'PladeLager'. | KATLG | Viser diskens katalog. |
---|---|---|---|
PKOPI | Kopiering af en disk. | FCOPY | Kopiering af én eller flere filer fra én disk til en anden. |
KOMPR | Genindvinder diskplads der er brugt af slettede filer (komprimer). | RENAME | Ændrer navn på en fil. |
FPURG | Sletter filer (file purge) | OPR0FIL | Opretter en "nulfil". |
MONITOR | Læs og udfør kommandoer i en tekstfil. | PROM | Skriv data til en programérbar ROM. |
BRO | Send en besked til en anden terminal på systemet (broadcast). | SUBMIT | Udføre et program med I/O til en anden terminal |
GENSTART | Generér et start-program, dvs. det første program der køres når maskinen tændes. | START | Bruges til at sætte systemets dato og tid. |
Applikationsprogrammer
Følgende applikationsprogrammer var til rådighed: Teksteditor, Assembler, Pascal og COMAL:
- Teksteditor
- Et linieorienteret redigeringsprogram, der foruden grundlæggende redigeringskommandoer indeholder faciliteter for søgning efter bestemte tegnmønstre og erstatning af bestemte tegnmønstre med andre.
- Assembler
- Til oversættelse af programmer skrevet i symbolsk maskinsprog fandtes en relokerende assembler med begrænsede makro-faciliteter.
- Pascal
- MIKADOS Pascal oversætteren var en modificeret udgave af UCSD Pascal oversætteren, der igen er baseret på professor Niklaus Wirths originale Pascal oversætter.
- COMAL
- Dette var en portering af ID-COMAL — en udgave af COMAL udviklet ved Instituttet for Datateknik (ID), Danmarks Tekniske Højskole (DTH) under ledelse af Tom Østerby i de sene 1970'ere.
Hukommelse
En 8080 CPU kan adressere 64 KB RAM. Den residente del af MIKADOS bruger de første 16 KB. De resterende 48 KB er til rådighed for brugeren. Hvis der er mere end én bruger, så laves bank-switching når systemet skifter til at eksekvere den næste process.
Filorganisering
Filerne i MIKADOS var organiseret i logiske diske, hvilket svarede til en diskette, eller en partition på en harddisk. På hver (logiske) disk var der et område til filkataloget og et område til filerne. Størrelsen på en fil var beskrevet i sektorer på 256 bytes.
En fil kunne identificeres med et filnavn, en filtypekode og en disk-id.
- Filnavn: Maximum 8 tegn
- Filtypekode: Ét alfanumerisk tegn, som brugeren selv kunne vælge
- Disk-id: P1, P2, P3 osv.