Operativsystem. Innehåll. Operativsystemets funktion. Vad är ett OS? Vart hittar men ett OS? OS hanterar processorns resurser



Relevanta dokument
Datorsystem 5. På denna föreläsning skall vi prata om Operativsystem Exempel på tenta (typ fjolårets)

Innehåll. Programmeringsteknisk översiktskurs för yrkeshögskoleprogram. Operativsystem. Vad är/gör en processor? Klockhastighet

Programmeringsteknisk översiktskurs för yrkeshögskoleprogram

Operativsystem. Informationsteknologi sommarkurs 5p, Agenda. Slideset 7. Exempel på operativsystem. Operativsystem

Introduktion till hårdvara, mjukvara och operativsystem

Operativsystem Lektion 1. Lärare. Schema. Kurssajten Finns på adressen. Jan Erik Moström. Set Norman

Definition DVG A06. Varför operativsystem? Operativsystem. Översikt. - Vad är ett operativsystem?

Operativsystem DVG A06. Definition. Varför operativsystem? - Vad är ett operativsystem?

DVG A06. Operativsystem, mm. Karlstads universitet Datavetenskap. DVG A06 Johan Eklund. Datavetenskap, Karlstads universitet 1

Fö 7: Operativsystem. Vad är ett operativsystem? Målsättning med operativsystem. Styr operativsystemet datorn?

Operativsystem Introduktion

Lärare. Operativsystem. Handledning. Kurssajt. Schema. Lektioner. Jan Erik Moström

Författare: Juha Söderqvist IT-GUI. Version 1.0. Datum

Föreläsning 2. Operativsystem och programmering

Datorteknik ERIK LARSSON

DIG IN TO Dator och nätverksteknik

Vad är en dator? Introduktion till datorer och nätverk. Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018

Operativsystem. Hierarkin för hårdvara läses nerifrån

Operativsystem och användargränssnitt

DVA315 Operativsystem

Flera processer. Minneshantering. Trashing kan uppstå ändå. Ersätta globalt

DVA315 Operativsystem. Mats Björkman Mälardalens högskola

UNIX Introduktion UNIX. Datorerfarenhet. Vad menar man med operativsystem

Allmänt om programvaror och filer i Windows.

Operativsystem - input/output, skydd, virtualisering

KURSMÅL WINDOWS STARTA KURSEN

Operativsystem ID hp, ID2200 6hp

Introduktion till Linux. TDDC66 Datorsystem och programmering Föreläsning (i) Peter Dalenius Institutionen för datavetenskap

Introduktion till Unix och Linux

TDDIU81. Processer och trådar. Andreas Dahlberg, Jonathan Doherty, Tony Magnusson, Patrik Ottosson, Rasmus Siljedahl

SMD 134 Objektorienterad programmering

Introduktion till Linux. TDDC66 Datorsystem och programmering Föreläsning 1 Peter Dalenius Institutionen för datavetenskap

Systembeskrivning. Systemskiss. Moduler.

Tentamen i ID2206, ID2200 samt IS1350 Operativsystem

Dedikerad Server Vilket operativsystem ska jag välja? Är ni i startgroparna och ska beställa en dedikerad server eller en virtuell server?

Översikt. Datorarkitekturer med operativsystem. Inledning. Inledning

TDDC77 Objektorienterad Programmering

Vad händer när man kör ett program? Program och processer. Funktionsanrop. Avsluta programmet

Outline. Datorsystemtekni. Kravspecifikation. Kravspecifikation (forts.)

Operativsystem. IS hp. Jim Dowling Docent, PhD [Bilder av Robert Rönngren]

Kort-kort om utdelade användarkonton och datormiljön på NADA

Datorsystem. Laboration 3: Operativsystem Senast uppdaterad: 14 oktober 2012 Version 1.3. Student: Underskrift: Underskrift: Datum:

Datorer och datoranvändning Föreläsningar 2014/15. Föreläsning 1 Unix. Operativsystem. Unix

Handbok Fjärranslutning till skrivbord. Brad Hards Urs Wolfer Översättare: Stefan Asserhäll

FileMaker Pro 13. Använda Fjärrskrivbord med

HF0010. Introduktionskurs i datateknik 1,5 hp

DIG IN TO Dator och nätverksteknik

Objektorienterad programmering i Java I

Datorn från grunden. En enkel introduktion. Innehåll: Inledning 1 Vad är en dator? 2 Datorns olika delar 3 Starta datorn 5 Stänga av datorn 7

