Download præsentationen
Præsentation er lastning. Vent venligst
Offentliggjort afMaja Steensen Redigeret for ca. et år siden
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
Lignende præsentationer
© 2024 SlidePlayer.dk Inc.
All rights reserved.