Operativsystem - Department of Information Technology

Informationsteknologi sommarkurs 5p, 2004
Mattias Wiggberg
Dept. of Information Technology
Box 337
SE751 05 Uppsala
+46 18471 31 76
[email protected]
Collaboration
Jakob Carlström
Operativsystem
Slideset 7
Communications Research Group
Agenda
• Exempel på operativsystem
•Operativsystem
• Operativsystem vs. fönsterhanterare
• Processer och resurser
• Grundfunktioner i operativsystem
• Schemaläggningens historiska utveckling
• Schemaläggning idag
• Processtillstånd
• Exempel på operativsystem igen
[email protected]
Communications Research Group
1
Exempel på operativsystem
• Windows 95/98/ME/NT/XP
• UNIX, Linux
• Mac OS X
• ...men också OS för bilar, flygplan, kaffemaskiner mm.
[email protected]
Communications Research Group
Operativsystem
MS Word
Applikationer
Operativsystem
Windows XP
Maskin
Dell Dimension
• Operativsystemet (OS) är den mjukvara som behövs för att datorn ska bli
användbar.
• Bryggar klyftan mellan den nakna maskinen och användarens program.
• Operativsystemet erbjuder ett gränssnitt med systemanrop åt användarens program.
• En dator kan använda olika operativsystem, dock inte samtidigt.
• Basic Input Output System (BIOS) – Exekveras (körs) när datorn startar. Pekar på
en adress i minnet där OS första instruktion ligger. => OS startar.
[email protected]
Communications Research Group
2
Operativsystem forts.
Två sätt att kommunicera med operativsystemet
• Systemanrop från program:
- Läs in ett tecken från tangentbordet
- Skriv ett tecken till en fil i sekundärminnet
- Upprätta en förbindelse med en annan dator på Internet
• Kommandon från användaren via I/O-enheter:
- Lista namnen på filerna i en katalog
- Skriv ut en fil på skrivaren
- Visa vilka processer som är aktiva
[email protected]
Communications Research Group
Operativsystem vs. fönstersystem
Fönstersystemet är inte operativsystemet!
MS Word
Applikationer
Fönsterhanterare
Operativsystem
Windows XP
Maskin
Dell Dimension
[email protected]
Communications Research Group
3
Processer och resurser
• Process(task)
Aktivt program med tillhörande data.
• Delad resurs
Resurs i datorn som processer behöver för att arbeta och turas
om att använda. Exempel.
- Maskincykler i CPU-n.
- Utrymme i primärminnet.
- Utrymme i lagringsmedia.
- Tillgång till I/O-enhet.
- Batteritiden i bärbar dator.
[email protected]
Communications Research Group
Grundfunktioner i operativsystem
• Starta, övervaka och avsluta processer.
• Fördela datorns resurser mellan olika processer.
• Erbjuda skydd, säkerhet och tillförlitlighet. Exempelvis:
- Hindra användare A från att läsa eller ändra användare B:s data.
- Hindra att två processer samtidigt försöker skriva samma fil.
- Avsluta program som försöker utföra otillåtna instruktioner på ett ordnat
sätt.
• Hjälpa processer att utbyta data med användare eller andra processer.
[email protected]
Communications Research Group
4
Grundfunktioner i operativsystem forts.
Klass
Processhantering
Minnehantering
Filhantering
I/O
Kommunikation
Tidshantering
Administration
Exempel
Process A startar en ny process kallad B
Tilldela mer minne till en datastruktur
Läs data från fil till till primärminnet
Skriv ut fil på skrivare (drivrutin)
Hämta e-post från server på nätet
Starta processen P kl 12:00
Ta back-up av filsystemet
[email protected]
Communications Research Group
Schemaläggningens historiska utveckling
• Fördelning av datorns resurser mellan processer kallas schemaläggning/scheduling.
• Schemaläggningens historiska utveckling:
Tidiga system (1940-55).
- Saknade operativsystem.
- Manuellt skötta från frontpanel via strömbrytare och lampor.
- En användare åt gången.
Batch-system (1950-65).
- Användare lämnade sina jobb på hålkort till en operatör.
- Operatören grupperade liknande jobb i en ”batch”, och matade in nytt
program när föregående var klart.
Tidsdelade system (1960-).
- Processer delar på CPU genom att turas om att köra i korta tidsintervall.
- Upplevs av användarna som att processerna körs samtidigt.
[email protected]
Communications Research Group
5
Schemaläggning idag
•Tidsdelning kontrolleras av en schemaläggare/scheduler.
b
Pr o
ces
s
Process
a
• Två dominerande strategier för schemaläggning.
- Alla processer får samma andel av CPU-tiden.
- Alla användare får samma andel av CPU-tiden.
P r oc
ess c
Viktiga processer kan få förtur i schemaläggningen alt. kan mindre viktiga
få lägre prioritet.
[email protected]
Communications Research Group
Processtillstånd
• En process kan befinna sig i tre olika tillstånd.
- Exekverande (E), körs. En process per CPU.
- Redo (R), har fått starttid bestämd. En till flera processer.
- Blockerad (B), väntar t.ex. på annan resurs. En till flera processer.
Startar
Anländer
R
E
Avslutas
Gör uppehåll
Schemaläggs
Blockeras
B
[email protected]
Communications Research Group
6
Exempel på operativsystem
• Disk Operating System (DOS), 1980-tal
- En process aktiv åt gången.
- Måste avslutas innan nästa kan startas.
• Windows 3.X, 1985-1995
- Flera processer aktiva samtidigt.
- ”Cooperative multitasking”: varje process måste själv avbryta sin exekvering
när den kört tillräckligt länge, så att nästa process kan starta.
• Windows 95/98/ME/NT/XP, 1995- Flera processer aktiva samtidigt
- ”Preemptive multitasking”: OS sätter en hårdvarutimer när en process startas.
Timern väcker operativsystemet så att det kan tvinga processen att göra
uppehåll när den har exekverat tillräckligt länge.
• Unix, 1969- Tillät många samtidiga användare av samma (dyra) dator
- Hade preemptive multitasking från början
- Programmeringsspråket C är nära knutet till Unix
- Finns i många versioner för olika hårdvara.
- Kostnadspliktiga (SunOS (Sun), AIX (IBM) etc.).
- Öppen källkod (Linux).
[email protected]
Communications Research Group
Exempel på operativsystem, forts.
•Realtids-operativsystem
- Används där tidskrav är viktiga. Ex: styrsystem i flygplan, digital
videosändning
- Gör det möjligt att bestämma när och hur ofta processer får exekvera
• Distribuerade system
- Operativsystem för för flera CPU-er
- Delas in i hårt kopplade (gemensam buss, klocka, minne) och löst kopplade
(exempelvis olika minne och klocka).
• Operativsystem för bärbara apparater
- Bör vara litet då minnet är dyrt.
- Bör minimera energiförbrukningen, exempelvis genom att slå av
hårdvaruenheter som ej används
[email protected]
Communications Research Group
7