Lærebog. Datalogi 1F Forår 2003. Hvad sker hvornår? Kursusbøger. Planen for idag. Hvad er et operativsystem



Relaterede dokumenter
Planen for idag. Datalogi 1F Forår Hvad er en proces? Livscyklus for en proces. Hvad består en proces af?

Principper for Samtidighed og Styresystemer

Typisk PC arkitektur. Synkronisering ved aktiv venten

Oversigt. Operativsystemer [6]: Virtuelt lager. Virtuel lager. Virtuelt lager. Virkemåde. Virtuelt lager eksempel virtuelt lager

Lærevejledning. - en introduktion til maskinarkitektur. faraz@butt.dk Faraz Butt mads@danquah.dk Mads Danquah doktor@dyregod.dk Ulf Holm Nielsen

Operativsystemer - dopsys

Design Systemkald. User-mode Linux, The Linux kernel/

Algorithms & Architectures II

Processer og tråde. dopsys 1

Lageradministration. dopsys

Styresystemer og tjenester

Planen for idag. Kontrol af ydre enheder. Systemarkitektur. Synkronisering ved aktiv venten. Multiprogrammering[1]: Ydre enheder og multiprogrammer

Computer Literacy. En stationær bordmodel. En Bærbar Notebook, Labtop, Slæbbar, Blærebar mm.

Lageret i maskinarkitekturen. Beregningsenhed, lagre (registre, RAM, disk), ydre enheder

Oversigt. Operativsystemer [5]: Filsystemer. Hvad er en fil? Hvor er en fil? Strukturen af en fil. Beskrivelse af en fil

To mikroarkitekturer til MIPS Karakteropgave på Maskinarkitektur 1B

Kerner med afbrydelser. Planen for i dag. Kerne med afbrydelser. Tætkoblede drivprogrammer. Uheldig rækkefølge. Synkronisering med ydre enheder

Styresystemer og tjenester

Deling i Windows. Netteknik 1

Deling i Windows. - via NetBIOS eller Hjemmegruppe! Netteknik 1

M A D S L A R S E N, A S G E R B A L L E G A A R D & J O N A S K R O N B O R G R O S K I L D E T E K N I S K E G Y M N A S I U M.

IT Support Guide. Installation af netværksprinter (direkte IP print)

DATALOGI 1F. Skriftlig eksamen tirsdag den 10. juni % 2 10 % 3 25 % 4 10 % 5 30 %

Operativsystemer of C Efterår 2013 Virtuel hukommelse (kap. 9)

Installation af en virtuel maskine

Interconnect. Front end interface

Computerens Anatomi. Af Martin Arnetoft

Lageradministration Intel Pentium og Unix/Linux

3. Computerens opbygning.

1 Operativsystemer oversigt

Planen for idag. Opdatering af delt lager

VMware og dopsys-linux

AstroComp en idé Version 0.2 (foreløbig)

DATALOGI 1F. Skriftlig eksamen tirsdag den 27. januar 2004

Onlinemanual. Start Klik på knappen "Start".

INDHOLDSFORTEGNELSE. Et stort spring... 7 Jesper Bove-Nielsen, forlagsdirektør. KAPITEL ET... 9 Introduktion til Windows 7

SAS GRID MANAGER THOMAS DAMGAARD, CHEFKONSULENT, SAS INSTITUTE Copyr i g ht 2016, SAS Ins titut e Inc. All rights res er ve d.

BRUGERMANUAL. easyweather pc software

Lærer nye styresystemer Installerer programmer som kun kan bruges i ældre versioner

Computerens Anatomi. Kom/IT C - Computer Anatomi - Daniel og Fie - 3/ Planlægning af kommunikationsvalg og medieprodukt.

Lidt orientering om, hvad en computer består af

DGMF Kursus i Digitalcentralen. Rev. 19 / Poul Erik Christiansen. DiMAX 1200Z Digitalcentral

Computerarkitektur. - en introduktion til computerarkitektur med LINDA

Koordinering. dopsys

// Mamut Business Software Installationsguide: Basis

Principper for Samtidighed og Styresystemer

Sider og segmenter. dopsys 1

\ \ Computerens Anatomi / /

Planen for idag. Synkroniseringsmekanismer. Krav til løsning. Kritiske regioner. Bagerens algoritme. Kritisk region via delt lager.

NEMT OG EFFEKTIVT - Ejendomsadministration

Bridgemate - kort og godt

Implementation af Koordinering. dopsys 1

InfoPro 2i. Profil Softwarefirmaet MaCom A/S blev etableret i Vi udvikler og markedsfører dokumenthåndteringssystemet InfoPro.

Projekt: VAX Integrator

Mamut Anlægsregister Introduktion

Til dig som vil have et indblik i computeren

Visualisering. Kan opdeles i 2 dele Præsentations værktøj Portal

Manual og Hjælp Skoletasken 2

Vejledning til brug af skolens IT for nye elever/studerende.

Synkronisering af sekventielle processer

Opsætning af forbindelse til Danmarks Statistik

Sikkerhedskopiering og gendannelse

Operativsystemer - dopsys. Erik Ernst

Sider og segmenter. dopsys 1

Hvad er Secure endpoints?

Database "opbygning"

Svendeprøve Projekt Tyveri alarm