Handbok Dela Skrivbord. Brad Hards Översättare: Stefan Asserhäll

Introduktion till programmering, hösten 2011

Om installationsskärmen inte visas efter en minut startar du CD-skivan manuellt:

En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär:

Uppdatering till Windows 8.1 steg för steg-guide

Windows 8.1, hur gör jag?

Introduktion till Linux. TDDE23 Funktionell och imperativ programmering, del 1 Föreläsning 1 Peter Dalenius Institutionen för datavetenskap

Apple Remote Desktop 3. Viktor Glemme Systemingenjör - Apple glemme.v@euro.apple.com

Skapa mapp. * Gör så här: Det finns många sätt att skapa mappar, men det enklaste sättet brukar vara följande.

Trådar och Multiprocessorer. Föreläsning 6

Filsystem. Varför? Hur? För att kunna lagra data mer permanent än i RAM. Vettig organisation Vettiga namn

Instruktioner för Internetanslutning

RVS5000PC. Allmänt. RVS5000PC produktblad

Uppdatering till Windows 8.1 steg för steg-guide

Reservföreläsningen inställd

Din manual SHARP MX-M260

INSTALLATIONS- ANVISNING FÖR MJUKVARA

Test i datorkunskap Hårdvara

TeamViewer Installation och användning

Schemaläggningsmetodik för multi-core inom Windows 7 OS Vad är scheduling och hur schemalägger Windows OS sina processer?

Introduktion till datoranvändning. Välkomna till NADA. (Numerisk Analys och DAtalogi) och kursen. Datalogi, grundkurs 1, 15hp

Realtidssystem HT03. Vad är realtidssystem? Inbyggda system. Att programmera, Tasks (Uppgifter) Realtidssystem kräver analys

Installation av StruSofts låne-licensserver (nätverkslicens)

Lite mer om Javas stöd för fält. Programmering. Exempel: vad är det största talet? hh.se/db2004. Fält samt Input/Output

Användardokumentation för CuMaP-PC. Fleranvändarsystem och behörigheter

Kom igång med. Windows 8. DATAUTB MORIN AB

DIG IN TO Dator och nätverksteknik

Handbok Dela Skrivbord. Brad Hards Översättare: Stefan Asserhäll

Dagens OS. Unix, Linux och Windows. Unix. Unix. En översikt av dagens OS Titt på hur de gör. Många varianter Mycket gemensamt. En del som skiljer

Vad är viktigast? Sammanfattning. Processer och trådar. Processer och trådar. Flerprocessorsystem. Schemaläggning. Interprocesskommunikation.

Microsoft Office historik. - making IT easier

Datorsystem och programmering

Manuell installation av SQL Server 2008 R2 Express för SSF Timing

Programkonstruktion med datorintroduktion, 2D1339

Välkomna till NADA. Datalogi, grundkurs 1, 15hp. (Numerisk Analys och DAtalogi) och kursen. DA2001 (Föreläsning 1) Datalogi 1 Hösten / 28

Kursansvarig. Välkomna till NADA. Datorn som verktyg. Datalogi, grundkurs 1, 15hp

Installationsmanual OpenOffice 3.0

Operativsystem - Windows 7

Fö 5+6 TSEA81. Real-time kernel + Real-time OS

IDE USB kabel Windows XP, Vista 7 löäzxcvbnmqwertyuiopåasdfghjklöäz [Version 1.4, ]

25. Hämta Adobe Reader

Inlämningsuppgift 11e Nätvärksskrivare

Grundkurs i programmering - intro

Digitalkamera Bruksanvisning för programmet

Ja, men resultatet blir inte lika bra. Det är att skapa genvägsikoner. Se anvisningar nedan:

Din manual HP COMPAQ EVO D310 MICROTOWER

Tentamen PC-teknik 5 p

OPERATIVSYSTEM funktion och användning

Minnesisolering för virtuella maskiner en hypervisorstudie

FileMaker Pro 12. Använda Fjärrskrivbord med

Transkript:

