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