AMOS

Fra DDHFwiki
Spring til navigation Spring til søgning

Advanced Multiprocessor Operating System (AMOS) til CR80 er en hierarkisk systemstruktur af komponenter, hvor hver komponent i laget bygger på de underliggende lag.

AMOS består af følgende komponenter:

  • en operativsystemkerne
  • et hukommelsesstyringsmodul
  • et modulært sæt device drivere
  • et filhåndteringssystem
  • et forenet input/output system

Det nye i forhold til CR80 System One er multi-processor funktionaliteten. Der er stadigvæk en Monitor-process i kernen.

Modulariteten i AMOS gør det muligt at bygge systemer hvor ikke alle komponenter er brugt, hvor nye moduler er inkluderet, eller hvor visse komponenter erstattes af kundetilpassede moduler til at opfylde helt særlige krav. I en lille applikation uden behov for filer behøver filhåndteringssystemet ikke at være inkluderet. Tilsvarende kan ubrugte device drivere udelades og nye device drivere er meget let at inkludere i systemet.

Kernen er det laveste af AMOS-lagene. Kernen er ansvarlig for:

  • håndtering af software-processer
  • kommunikation mellem processer
  • styring af CPU'er
  • interrupt håndtering

CPU-styring

Kernen er ansvarlig for allokering af CPU'er til kørende processer. CPU'er håndteres af kernen som separat identificerbare objekter adresseret med et symbolsk navn. CPU'erne er grupperet i puljer. Hver pulje har sin egen liste over processer som administreres separat. Når en proces oprettes, bestemmes det hvilken pulje af CPU'er den skal udføres på. CPU-allokeringsalgoritmen fungerer uafhængigt for hver CPU pulje. Allokeringsalgoritmen aktiveres, når en proces lave et systemkald for at vente på en endnu ikke indtruffet begivenhed, eller når en CPU er blevet allokeret til en proces for en forud-defineret periode.

Device drivere

Hver enhed, der er tilsluttet et CR80-system, styres af en device driver. Hovedformålet med en CR80 device driver er at bygge bro mellem hardwaregrænsefladen og CR80 processerne. Device drivere er implementeret som CR80-processer, der etablerer en generaliseret grænseflade til bruger processer, der skal foretage I/O. Brugerprocesser kommunikerer med drivere ved at bruge send/wait funktioner på monitoren. Disse funktioner kan bruges indirekte ved at kalde I/O Systemet eller direkte fra en brugerproces (for eksempel at bruge enhed på en eller anden specialiseret måde).

I modsætning til en brugerproces er en driverproces autoriseret til at udføre IO-operationer. En device driver har eksklusiv adgang til den tilsvarende enhed. Enhver brug af en enhed skal derfor udføres via selve device driveren, som derefter er i stand til at administrere og kontrollere adgangsrettighederne for brugerprocesser (tildeling af gensidig udelukkelse, osv., når det er nødvendigt).