Innehåll Operativsystem Vad är operativsystem och hur fungerar de Vad är ett OS? Syfte Att tillåta flera program att köra samtidigt Att fungera som ett abstraktionslager mot hårdvaran Att hantera olika resurser 84 Operativsystemets funktion Ett operativsystem (OS) är det som kontrollerar alla aktiviteter som sker i en dator Microsoft Windows XP, Mac OS X, Linux, UNIX Operativsystemet interagerar både med datorn och de olika applikationerna Hanterar processorns resurser Hanterar RAM-minnet Håller koll på lagringsresurserna Ser till att input och output fungerar som det ska Etablerar grunderna för användarytan Vart hittar men ett OS? Persondatorer Handdatorer/Mobiltelefoner Stordatorer Inbyggda system (embedded systems) Ett radarsystem En symaskin En tryckpress Olika krav på operativsystemet beroende på vart de finns 86 OS hanterar processorns resurser Ett OS styr också processorn lite, fast på en högre nivå. Många aktiviteter = många processer som behöver CPU-kraft. Kommandon för program, input från mus och tangentbord, information till skärm, skrivare, nätverk OS hjälper processorn att fördela arbetet så att alla processer får utnyttja CPUn. Alla ska få lika mycket kraft och CPUn ska inte vara sysslolös. Idealt ser det ut som att datorn gör flera saker samtidigt...

OS och minnet När processorn jobbar lagras information i RAM-minnet När flera applikationer körs samtidigt måste OS:et se till att alla får var sitt område i RAM-minnet att programmen bara kommer åt sitt eget område i minnet (om minnet inte ska vara delat) Om detta händer kan data förstöras, och ett program krascha Ofta får man felmeddelanden som General Protection Fault, Segmentation Fault eller Bus Error Datorns övriga program klarar sig från programmet det gått fel i. Interagerar man som användare direkt med OS? Ja, ibland. Oftast via nyttoprogrammen (utilities) n!" man startar upp program hanterar filer (skapar, flyttar, döper om) använder hjälpen förändrar den grafiska användarytan konfigurerar utrustning (hårdvara och externa enheter) Hur kommunicerar våra program med OS? Systemanrop Särskilda funktioner som ett program kan anropa för att be operativsystemet utföra en tjänst åt programmet (som programmet inte själv får utföra) Används tex för: lågnivå fil I/O (inte tex printf utan på lägre nivå än så) process kontrol (avsluta program) processkomunikation (kommunicera med andra program) Ser ut som vanliga funktionsanrop i C, men själva uppgiften kommer att utföras av operativsystemet 90 Systemanrop För det mesta så behöver våra program inte direkt använda sig av systemanropen utan vi kan använda oss av mer användarvänliga biblioteksfunktioner (som i sin tur använder sig av systemanropen) På kursen Systemnära programmering kommer ni få skriva program som jobbar mer intimt med operativsystemet 91 Unix arkitektur Exempel på systemanrop (Solaris) Systemanrop för lågnivå I/O int creat(const char *path, mode_t mode) int open(const char *path, int oflag, /* mode_t mode */...) int close(int fildes) ssize_t read(int fildes, void *buf, size_t nbyte) ssize_t write(int fildes, const void *buf, size_t nbyte) Systemanrop för process kontroll pid_t fork(void) int execvp(const char *file, char *const argv[]) void exit(int status) Systemanrop för rättighetshantering int setuid(uid_t uid) int chmod(const char *path, mode_t mode) I/O funktionerna ovan används tex av printf som ni använt er av för utskrifter 93

OS och input och output Alla enheter som är kopplade till en dator ses som en resurs. OS håller reda på dessa och använder drivrutiner för att kunna prata med dem på ett enkelt sätt Varnar om något gått fel Ser till att informationen till och från enheterna lagras i buffrar så att inget tappas bort och för att öka prestanda. OS och användarytan Användaryta (user interface) definieras som den kombination av hårdvara och mjukvara som hjälper människa och dator att kommunicera Ett OS kan antingen ha en grafisk användaryta - Graphical user interface (GUI) Xerox, Apple (Macintosh) 1984, PC-datorer ca 1992 vara kommandoradsbaserad - Command-line user interface Vart lagras operativsystemet? På handdatorer/speldatorer ryms hela OS i ROM På de flesta datorer ryms endast ett litet program som kallas bootstrap-program i ROM. Ger instruktioner om vilka program som ska lagras in i RAM när datorn startar upp (bootar) Minneshantering och filaccess laddas alltid in, andra delar laddas när de behövs Den del av OS som alltid är inladdat kallas kärnan (kernel). OS och lagringsresurser OS beter sig som en arkivarie Kommer ihåg namnet och platsen för alla dina filer. Filsystemet Håller koll på tomma utrymmen där nytt data kan lagras. Typer av operativsystem forts Single-user operating system Förutsätter att en enda person använder datorn handdatorer och en del persondatorer DOS Multi-user operating system en dator kan användas av flera personer samtidigt IBMs OS/390 Network operating system/server operating system fleranvändarsystem där man dessutom kan dela på resurser som skrivare, data, program UNIX, LINUX, Solaris Dessa är både server och mulit-user OS! Multitasking operating system kan hantera två eller flera processer samtidigt, de flesta OS är detta! Desktop operating system utvecklad för en enskild datoranvändare men har också nätverkshantering ofta två typer av OS Home och Professional där Home har mindre nätverkshanteringsverktyg Windows och MacOS 99

