Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

Datalogi 1F Forår 2003 Operativsystemer og multiprogrammering Jørgen Sværke Hansen

Lignende præsentationer


Præsentationer af emnet: "Datalogi 1F Forår 2003 Operativsystemer og multiprogrammering Jørgen Sværke Hansen"— Præsentationens transcript:

1 Datalogi 1F Forår 2003 Operativsystemer og multiprogrammering Jørgen Sværke Hansen cyller@diku.dk

2 Datalogi 1F: Operativsystemer [1]2 Lærebog Silberschatz, Galvin, Gagne: Operating System Concepts, 6. udgave (med Windows XP opdatering) Har I 6. udgave uden Windows XP opdateringen er det også fint!

3 Datalogi 1F: Operativsystemer [1]3 Kursusbøger Kursusbog 3: Opgaver Kursusbog 4: Multiprogrammering Kursusbog 5: Programmering af Digital Alpha-arkitekturen

4 Datalogi 1F: Operativsystemer [1]4 Hvad sker hvornår? 3. feb: Operativsystemer [1]: Introduktion til operativsystemer 7. feb: Operativsystemer [2]: Processer og schedulering 10. feb: Multiprogrammering [1]: Ydre enheder, multiprogrammer 14. feb: Multiprogrammering [2]: Synkronisering, grænseflader 17. feb: Multiprogrammering [3]: Kerner uden afbrydelser 19. feb: Multiprogrammering [4]: Kerner med afbrydelser 19. feb: G1 stilles: Intro til kerneprogrammering 26. feb: G1 afleveres 5. mar: Multiprogrammering [5]: Kerner og processer 12. mar: Operativsystemer [3]: Synkronisering, baglåse 19. mar: Operativsystemer [4]: Arbejdslageret 19. mar: K1 stilles: ”Kerneopgaven” 11. apr: K1 afleveres 14. apr: Operativsystemer [5]: Filsystemer 23. apr: K2 stilles: ”Datanetopgaven” 15. maj: K2 afleveres 19. maj: Operativsystemer [6]: Virtuelt lager

5 Datalogi 1F: Operativsystemer [1]5 Planen for idag Introduktion til operativsystemer: –Forskellige typer af computersystemer: Fra 2 tons metal til 120 gram –Samspillet mellem hardware og operativsystem: Skal du hele tiden afbryde mig? –Strukturering af operativsystemer Spaghetti eller lagkage

6 Datalogi 1F: Operativsystemer [1]6 Hvad er et operativsystem Operativsystemet er bindeled mellem brugerprogrammer og hardware Operativsystemer har to mål: –Lette udviklingen og brugen af brugerprogrammer –Udnytte den tilgængelige hardware så effektivt som muligt Disse to mål kan være i modstrid med hinanden

7 Datalogi 1F: Operativsystemer [1]7 Computersystem: skematisk oversigt

8 Datalogi 1F: Operativsystemer [1]8 Forskellige systemtyper Operativsystemets funktion afhænger af systemet: Batchsystemer Multiprogrammerede batchsystemer Flerbrugersystemer Desktop systemer (PC’ere) Parallelle systemer: –Multiprocessorsystemer (tæt koblede parallelsystem) –Løst koblede systemer Sandtidssystemer Håndholdte systemer

9 Datalogi 1F: Operativsystemer [1]9 Batchsystemer Jobs grupperes efter type for at mindske opsætningstid Operativsystemet afvikler en gruppe af jobs med et job ad gangen Operativsystemets primære opgave er at skifte fra afviklingen af et job til et andet: –Operativsystemet har kontrollen fra start af –Operativsystemet indlæser et brugerprogram og overgiver kontrollen til dette –Når et job afsluttes overgives kontrollen igen til operativsystemet

10 Datalogi 1F: Operativsystemer [1]10 Multiprogrammerede batchsystemer Målet er at forbedre udnyttelsen af de tilgængelige ressourcer: –I/O –Processor Når et job venter på resultat af I/O får et andet job adgang til processoren Operativsystemet: –Udvælger afviklingsrække-følgen af jobbene –holder styr på flere jobs i hukommelsen samtidig: Beskytter programmer mod hinanden Allokerer ydre enheder til programmer

11 Datalogi 1F: Operativsystemer [1]11 Flerbrugersystemer Flere samtidige brugere af systemet (ingen operatør) Afviklingen af et brugerprogram sker i en ”process” Skift mellem processer sker så ofte at den enkelte bruger oplever at have en dedikeret maskine til rådighed Operativsystemets opgaver: –Hukommelsesadministration: Swapping – når hukommelsen ikke er stor nok til alle virtuel hukommelse – kontinuert lager –Håndtering af I/O fra flere brugere samtidig: Terminalhåndtering Filsystem

12 Datalogi 1F: Operativsystemer [1]12 Desktop systemer En enkelt bruger Fokuseret på interaktivt brug Der er sket en udvikling fra interaktive batchsystemer (MS-DOS) til flerbrugersystemer (e.g., Linux, Windows XP) Udbredelsen af Internettet har øget fokus på deling af resourcer via netværk

