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