Ladda ner presentationen
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
Liknande presentationer
© 2024 SlidePlayer.se Inc.
All rights reserved.