13 Datalogi 1F: Operativsystemer [1]13 Multiprocessorsystemer Symmetrisk multiprocessorer (SMP): –Flere processorer deles om hukommelse, diske, mv.: Lavere pris per udført operation Flaskehalsproblemer kan opstå ved kamp om de delte ressourcer Asymmetrisk multiprocessorer: –En processor bestemmer (masterprocessor): Ekstra processorer dedikeres til bestemte opgaver, f.eks., behandling af netværkstrafik Ekstra processorer modtager arbejdsopgaver fra masterprocessor Operativsystem skal: –Tillade afvikling af samtidige processer, f.eks. skal konsistens af operativsystemets datastrukturer sikres –Håndterer CPU schedulering med flere samtidige processer

14 Datalogi 1F: Operativsystemer [1]14 Løstkoblede systemer Et samarbejde mellem selvstændige computer, der har ”uafhængige” operativsystemer (og ikke nødvendigvis det samme) Eksempler –Klient server systemer: Deling af filer (NFS, Samba) Simple beregninger (SETI@home) –Peer to peer netværk: Deling af filer (Gnutella) –Klynger: Forbedret fejltolerance i forhold til en enkelt computer Typisk homogene og placeret tæt på hinanden Fattigmands supercomputere

15 Datalogi 1F: Operativsystemer [1]15 Sandtidssystemer Operativsystemet stiller garantier for hvornår en proces afvikles Typisk afbrydes afviklingen af en sandtidsproces ikke Hård sandtid: –Operativsystemet skal garantere at en given proces afvikles inden et bestemt tidspunkt –Typisk for indlejrede systemer, e.g., robotstyring, biler, etc. Blød sandtid: –Sandtidsprocesser har højeste prioritet –Lav forsinkelse ved udførelse af sandtidsprocesser –Typisk i desktop operativsystemer, der ønsker at understøtte multimediaapplikationer

16 Datalogi 1F: Operativsystemer [1]16 Håndholdte systemer Operativsystemet skal rettes mod systemer med meget begrænsede resourcer: –Strømforbrug er en kritisk ressource: Processorhastighed reguleres i takt med arbejdsbelasting Enheder der ikke er i brug slukkes: –Kan brugsmønstre forudsiges? –Brugerinterface skal tilpasses lille skærm/intet tastatur –Ingen disk, men måske persistent RAM

17 Datalogi 1F: Operativsystemer [1]17 Samspillet mellem OS og hardware Computersystemets opbygning Afbrydelsesorienterede OS’er Lagerhierarkier Sikkerhedsbarrierer

18 Datalogi 1F: Operativsystemer [1]18 Computersystems opbygning

19 Datalogi 1F: Operativsystemer [1]19 Kommunikation mellem OS og ydre enheder De ydre enheder kan arbejde sideløbende med processoren (à la asymmetrisk multiprocessor) Operativsystemets kontrollerer ydre enheder via registre på styreenheder. Disse tilgås ved –I/O instruktioner –I/O hukommelsesområde (memory-mapped I/O) Ydre enheder fanger operativsystems opmærksomhed via: –Statusregistre, der undersøges af operativsystem (polling eller programmed I/O (PIO)) –Afbrydelser (eng.: interrupt) evt. + statusregistre

20 Datalogi 1F: Operativsystemer [1]20 Afbrydelser Ved en afbrydelse fra en ydre enhed: –standses afviklingen af den aktive proces og processens tilstand gemmes –hver afbrydelse er tilknyttet en afbrydelsesprocedure, der findes via en ”afbrydelsestabel” –afbrydelsesprocedure udføres –afviklingen af processer genoptages: Enten den gamle proces eller en ny

21 Datalogi 1F: Operativsystemer [1]21 Kommunikation mellem brugerprogram og operativsystem Brugerprogrammer aktiverer funktioner i operativsystemet via systemkald Systemkald foretages vha. en softwaregenereret afbrydelse (trap): –Systemkald og parametre specificeres via registre og stakoverførsel –Operativsystemet bruger en systemskaldstabel til at finde den rigtige operativsystemroutine Brugerprogrammer kan også forårsage afbrydelser (exceptions) pga. ulovlige handlinger, f.eks. division med nul. Exceptions håndteres også af operativsystemet

22 Datalogi 1F: Operativsystemer [1]22 Computersystems opbygning

23 Datalogi 1F: Operativsystemer [1]23 Lagerhierarki Forskellige former for lager varierer meget med hensyn til: –Pris –Hastighed –Overlevelse af strømafbrydelse Caching søger at placere data, der snart skal anvendes, højt i lagerhierarkiet: –Temporal lokalitet: data genbruges hurtigt –Rumlig lokalitet: data i samme område tilgås samtidig –Disk caching vigtig opgave for operativsystemer –Kopier af data skal holdes konsistente

24 Datalogi 1F: Operativsystemer [1]24 Lagerhierarki (2)

