CR80 System One

Fra DDHFwiki
Spring til navigation Spring til søgning

System One til CR80 er fra 1977, og er dermed forud for AMOS med omkring 2 år. Det er et fler-brugersystem, men uden terminaler. Der er én konsol, en kortlæser, en printer og diskettestationer.

Operativsystemets kerne hedder Monitor. Det tager sig af at oprettelse af en process, tidsdeling, og kommunikation mellem processer og eksterne enheder via besked-køer. Ved systemopstart oprettes én masterproces (S), der har til opgave at eksekvere visse indbyggede kommandoer. S styrer de vigtigste ressourcer i system. Det vil sige hukommelsen, diskettesystemet og eksterne enheder.

"S" processen

S læser og udfører én kommando ad gangen og vender tilbage efter en prompt bekræftelse til en ventende tilstand. Kommandoerne dækker håndteringen af hovedkatalogerne på disketterne og login af brugere. Brugeren kommer i kontakt med S ved at trykke på BREAK-tasten. S skriver => på konsollen. Brugeren skal vælge, at S-processen skal køre i forgrunden ved at taste "S" og vognretur. Derefter kan brugeren indtaste en kommando. S opretter en proces til at håndtere kommandoen, som den afleverer til Monitor og går tilbage til ventende tilstand.

Diagram over processhieraki med to brugere

Brugerprocesser

De enkelte brugere kan oprette brugerprocesser gennem S. Disse kører interaktivt på konsollen. Syntaksen for at oprette en brugerprocess er LOGIN <brugernavn>. Der er ikke noget kodeord. Brugernavnet tjener kun til at få adgang til de filer brugeren gemte i den forudgående session.

Mere end én bruger kan logge på det samme system og samme konsol. Den sidst startede får eksklusiv adgang til konsollen. Man skifter til en anden bruger ved at trykke BREAK, og taste brugernavnet ved =>-prompten. Det får S til at sætte denne brugers proces i forgrunden.

En brugerproces har mulighed for at arbejde på filer fra sit eget dedikerede brugerkatalog, og at indlæse og starte programmer (inklusive både programmer på brugerkataloget og systemprogrammer på hovedkataloget). En brugerproces har ingen adgang til filer i andre brugerkataloger.

Når brugeren starter et program ved at skrive programnavnet plus mulige parametre (f.eks. EDIT S:S1 0:01), vil brugerens proces skaber en underordnet proces, kaldet en hjælpeproces. Programmet (f.eks. EDIT) indlæses fra en diskette ind i hukommelsen af brugerprocessen, hvis det ikke allerede var der. Derefter udfører hjælpeprocessen programmet.

Kommunikation med eksterne enheder og diskettefiler udføres via såkaldte shares, dvs. bufferområder i brugerprocessen eller hjælpeprocessen. Inden I/O kan finde sted, skal sharen åbnes og tilsluttes en ekstern enhed eller til en diskettefil.

For hver ekstern enhed findes der en navngivet driverproces (operatørkonsol: OC, kortlæser: CR eller linjeprinter:LP). I tilfælde af at sharen er forbundet til en diskettefil, skal en navngivet filproces, der identificerer filen, oprettes. Denne filproces spiller nøjagtig den samme rolle, set fra brugerprocessen eller fra hjælpeprocessen, som en driverproces. Det vil sige, når et program får et filnavn som en parameter, kan dette istedet være navnet på en af de ovennævnte driverprocesser.