Presentation laddar. Vänta.

Presentation laddar. Vänta.

Översikt av operativsystem (kap 1 & 2)

Liknande presentationer


En presentation över ämnet: "Översikt av operativsystem (kap 1 & 2)"— Presentationens avskrift:

1 Översikt av operativsystem (kap 1 & 2)
Vad är ett operativsystem? Vilka komponenter innehåller ett operativsystem? Vilka tjänster erbjuder operativsystemet till användare, processer och andra system? På vilka olika sätt kan man strukturera ett operativsystem?

2 Vad är ett operativsystem (OS)?
Ett program som agerar mellanhand mellan användarna och datorns hårdvara. OS:et kontrollerar hårdvaran och fungerar som en bas för applikationsprogram. Mål för ett operativsystem: Köra användarprogram och underlätta för användaren att lösa problem Användarvänlighet Prestanda Effektivt användande av resurser

3 Vad ingår i operativsystemet?
Det finns ingen universell accepterad definition, men vanligast är…. ”Det program som alltid är igång” – också kallad kärnan (the kernel) Allting annat är antingen systemprogram eller applikationsprogram

4 Multiprogrammering OS:et kan ha flera program i minnet samtidigt
Anledning: ett enda program använder sällan all CPU-tid (eller alla I/O-enheter) När ett program befinner sig i vänteläge växlar CPU:n till nästa När CPU:n växlar så fort mellan program att användaren kan interagera med alla dessa kallas det time sharing (eller multitasking) Svarstiden bör vara < 1 sekund

5 Operationer i operativsystemet
Moderna OS är avbrottsdrivna (interrupt driven) För varje typ av avbrott finns en service-rutin OS:et måste kunna skydda sig självt och andra systemkomponenter Dual-mode (user mode och kernel mode) – bit i hårdvaran Vissa instruktioner är priviligerade – får bara köras i kernel mode

6 Processhantering Ett program som exekverar (körs) kallas för en process Ett system består av både operativsystemprocesser och användarprocesser En process behöver resurser (t ex CPU-tid, minne, filer, I/O) – allokeras av operativsystemet OS:et ansvarar också för följande: Skapa och avsluta processer Schemaläggning av processer Synkronisering av processer Kommunikation mellan processer

7 Minneshantering Vad skall ligga i minnet vid varje tillfälle?
OS:et försöker optimera både CPU-utnyttjandet och svarstiden för användarna OS:et ansvarar för följande: Hålla reda på vilka delar av minnet som används och av vem Bestämma vilka processer och data som skall flyttas in i och ut ur minnet Allokera och avallokera minne efter behov

8 Lagringshantering All information lagras i logiska lagringsenheter – filer Filerna är oftast organiserade i kataloger OS:et ansvarar för följande: Skapa och ta bort filer och kataloger Tillhandahåller primitiver för att manipulera filer och kataloger Lagra filer på sekundärminne Bestämma vem som får accessa vad Filerna kan lagras på olika fysiska media med olika egenskaper (kapacitet, access-tid mm) OS:et ansvarar för allokering av diskutrymme, hantering av ledigt utrymme och diskschemaläggning

9 I/O-systemet Ett av syftena med ett operativsystem är att gömma detaljer om specifika hårdvaruenheter för användaren OS:et ansvarar för följande: Buffra och cacha I/O-data Ha ett generellt drivrutinsgränssnitt Ha drivrutiner för de specifika hårdvaruenheterna

10 Skydd och säkerhet Access till data måste regleras i ett system med flera användare och/eller där flera processer kan exekvera samtidigt Skydd – mekanismer som kontrollerar processers eller användares access till operativsystemet Säkerhet – Försvar mot interna och externa attacker Virus, maskar, denial-of-sevice, identitetsstöld

11 Tjänster i operativsystemet

12 Användartjänster Användargränssnitt – CLI, GUI, batch
Programexekvering I/O-operationer – access av filer och I/O-enheter Filsystemsoperationer – skapa, läsa och skriva filer mm Kommunikation – processer kan behöva utbyta information (internt eller externt) Feldetektering

13 Systemtjänster Tjänster som ser till att systemet opererar effektivt:
Resursallokering Bokföring – hålla reda på hur mycket resurser var och en använder Skydd och säkerhet

14 Systemanrop Gränssnitt för operativsystemets tjänster
Är oftast funktioner i C eller C++ Accessas oftast genom ett API Win32 för Windows POSIX för UNIX, Linux och Mac OS X Java för JVM (Java Virtual Machine) Portabilitet och enkelhet

15 Exempel stdio.h (del av API)

16 Exempel på systemanrop i Windows och Unix

17 Systemprogram Systemprogram är program som underlättar programutveckling och exekvering. Olika kategorier finns: Filhantering – skapa, ta bort, kopiera, lista, skriva ut filer Statusinformation – datum, tid, tillgängligt minne eller diskutrymme Filmodifiering – texteditorer Programmeringsstöd – kompilatorer, debuggers, länkare, laddare Kommunikation – , Web, filöverföring, chat

18 Design och implementation av OS
Designen är beroende av hårdvaran och typ av system Användarmål och systemmål Användarmål – lätt att använda och lära sig, snabbt, pålitligt och säkert Systemmål – lätt att designa, implementera och underhålla, flexibelt, pålitligt, felfritt och effektivt Implementation Skrivs oftast i ett högnivåspråk (C eller C++) Bara en liten del av koden är prestandakritisk Viktigt med bra datastrukturer och algoritmer

19 Enkel struktur – MS-DOS

20 UNIX

21 Lagrad struktur

22 Mikrokärnor Flyttar så mycket som möjligt från kärnan till user space
Kommunikation sker mellan användarmoduler genom utbyte av meddelanden Fördelar: Lättare att bygga ut OS:et Lättare att flytta till ny hårdvara Pålitligare och säkrare Nackdel Sämre prestanda pga mycket kommunikation mellan kernel och user space

23 Mac OS X

24 Modulbaserade OS Består av en kärna och ett antal moduler som kan laddas in dynamiskt vid behov

25 Virtuella maskiner En virtuell maskin tillhandahåller ett gränssnitt som är identiskt med den underliggande hårdvaran Skapar illusion att en process (ofta ett OS) har sin egen processor och sitt eget minne Flera OS kan köras i samma dator, var och en i sin egen virtuella maskin

26 VMware 26

27 The Java Virtual Machine
27


Ladda ner ppt "Översikt av operativsystem (kap 1 & 2)"

Liknande presentationer


Google-annonser