Fleranvändarsystem Operativsystemet ansvarar för att de olika användarna kan jobba med datorn samtidigt Måste hantera säkerhet mellan användarna internt på datorn Måste tex. hantera filrättigheter, vilka program som får köras av en viss användare etc. 100 Olika operativsystem DOS är det första OS som använts av många personer DOS (Disk Operating System) utvecklades 1982 av Microsoft och var kärnan i Windows 3.1, 95, 98 och ME Mac OS är det första OS:et med grafisk användaryta Utvecklades tidigare (ca 1984) än Windows och har samma uppbyggnad med fönster, ikoner, menyer och muspekare Sedan 2000 MacOS X som är ett unix-system i grunden. Windows utvecklades från DOS och blev populärt ca 1992 80% av persondatorerna kör ett Windows OS (data från 2004) UNIX/LINUX UNIX utvecklades redan 1969 medan Linux utvecklades 1991 LINUX är gratis och distribueras under en speciell licens General Public License (GPL). Alla får vara med och skriva på OS-koden Red Hat Linux, Caldera OpenLinux, Debian GNU/Linux PalmOS och Windows MobileOS är exempel på OS till handdatorer Multitasking Hur schemalägger man processer? Multitasking är en metod som tillåter flera program (processer), att dela på gemensamma resurser som tex en CPU. Om vi bara har en CPU kan endast en process körs samtidigt vid varje given tidpunkt på processorn. Multitasking löser problemet genom att bestämma vilket program som ska få köra vid varje tillfälle, och när nästa program ska få chans att köras. Bytet mellan program som får köra på processorn kallas en context switch. När detta sker nog ofta ges illusionen av att programmen körs parallellt (samtidigt). Vid en context switch sparas programmets tillstånd undan (tex register) Ibland finns inbyggt stöd i processorn för detta Även på system med flera processorer används detta för att man ska kunna köra fler program än man har processorer. Hushålla med olika resurser Att tänka på Minimera respons tiden Maximera CPU effektiviteten Rättvisa mellan olika program 102 103 Interaktiva system Svarstid Användarna accepterar inte fördröjningar Förväntad svarstid Mycket subjektiv Kopiera till en annan maskin jmf. lokalt Maxtiden en process får köra innan man måsta byta måste hållas relativt kort Flera program samtidigt Cooperative multitasking/time-sharing Tidiga operativsystem som tillät att flera program körde samtidigt bestod av grupper av program som frivilligt gav exekveringstid till varandra. Denna strategi stöddes tillslut av många operativsystem. Idag känt som cooperative multitasking. Används i stort sett inte längre Användes bla av: Microsoft Windows innan Windows 95 och Windows NT MacOS innan MacOSX Förutsätter att varje applikation regelbundet ger tid till andra applikationer att exekvera. Ett enda program kan få allt att sluta fungera genom att inte låta de andra fortsätta Preemptive multitasking/time-sharing Timer avbryter processen som körs och ger kontrollen till operativsystemet Operativsystemet kan då avgöra vilket program som ska få exekvera härnäst Olika system kan användas för vilket program som ska köras. Tex kan olika program ges olika prioritet I ett sådant här system så kan inte ett enskilt program låsa upp hela datorn. Vanligast idag 104 105

Batch system I ett sådant system ställer man sin applikation på kö för att köras, och kör en (eller ett fåtal) applikationer tills de har exekverat färdigt och meddelar sedan användaren vad resultatet blev av programkörningen. Fyller sedan på med nya applikationer när det blir ledigt Används på datorer där det är viktigt att hålla CPU:n arbetande (med att lösa problem) hela tiden, och där användaren inte måste interagera med programmet under körningen 106