Scheduling. Niels Olof Bouvin. Institut for Datalogi Aarhus Universitet

Bits DM534. Rolf Fagerberg, 2012

Vejledning til Teknisk opsætning

Din brugermanual KONICA MINOLTA DI1610

Vejledning til brug af skolens IT for nye elever/studerende.

Computerens Anatomi Af Mathias og Mark

Vejledning til brug af skolens IT for nye elever/studerende.

Dette IT-ydelseskatalog viser de ydelser og services du kan forvente at modtage fra IT-service og indenfor hvilken tidsramme.

Exceptions i Delphi. Try except

Kom godt igang med Inventar registrering

Filsystemer: Implementation. dopsys

DATALOGI 1E. Skriftlig eksamen torsdag den 3. juni 2004

Computerens Anatomi KOM/IT

Datalogi 1F rapportopgave K2 Anonym datakommunikation

Følgende versioner af Windows-operativsystemet understøtter Novell Filr Desktop-programmet:

mobile PhoneTools Brugerhåndbog

Windows Vista /Windows 7 Installationsvejledning

[MARKONLINE I CITRIX]

Sikkerhedskopiering og gendannelse Brugervejledning

SW6 SAI. Services 1: (Fil) service admin torsdag 7/4 05

RJ Gå til indeks. Gå til indeks

CD-DIRECT Installationsvejledning

A. Forsigtig. B. Introduktion til Shufflefunktionen

Installer Kommuniker: På Tryk 2.8

Contents. ESXi installation og basisk konfiguration

TRUST 100MB SPEEDSHARE USB ADAPTER

Arduino Programmering

TCP & UDP. - de transportansvarlige på lag 4. Netteknik 1

Sikkerhedskopiering og gendannelse Brugervejledning

Test- og prøvesystemet

Din brugermanual HP COMPAQ EVO D500 ULTRA-SLIM DESKTOP

Lageret er hierarkisk fokus nu: disk

Jobliste overblik

Transkript:

Lærebog Datalogi 1F Forår 2003 Operativsystemer og multiprogrammering Jørgen Sværke Hansen Silberschatz, Galvin, Gagne: Operating System Concepts, 6. udgave (med Windows XP opdatering) Har I 6. udgave uden Windows XP opdateringen er det også fint! Datalogi 1F: Operativsystemer [1] 2 Kursusbøger Kursusbog 3: Opgaver Kursusbog 4: Multiprogrammering Kursusbog 5: Programmering af Digital Alpha-arkitekturen Datalogi 1F: Operativsystemer [1] 3 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 Datalogi 1F: Operativsystemer [1] 4 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 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 Datalogi 1F: Operativsystemer [1] 5 Datalogi 1F: Operativsystemer [1] 6 1

Computersystem: skematisk oversigt 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 Datalogi 1F: Operativsystemer [1] 7 Datalogi 1F: Operativsystemer [1] 8 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 Datalogi 1F: Operativsystemer [1] 9 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 Datalogi 1F: Operativsystemer [1] 10 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 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 Datalogi 1F: Operativsystemer [1] 11 Datalogi 1F: Operativsystemer [1] 12 2

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 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 processer Datalogi 1F: Operativsystemer [1] 13 Datalogi 1F: Operativsystemer [1] 14 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 Datalogi 1F: Operativsystemer [1] 15 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 Datalogi 1F: Operativsystemer [1] 16 Samspillet mellem OS og hardware Computersystems opbygning Computersystemets opbygning Afbrydelsesorienterede OS er Lagerhierarkier Sikkerhedsbarrierer Datalogi 1F: Operativsystemer [1] 17 Datalogi 1F: Operativsystemer [1] 18 3

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 Datalogi 1F: Operativsystemer [1] 19 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 Datalogi 1F: Operativsystemer [1] 20 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 Datalogi 1F: Operativsystemer [1] 21 Computersystems opbygning Datalogi 1F: Operativsystemer [1] 22 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 Lagerhierarki (2) Datalogi 1F: Operativsystemer [1] 23 Datalogi 1F: Operativsystemer [1] 24 4

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 Datalogi 1F: Operativsystemer [1] 25 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 trap/ exception kernetilstand skift til brugerniveau brugertilstand Datalogi 1F: Operativsystemer [1] 26 Øvre og nedre grænse for lageradgang Hardwareunderstøttelse af begrænset lageradgang Datalogi 1F: Operativsystemer [1] 27 Datalogi 1F: Operativsystemer [1] 28 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 Datalogi 1F: Operativsystemer [1] 29 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 Datalogi 1F: Operativsystemer [1] 30 5

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 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 Datalogi 1F: Operativsystemer [1] 31 Datalogi 1F: Operativsystemer [1] 32 Opbygning af UNIX 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 Datalogi 1F: Operativsystemer [1] 33 Datalogi 1F: Operativsystemer [1] 34 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 Datalogi 1F: Operativsystemer [1] 35 Windows NT struktur Datalogi 1F: Operativsystemer [1] 36 6

Virtuelle maskiner Datalogi 1F: Operativsystemer [1] 37 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) Datalogi 1F: Operativsystemer [1] 38 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 Kilder Disse slides er baseret på SG03 samt de af forfatterne udviklede slides Datalogi 1F: Operativsystemer [1] 39 Datalogi 1F: Operativsystemer [1] 40 7