Informationsteknologi sommarkurs 5p, 2004 Mattias Wiggberg Dept. of Information Technology Box 337 SE751 05 Uppsala +46 18471 31 76 Collaboration Jakob Carlström Slideset 7 Agenda Exempel på operativsystem vs. fönsterhanterare Processer och resurser Grundfunktioner i operativsystem Schemaläggningens historiska utveckling Schemaläggning idag Processtillstånd Exempel på operativsystem igen 1
Exempel på operativsystem Windows 95/98/ME/NT/XP UNIX, Linux Mac OS X...men också OS för bilar, flygplan, kaffemaskiner mm. MS Word Applikationer Maskin Windows XP Dell Dimension et (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. et 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. 2
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 vs. fönstersystem Fönstersystemet är inte operativsystemet! MS Word Applikationer Fönsterhanterare Maskin Windows XP Dell Dimension 3
Processer och resurser Process(task) Delad resurs Aktivt program med tillhörande data. 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. 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. 4
Grundfunktioner i operativsystem forts. Klass Exempel Processhantering Process A startar en ny process kallad B Minnehantering Tilldela mer minne till en datastruktur Filhantering Läs data från fil till till primärminnet I/O Skriv ut fil på skrivare (drivrutin) Kommunikation Hämta e-post från server på nätet Tidshantering Starta processen P kl 12:00 Administration Ta back-up av filsystemet 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. 5
Schemaläggning idag Tidsdelning kontrolleras av en schemaläggare/scheduler. 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. Process a Process b Process c Viktiga processer kan få förtur i schemaläggningen alt. kan mindre viktiga få lägre prioritet. 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 B Blockeras 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). 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 - 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). 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 7