25 Datalogi 1F: Operativsystemer [1]25 Sikkerhedsbarrierer mellem OS og brugerprogrammer Instruktioner grupperes i forskellige sikkerhedsniveauer – typisk to: –Brugertilstand, e.g., læs, skriv, adder, trap –Kernetilstand, e.g., I/O instruktioner Et brugerprogram forhindres i at tilgå operativsystems og andre brugerprogrammers lager: –Nedre og øvre grænse –Virtuelt lager Tvungent processkift forhindre monopolisering af processor: –timerafbrydelser

26 Datalogi 1F: Operativsystemer [1]26 Brug af to sikkerhedsniveauer Hardware indeholder en eller flere bits, der viser sikkerhedsniveau, f.eks. (0) brugertilstand og (1) kernetilstand Ved afbrydelser skiftes til kernetilstand, f.eks. ved en trap operation Specielle privilegerede instruktioner kan kun udføres i kernetilstand, typisk instruktioner der har med ressourcedeling at gøre kernetilstand brugertilstand trap/ exception skift til brugerniveau

27 Datalogi 1F: Operativsystemer [1]27 Øvre og nedre grænse for lageradgang

28 Datalogi 1F: Operativsystemer [1]28 Hardwareunderstøttelse af begrænset lageradgang

29 Datalogi 1F: Operativsystemer [1]29 Opbygning af operativsystemer Hvilke typer af services skal et OS tilbyde Hvordan opdeles OS’ets funktionalitet – en balancegang mellem: –Vedligeholdelsesvenligheden af OS koden –Hastighed –Udvidelsesmuligheder Designprincip: Mekanisme versus politik

30 Datalogi 1F: Operativsystemer [1]30 Operativsystemets services Proceshåndtering: starte og afslutte programmer – hvem og hvornår Primært lager (RAM): allokere og deallokere lager I/O: adgang til skærm, tastatur og andre ydre enheder tillades kun via operativsystemet Filsystem: manipulering af filer – opret, slet, læs, … Sekundært lager: finde frie blokke, frigøre blokke Kommunikation: forskellige programmer skal kunne udveksle data – både på samme maskine og mellem maskiner Fejlhåndtering: detektion af fejl i hardware eller software komponenter Brugergrænseflade: kommandofortolker

31 Datalogi 1F: Operativsystemer [1]31 Interne systemservices Services, der ikke stilles til rådighed for brugerprogammer men bruges internt i operativsystemet: Ressourceallokering: håndtering af uddeling og tilbagekaldelse af begrænsede ressourcer Overvågning og registrering: registrering af hvilke operationer og hvilke ressourcer, der benyttes af forskellige brugere Beskyttelse: beskyttelse af systemressourcer

32 Datalogi 1F: Operativsystemer [1]32 UNIX Den oprindelige UNIX implementation bestod af to dele: –Systemprogrammer, der øger brugervenlighed, eks.: Elektronisk post Udskrivning Oversættere, debuggere –En monolitisk kerne: procesafvikling, filsystemer, lageradministration, mm. i et lag uden skarpt adskilte grænser

33 Datalogi 1F: Operativsystemer [1]33 Opbygning af UNIX

34 Datalogi 1F: Operativsystemer [1]34 Lagdelt operativsystem Opdelt i flere lag, f.eks ”THE” systemet: –Brugerprogrammer –Buffering af I/O –Drivprogram for konsol –Lageradministration –Procesafvikling –hardware Problem: omkostninger ved at skifte lag: –Skift af sikkerhedsniveau –Abstraktion forhindrer optimeringer, f.eks.: netkort med TCP checksum

35 Datalogi 1F: Operativsystemer [1]35 Mikrokerner Udfør mest muligt i brugertilstand: –Systemservices implementeres vha. serverprocesser i brugertilstand Brugerprogrammer og systemservices kommunikerer via beskedudveksling formidlet af kernen Fordele: –Nemmere at udvide/ændre funktionalitet –Nemmere at flytte kerne til nye maskinarkitekturer –Kernens komponenter beskyttes mod hinanden Ulemper: –Hastighed: op til 4 sikkerhedsniveauskift ved hvert systemkald

36 Datalogi 1F: Operativsystemer [1]36 Windows NT struktur

37 Datalogi 1F: Operativsystemer [1]37 Virtuelle maskiner

38 Datalogi 1F: Operativsystemer [1]38 Mekanismer og politikker En mekanisme beskriver hvordan noget gøres En politik beskriver hvad der skal gøres hvornår Adskillelsen giver større fleksibilitet, idet forskellige politikker typisk kan implementeres vha. den samme mekanisme Mekanismer kan kræve hardwareunderstøttelse, mens politikker typisk ikke gør det (direkte)

39 Datalogi 1F: Operativsystemer [1]39 Opsummering Forskellige typer af systemer og hvilke krav de stiller til OSet Samspil mellem hardware og OS: afbrydelser, beskyttelse, lagerhierarki Strukturering af operativsystemer: services, lagdeling, mikrokerner, virtuelle maskiner

40 Datalogi 1F: Operativsystemer [1]40 Kilder Disse slides er baseret på SG03 samt de af forfatterne udviklede slides


Download ppt "Datalogi 1F Forår 2003 Operativsystemer og multiprogrammering Jørgen Sværke Hansen"

Lignende præsentationer


Annoncer fra Google