Operativsystem - Processer I

Storlek: px
Starta visningen från sidan:

Download "Operativsystem - Processer I"

Transkript

1 Operativsystem - Processer I Mats Björkman

2 Innehåll n Processer (föreläsning 2, den här) n n n Processmodell Processtillstånd Trådar n Processkommunikation (föreläsning 3) n n n Semaforer Monitorer Meddelandesystem n Skedulering/schemaläggning (föreläsning 4) n n Kriterier för en skedulerare Skeduleringsalgoritmer Operativsystem, Mats Björkman, MDH 2

3 Lärandemål n Program, process, tråd, task n Programräknare, stackpekare, processorregister n Kontextbyte n Skedulerare Operativsystem, Mats Björkman, MDH 3

4 Förenklingar för stunden n Vi antar ett enprocessorsystem med en processorkärna i processorn n Vi antar att processorn är sekventiell och utför en instruktion i taget n Vi antar att kompilatorer skapar objektkod där saker händer i samma ordning som i källkoden Operativsystem, Mats Björkman, MDH 4

5 Vad menas med exekvering? n När processorn kör ett program, stegar den sig igenom objektkoden och utför en instruktion i taget Operativsystem, Mats Björkman, MDH 5

6 Kraschkurs i assembler: 00008abe <_E>: 8abe: mov.w #0x5 8ac2: bsr.+2 (8ac6) 00008ac4 <.ef>: 8ac4: rts PC 00008ac6 <_E_sub>: 8ac6: sub.w r1,r1 8ac8: 1d 01 1d 01 cmp.w r0,r1 8aca: 4e 20 4e 20 bgt.+32 (8aec) 00008acc <.L6>: 8acc: 0d 13 0d 13 mov.w r1,r3 8ace: add.w r3,r3 8ad0: 6b 02 a8 d4 6b 02 a8 d4 8ad4: add.w r3,r2 8ad6: 6b 82 a8 d4 6b 82 a8 d4 mov.w r2,@0xa8d4:16 8ada: add.w r1,r3 8adc: 6b 02 a8 d6 6b 02 a8 d6 8ae0: add.w r3,r2 8ae2: 6b 82 a8 d6 6b 82 a8 d6 mov.w r2,@0xa8d6:16 8ae6: 0b 01 0b 01 adds #0x1,er1 8ae8: 1d 01 1d 01 cmp.w r0,r1 8aea: 4f e0 4f e0 ble.-32 (8acc) 00008aec <.L5>: 8aec: rts Operativsystem, Mats Björkman, MDH 6

7 Programräknare n Programräknaren (PC) pekar ut den aktuella instruktionen som skall utföras n Programräknaren sparas ibland för att man skall kunna hitta tillbaka om man ger sig ut på tillfälligt besök i en annan del av koden Operativsystem, Mats Björkman, MDH 7

8 Subrutiner 00008abe <_E>: 8abe: mov.w #0x5 8ac2: bsr.+2 (8ac6) 00008ac4 <.ef>: 8ac4: rts 00008ac6 <_E_sub>: 8ac6: sub.w r1,r1 8ac8: 1d 01 1d 01 cmp.w r0,r1 8aca: 4e 20 4e 20 bgt.+32 (8aec) 00008acc <.L6>: 8acc: 0d 13 0d 13 mov.w r1,r3 8ace: add.w r3,r3 8ad0: 6b 02 a8 d4 6b 02 a8 d4 8ad4: add.w r3,r2 8ad6: 6b 82 a8 d4 6b 82 a8 d4 mov.w 8ada: add.w r1,r3 8adc: 6b 02 a8 d6 6b 02 a8 d6 8ae0: add.w r3,r2 8ae2: 6b 82 a8 d6 6b 82 a8 d6 mov.w 8ae6: 0b 01 0b 01 adds #0x1,er1 8ae8: 1d 01 1d 01 cmp.w r0,r1 8aea: 4f e0 4f e0 ble.-32 (8acc) 00008aec <.L5>: 8aec: rts Operativsystem, Mats Björkman, MDH 8

9 Subrutinanrop n Subrutinanrop stöds av processorn: n Programräknaren sparas när man hoppar iväg (BSR Branch to Subroutine) Operativsystem, Mats Björkman, MDH 9

10 Subrutinanrop n När man vill hoppa tillbaka (RTS Return from Subroutine) plockas den sparade programräknaren (kallas då ofta återhoppsadressen) fram och man hoppar tillbaka till där man var n Exekveringen fortsätter med instruktionen efter BSR Operativsystem, Mats Björkman, MDH 10

11 Subrutinanrop BSR RTS Operativsystem, Mats Björkman, MDH 11

12 BSR Subrutinanrop PC sparas PC återhämtas RTS Operativsystem, Mats Björkman, MDH 12

13 Subrutiner på hög nivå n I språk på högre nivåer motsvaras subrutinen av proceduranrop och funktionsanrop Operativsystem, Mats Björkman, MDH 13

14 Var sparas programräknaren? n För att möjliggöra nästade subrutiner, d.v.s. ett subrutinanrop inuti en subrutin, behöver vi mer än en fix plats att lagra programräknaren n I tidiga arkitekturer fanns fasta register som användes, vilket begränsade möjligheten till nästade anrop till ett fix antal (exv. 7 i 8008) Operativsystem, Mats Björkman, MDH 14

15 Var sparas programräknaren? n Reentrant kod (att kunna anropa en procedur medan proceduren själv redan exekveras) är ett måste i de flesta moderna programspråk, exv. för att möjliggöra rekursion. n Då måste vi potentiellt kunna spara ett stort antal återhoppsadresser Operativsystem, Mats Björkman, MDH 15

16 Stacken n För att kunna spara undan programräknare och även andra data som kan behöva sparas vid reentranta proceduranrop, har moderna processorer en eller flera stackar n Stacken är ett minnesutrymme där man lagrar dessa data Operativsystem, Mats Björkman, MDH 16

17 Stackpekaren n Processorn har en stackpekare (SP), ett register som pekar ut aktuell position i stackminnet n Vid subrutinanrop läggs återhoppsadressen överst på stacken (push) n Vid återhopp plockas återhoppsadressen av från stacken (pop) Operativsystem, Mats Björkman, MDH 17

18 Stackpekaren n Stackminnet (och stackpekaren) är unikt för den pågående exekveringen, varje process behöver sitt eget stackminne, och har man flera trådar i en process (mer om detta strax), så behöver man en egen stack för varje tråd Operativsystem, Mats Björkman, MDH 18

19 Varför: Multiprogrammering n Fördelar: n Flera aktiviteter samtidigt n Förbättrar utnyttjandet av hårdvaran n Möjliggör fleranvändarsystem Operativsystem, Mats Björkman, MDH 19

20 Varför: Multiprogrammering n Nackdelar: n Ökad overhead för kontextbyten mellan processer n Konflikter (baklåsproblem m.m.) n Komplexitet!! Operativsystem, Mats Björkman, MDH 20

21 Processmodell n Definition: Concurrency (Pseudoparallellism) Program counter 4 Program Counters Context Switch A B C D D C B A A B C D Time Operativsystem, Mats Björkman, MDH 21

22 Lite terminologi n En process kallas även: n Jobb från batchtiden n Task från realtidsvärlden n Inuti en process kan det finnas flera trådar (threads) som exekverar (mer om detta senare) n Lite förvirrande kallas även trådar ibland för tasks Operativsystem, Mats Björkman, MDH 22

23 Lite terminologi n Multiprogrammering och multitasking är samma sak n Timesharing är multitasking++! n och: multi i multiprogrammering och multitasking har inget att göra med hur mycket hårdvara man har! Operativsystem, Mats Björkman, MDH 23

24 Uniprogrammering n Processorn måste vänta på att I/Ooperationen blir klar innan exekveringen kan fortsätta Operativsystem, Mats Björkman, MDH 24

25 Multiprogrammering n När ett jobb (en process) måste vänta på I/O, kan processorn byta till ett annat jobb (process) Operativsystem, Mats Björkman, MDH 25

26 Multiprogrammering Operativsystem, Mats Björkman, MDH 26

27 Olika modeller för multitasking n Cooperative multitasking processerna talar själva om när de vill att någon annan skall få exekvera n Preemptive multitasking OS:et avbryter processen när det är dags för en annan process att få exekvera Operativsystem, Mats Björkman, MDH 27

28 Cooperative multitasking n Vanligast i små system (typ inbyggda system) när man har full koll på vilka processer som exekverar n Enkelt, processen säger själv till när den vill lämna ifrån sig processorn n Mycket felkänsligt och säkerhetskänsligt! Operativsystem, Mats Björkman, MDH 28

29 Preemptive multitasking n Det allra vanligaste i större system och i system där man inte kan lita på alla processer n Operativsystemet sätter upp en maximal tid som en process får exekvera i ett svep (tidskvanta eller timeslice) Operativsystem, Mats Björkman, MDH 29

30 Preemptive multitasking n Om en process exekverar maxtiden i ett svep så genererar operativsystemet ett avbrott (interrupt) och byter process Operativsystem, Mats Björkman, MDH 30

31 Vad gör egentligen ett OS? Loop forever { Run the process for a while } Stop the process and save its state Load state of another process Operativsystem, Mats Björkman, MDH 31

32 Vad är en process? n n n n n n n n n Wikipedia: En process är en instans av ett program som exekveras sekventiellt av en processor Resurshanterare: Håller reda på alla resurser ett program behöver Minne för programkod och data Processtillstånd Öppna filer Håller också reda på tillståndet för varje resurs Operativsystem, Mats Björkman, MDH 32

33 Processtillstånd vs processtillstånd n En process har ett tillstånd, det är en ögonblicksbild med all den specifika information som behövs om vi vill återskapa processen precis som den är just nu n I ett OS befinner sig också processen i ett tillstånd, exempelvis körklar, väntande, exekverande, suspenderad Operativsystem, Mats Björkman, MDH 33

34 Processtillstånd n I ögonblickbilden (tillståndet) ingår bland annat ett antal hårdvaruregister som finns i processorn Operativsystem, Mats Björkman, MDH 34

35 Hårdvarutillstånd, exempel n PC (programräknare), som pekar ut var i programkoden processen befinner sig n Register, som håller variabler som processen just arbetar med n Stackpekare (SP), arbetsstacken är ett måste för en process (proceduranrop, interrupts) Operativsystem, Mats Björkman, MDH 35

36 Hårdvarutillstånd, exempel forts. n Statusregister för processen (privilegienivå exv.) n Minnespekare, processens minnesareor måste pekas ut (mer om detta i avsnittet om virtuellt minne) Operativsystem, Mats Björkman, MDH 36

37 Processer i OS n Operativsystemet hanterar processer genom att: n n n n n n n Skapa processer Kontrollera processer Byta mellan processer Avbryta processer Avsluta processer Kommunicera med processer och mellan processer Hålla rätt på processtillstånd Operativsystem, Mats Björkman, MDH 37

38 Processmodell med 2 tillstånd n Varje process befinner sig i endera av två tillstånd: n Körande n Icke körande Operativsystem, Mats Björkman, MDH 38

39 Ködiagram 2 tillstånd Operativsystem, Mats Björkman, MDH 39

40 Processmodell med 3 tillstånd Tillstånd n Running n Ready n Waiting Tillståndsövergångar Ready 1. En ny process väljs att exekvera Running Waiting 2. Processen avbryts för att en annan process skall exekvera 3. Processen blockeras (exv. i väntan på I/O) 4. Processen är inte längre blockerad Operativsystem, Mats Björkman, MDH

41 Ködiagram tre tillstånd Operativsystem, Mats Björkman, MDH 41

42 Processmodell från UNIX Operativsystem, Mats Björkman, MDH 42

43 Processmodell från Windows Operativsystem, Mats Björkman, MDH 43

44 Implementering av processmodellerna n OS:et behöver en processtabell, varje process behöver ett: n Process Control Block (PCB) n Processtillstånd n PC, SP, registerinnehåll, n Pekare till dataarea n Pekare till kod n Fildeskriptorer med filtillstånd n Skeduleringsinformation (ägare, prio etc.) Operativsystem, Mats Björkman, MDH 44

45 Implementering forts. n I OS-kärnan: n Mekanism för processbyten (dispatcher) n Skedulerare n Semaforhanterare n Kommunikationshanterare n Minneshanterare Operativsystem, Mats Björkman, MDH 45

46 PCB Code Data Stack R0 Rn PC SP STATE Exempel på implementation PCB Code Data Stack R0 Rn PC SP STATE Process Table PCB Code Data Stack R0 Rn PC SP STATE Synchronization Manager Inter Process Communication Manager OS Kernel Context Switch Scheduler Memory Manager File Manager CPU Memory HD Operativsystem, Mats Björkman, MDH 46

47 När skall OS:et byta process? n Klockavbrott n Processen har exekverat sitt tillåtna tidskvanta (quantum, time slice) n I/O-interrupt n Sidfel (sidan fanns inte i primärminnet) n Trap (något slags fel har uppstått, eller ) n Systemanrop (exv. open file, wait for user input)) Operativsystem, Mats Björkman, MDH 47

48 Skedulering och kontextbyte n En process kan frivilligt ge upp CPU:n genom: n att utföra I/O (exv. getchar()) n att gå till ett väntetillstånd (exv. sleep) n Alternativt kan OS:et välja att byta process på grund av: n Processen har exekverat tillräckligt länge n Processen råkar ut för något som tar tid (exv. sidfel, en minnessida måste hämtas från disk) Operativsystem, Mats Björkman, MDH 48

49 Skedulering och kontextbyte n När en process skall bytas ut, gör OS:et: n Växla ut den gamla processen n Välj en annan process att köra n Växla in den nya processen Operativsystem, Mats Björkman, MDH 49

50 Policies och mekanismer n Skedulering och kontextbyte är bra exempel på hur OS:ets arbete kan separeras i policies och mekanismer (boken 2.4.5) n Policies är vad som skall göras och varför n Mekanismer är hur något skall göras n Mekanismerna kan och bör implementeras fristående från policies Operativsystem, Mats Björkman, MDH 50

51 Skedulering och kontextbyte n I exemplet skedulering och kontextbyte: n Policies är till exempel: n Hur länge skall en process få exekvera innan den blir avbruten? n Vilken ny process skall väljas av flera möjliga? n Mekanismer är till exempel: n n Hur avbryts en pågående process? Hur sparas processtillståndet? Operativsystem, Mats Björkman, MDH 51

52 Skeduleraren n Beslutar vilken process som skall exekvera n Flyttar processerna mellan tillstånd Processes 0 1 n-2 n-1 Scheduler Operativsystem, Mats Björkman, MDH 52

53 Kontextbyte Görs av hårdvaran n Ett interrupt inträffar processormode sätts till kernel mode hårdvaran lägger PC+SP+REG på stacken Interruptrutinen lokaliseras Interruptrutinen sparar REG+PC+ i PCB:n + hanterar interruptet Skeduleraren väljer en process (PCB) att köra härnäst Informationen som finns i den nya PCB:n läggs in på sina rätta ställen Återgång till processen förbereds, processormode sätts till user mode, återhopp sker från interruptrutinen Timer PCB1 PCB2 PCB3 Interrupt Service Procedure (ISP) Scheduler CPU IRQ Vector Stack 53

54 Skeduleringsexempel: Earliest deadline first Time Running Ready Waiting Hur ser exekveringen ut? Notation: Pn(m) = Process n har m enheter exekvering kvar Pn[m] = Process n har en starttid (release time) m. Process Execution Time Release Time Deadline P P P P P S P1(2), P3(5) P4[2], P5[6], P2[8] P1(2) P3(5) P1(1) P4(1) P3(5) P5[6], P2[8] P3(5) - P3(4) P3(3) P5(3) P3(2) P2[8] P5(2) P5(1) P3(2), P2(3) - P3(2) P2(3) P3(1) P2(3) - P2(2) P2(1) 54

55 Flera nivåer av skedulerare n Skeduleraren vi har talat om hittills kallas ibland korttidsskedulerare n Om man har väldigt många processer som vill köra kommer resurserna att bli för snuttifierade (facktermen är för hög grad av multiprogrammering, d.v.s. för många processer igång samtidigt) Operativsystem, Mats Björkman, MDH 55

56 Flera nivåer av skedulerare n För att begränsa antalet körande processer kan OS:et välja att låta vissa processer (typiskt sådana med låg prioritet) vänta helt och hållet n Dessa processer läggs ut på disk (swapping, processerna swappas ut), och plockas vid ett senare tillfälle in i gen (swappas in) Operativsystem, Mats Björkman, MDH 56

57 Flera nivåer av skedulerare n Skeduleraren som avgör vad som swappas ut och in jobbar över större tidsrymder än korttidsskeduleraren n Kallas ibland medium-time scheduler (medeltidsskedulerare?) Operativsystem, Mats Björkman, MDH 57

58 Systemanrop n n Systemanropet är processernas sätt att be OS:et om att få något utfört Anropet är omgivet av begränsningar och skydd eftersom: n n OS:et är priviligierat (kör i kernel mode) och kan göra vad som helst Användarprogram kan vara illasinnade Operativsystem, Mats Björkman, MDH 58

59 Systemanrop i UNIX och Win32 Några exempel på systemanrop Operativsystem, Mats Björkman, MDH 59

60 Flera exekveringsmoder n Många OS har någon variant på ringar för skydd n Ringkonceptet kommer från MULTICS n En process som exekverar i en inre ring har alla privilegier från alla yttre ringar + några till n MULTICS hade 8 nivåer Operativsystem, Mats Björkman, MDH 60

61 Flera exekveringsmoder n Intels x86-processorer har (sedan 80286) en ringmodell med fyra nivåer n I praktiken används dock bara två Operativsystem, Mats Björkman, MDH 61

62 Olika exekveringsmoder n User Mode n Mode med få/inga/låga privilegier n De flesta användarprocesser exekverar i user mode n Supervisory Mode/Kernel Mode n Höga (alla) privilegier; kan exekvera alla instruktioner n OS-kärnan exekverar i kernel mode(!) Operativsystem, Mats Björkman, MDH 62

63 Olika exekveringsmoder n Byte från user mode till kernel mode: n Exekvera TRAP-instruktionen (systemanropsexemplet) n För att komma tillbaka till user mode? n Sätt om moden (peta i processorns statusregister), i kernel mode kan man göra det! Operativsystem, Mats Björkman, MDH 63

64 Flera stackar n Det är vanligt att en process har flera stackar n En stack för vanlig exekvering i User mode n En stack för exekvering i Kernel mode n (eventuellt flera) Operativsystem, Mats Björkman, MDH 64

65 Varför flera stackar? n OS:et kan använda processens stack från User mode, men n eftersom användarprocessen kan hantera den stacken, så kan den också missbruka den, och då ställa till problem för OS:et Operativsystem, Mats Björkman, MDH 65

66 Varför flera stackar? n Exempel: Antag att användarstacken har precis nått upp till toppen på en minnessida n Om man försöker lägga något på stacken så utlöses ett sidfel för att en ny minnessida behöver allokeras Operativsystem, Mats Björkman, MDH 66

67 Varför flera stackar? n Nu gör användaren ett systemanrop med sin stack fylld till toppen på sidan n TRAP-rutinen försöker pusha PC m.m. på stacken, men utlöser då ett sidfelsinterrupt n Interruptrutinen försöker pusha PC m.m. på stacken, men utlöser då ett sidfelsinterrupt Operativsystem, Mats Björkman, MDH 67

68 Varför flera stackar? n För att undvika dessa saker har man oftast en separat kernel stack för varje process n Denna stack är oåtkomlig från User mode och användarprocessen kan därför inte göra något dumt med den Operativsystem, Mats Björkman, MDH 68

69 Varför flera stackar? n Så fort man kommit in i kernel mode (via TRAP, interrupt etc.) byts stackpekaren från användarstacken till kernel stack n Vid återgång från kernel mode sker byte till användarstacken innan återhopp sker Operativsystem, Mats Björkman, MDH 69

70 Trådar (threads) n Traditionella processer har bara en exekveringstråd n Ett sätt att åstadkomma mer lättviktiga alternativ till processer är att tillåta mer än en pågående exekvering i samma process n Tänk det som att vi låter flera processer dela minne Operativsystem, Mats Björkman, MDH 70

71 Trådar (threads) n Trådtabell n PC, Register, - Unikt för tråden n Tillstånd - Unikt för tråden n Adressrymd - Delas inom hela processen n Stackpekare - Unikt för tråden n Stackminne - Delas oftast inom processen Thread Process Single threaded OS Multi threaded OS Operativsystem, Mats Björkman, MDH 71

72 Processer och trådar n Resursägande (process) n Öppnade filer, minnessidor, etc. n Skedulering/exekvering (tråd) n Programräknare, stackpekare(!!!), register etc. n Varje process har minst en exekveringstråd n Multitrådning n OS:et stöder flera samtidiga exekveringstrådar inom en och samma process Operativsystem, Mats Björkman, MDH 72

73 Processer kontra trådar n Process n n n Tråd En adressrymd där processen exekverar Skyddas av OS:et mot andra processer vad gäller minne, filer, I/O etc. n Ett exekveringstillstånd (running, ready, waiting,...) n n En exekveringsstack (parametrar, lokala variabler) Kommer åt processens minne och övriga resurser Operativsystem, Mats Björkman, MDH 73

74 Processer kontra trådar Operativsystem, Mats Björkman, MDH 74

75 Varför trådar? n Tar mindre tid att skapa och terminera än en process (slipper allokera/lämna tillbaka minne) n Går snabbare med kontextbyte, minneskontexten är densamma n Trådar kan kommunicera med varandra utan att behöva gå via OS:et Operativsystem, Mats Björkman, MDH 75

76 Varför trådar? n Trådar används ofta när ett program har flera saker den vill göra samtidigt n Exempel: Rättstavning i Word n Exempel: Webläsare laddar bilder parallellt n Varför inte egna processer? n De jobbar på delat data (Wordfil respektive websida) n Mindre kostsamt än att ha flera processer Operativsystem, Mats Björkman, MDH 76

77 Windows - trådtillstånd Operativsystem, Mats Björkman, MDH 77

78 Tasks n Används ibland i realtidssystem som ett alternativt namn på processer n I vissa språk (Ada exv.) är tasks benämningen på trådar n I Linux är tasks enheten som OS:et skedulerar Operativsystem, Mats Björkman, MDH 78

79 Lärandemålen igen n Program, process, tråd, task n Programräknare, stackpekare, processorregister n Kontextbyte n Skedulerare Operativsystem, Mats Björkman, MDH 79

Operativsystem - Processkedulering

Operativsystem - Processkedulering Operativsystem - Processkedulering Mats Björkman 2015-02-02 Innehåll n Processer (föreläsning 2) n n n Processmodell Processtillstånd Trådar n Processkommunikation (föreläsning 3) n n n Semaforer Monitorer

Läs mer

Datorteknik ERIK LARSSON

Datorteknik ERIK LARSSON Datorteknik ERIK LARSSON Inledning Ken Thompson och Dennis M. Ritchie utvecklade C Turingpriset( Nobelpris i datavetenskap ), 1983 Alan Turing (1912-1954) För deras utveckling av generell OS teori och

Läs mer

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

Fö 5+6 TSEA81. Real-time kernel + Real-time OS Fö 5+6 TSEA81 Real-time kernel + Real-time OS Stackens användningsområde * JSR / RTS : returadress * Temporärdata (push / pop) void myfunc(void) { int i; // hamnar nog i register int test[10]; // hamnar

Läs mer

Outline. Datorsystemtekni. Kravspecifikation. Kravspecifikation (forts.)

Outline. Datorsystemtekni. Kravspecifikation. Kravspecifikation (forts.) Outline för D2, ICT2, E3 och Mek3 Nicholas Wickström Högskolan i Halmstad Sverige p.1/18 Förra föreläsningen Specifikation -Kravspecifikation -Funktionsspecifikation -Blockdiagram Operativsystem -Grunder,

Läs mer

Operative system. LRU-algoritm (2 p) Svar: 7 fel. c) Optimal algoritm (2 p) Svar: 6 fel

Operative system. LRU-algoritm (2 p) Svar: 7 fel. c) Optimal algoritm (2 p) Svar: 6 fel Uppgift 3 Till en process som kräver 8 sidor allokeras 4 sidoramar. Antag följande referenssträng: 1,2,8,3,4,3,8,2,1,4 Hur många sidofel kommer att genereras (demand paging) med en a) FIFO-algoritm (2

Läs mer

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

Fö 7: Operativsystem. Vad är ett operativsystem? Målsättning med operativsystem. Styr operativsystemet datorn? Fö 7: Operativsystem Introduktion. Klassificering. Vad är ett operativsystem? Program som kontrollerar andra andra program. Gränssnitt mellan användare och hårdvaran. Kärnan. Historisk översikt. Typeset

Läs mer

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

TDDIU81. Processer och trådar. Andreas Dahlberg, Jonathan Doherty, Tony Magnusson, Patrik Ottosson, Rasmus Siljedahl TDDIU81 Processer och trådar Andreas Dahlberg, Jonathan Doherty, Tony Magnusson, Patrik Ottosson, Rasmus Siljedahl Sammanfattning Den här rapporten innehåller en kort genomgång av allmän process och trådhantering

Läs mer

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

En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär: Lösningsförslag för 725G45-tentan 3/11-10 1. Vad menas med Von Neumann-arkitektur? (2p) En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär: Data och instruktioner lagras i samma

Läs mer

Översikt. Datorarkitekturer med operativsystem. Inledning. Inledning

Översikt. Datorarkitekturer med operativsystem. Inledning. Inledning Datorarkitekturer med operativsystem ERIK LARSSON Översikt Inledning Inledning Inledning En processor eller central processing unit (CPU) är enheten som exekverar program i en dator En dator är en maskin

Läs mer

Operativsystem ID2206 7.5hp, ID2200 6hp

Operativsystem ID2206 7.5hp, ID2200 6hp Operativsystem ID2206 7.5hp, ID2200 6hp Robert Rönngren Innehåll Om kursen www.it.kth.se/courses/id2206 ID2200 Vad är ett operativsystem och varför ser de ut som de gör? kap. 1.1-1.3, 1.6-1.7 Processer

Läs mer

F8: Undantagshantering

F8: Undantagshantering F8: Undantagshantering Undantagshantering i 68 Vad är ett undantag? Typer av undantag Att skriva undantagsrutiner Undantagshantering, vad och varför? Exempel: Ett system ska mäta temperatur var :e sekund

Läs mer

Operativsystem. IS1350 7.5hp. Jim Dowling Docent, PhD jdowling@kth.se. [Bilder av Robert Rönngren]

Operativsystem. IS1350 7.5hp. Jim Dowling Docent, PhD jdowling@kth.se. [Bilder av Robert Rönngren] Operativsystem IS1350 7.5hp Jim Dowling Docent, PhD jdowling@kth.se [Bilder av Robert Rönngren] Innehåll Om kursen w w w. i t. k t h. s e / c o u r s e s / I S 1 3 5 0 Vad är ett operativsystem och varför

Läs mer

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

Flera processer. Minneshantering. Trashing kan uppstå ändå. Ersätta globalt Flera processer Minneshantering Operativsystem lektion 6 Potentiellt problem: Den sida som plockas bort behöver inte vara den sida som används minst!! Det kan finnas andra processer som inte körs eller

Läs mer

Institutionen för elektro- och informationsteknologi, LTH

Institutionen för elektro- och informationsteknologi, LTH Datorteknik Föreläsning 5 Realtidssystem och realtidsprogrammering Mål Att du ska förstå hur avbrott används för - Mätning - Styrning - Stöd för körning av flera processer Att du ska förstå begreppet tråd

Läs mer

Datorteknik. Föreläsning 5. Realtidssystem och realtidsprogrammering. Institutionen för elektro- och informationsteknologi, LTH.

Datorteknik. Föreläsning 5. Realtidssystem och realtidsprogrammering. Institutionen för elektro- och informationsteknologi, LTH. Datorteknik Föreläsning 5 Realtidssystem och realtidsprogrammering Mål Att du ska förstå hur avbrott används för - Mätning - Styrning - Stöd för körning av flera processer Att du ska förstå begreppet tråd

Läs mer

Operativsystem - input/output, skydd, virtualisering

Operativsystem - input/output, skydd, virtualisering Operativsystem - input/output, skydd, virtualisering Mats Björkman 2015-03-12 Lärandemål, I/O n Typer av I/O-enheter n Character, Block & Special n Minnesmappad I/O n Typer av I/O-programmering n Programmerad,

Läs mer

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

Operativsystem. Innehåll. Operativsystemets funktion. Vad är ett OS? Vart hittar men ett OS? OS hanterar processorns resurser 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

Läs mer

Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng

Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng Lunds Universitet LTH Ingenjörshögskolan, Helsingborg Svar till tentamen den 16 december 2013 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng Skrivtid: 08.00-13.00 Tillåtna hjälpmedel: Inga. Maximalt

Läs mer

Datorteknik ERIK LARSSON

Datorteknik ERIK LARSSON Datorteknik ERIK LARSSON C - Inledning Ken Thompson och Dennis M. Ritchie utvecklade C Turingpriset( Nobelpris i datavetenskap ), 1983 Alan Turing (1912-1954) För deras utveckling av generellt OS teori

Läs mer

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

Operativsystem. Informationsteknologi sommarkurs 5p, 2004. Agenda. Slideset 7. Exempel på operativsystem. Operativsystem 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

Läs mer

Operativsystem - Processkommunikation

Operativsystem - Processkommunikation Operativsystem - Processkommunikation Mats Björkman 2015-01-26 Innehåll Processer (föreläsning 2) Processmodell Processtillstånd Trådar Processkommunikation (föreläsning 3, den här) Semaforer Monitorer

Läs mer

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

Operativsystem Lektion 1. Lärare. Schema. Kurssajten Finns på adressen. Jan Erik Moström. Set Norman Operativsystem Lektion 1 1 Lärare jem@cs.umu.se, B449 Lektioner etc Set Norman set@cs.umu.se, NAdv105 Labbar, labhandledning 2 Schema Notera att det finns ändringar i schemat!! Under perioden 1-8 mars

Läs mer

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

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 Dagens OS En översikt av dagens OS Titt på hur de gör Unix, Linux och Windows Unix Många varianter Mycket gemensamt Unix En del som skiljer Vanliga program, shell, etc System calls Interupts and traps

Läs mer

Fö 8: Operativsystem II. Minneshantering. Minneshantering (1) Minneshantering (2) Minneshantering och Virtuelltminne.

Fö 8: Operativsystem II. Minneshantering. Minneshantering (1) Minneshantering (2) Minneshantering och Virtuelltminne. Fö 8: Operativsystem II Minneshantering och Virtuelltminne. Virtuella I/O enheter och Filsystemet. Flerprocessorsystem. Minneshantering Uniprogrammering: Minnet delas mellan operativsystem och användarprogrammet.

Läs mer

Reservföreläsningen inställd

Reservföreläsningen inställd Reservföreläsningen inställd n Reservtiden (fredag 10 mars kl 13-15) är en reservtid, ställs nu in eftersom inte något oförutsett hänt Operativsystem, Mats Björkman, MDH 1 Labredovisningar n Labbar som

Läs mer

Operativsystem - Minneshantering I

Operativsystem - Minneshantering I Operativsystem - Minneshantering I Mats Björkman 2016-02-11 Översikt Grundläggande minneshantering (Föreläsning MM I, idag) Problem inom minneshantering Minneshantering och multitasking Hantering av ledigt

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #17 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Tallriksmodellen Stackoperationer Element kan endast

Läs mer

Lösningsförslag till tentamen i IS1350 Operativsystem

Lösningsförslag till tentamen i IS1350 Operativsystem sförslag till tentamen i IS1350 Operativsystem Måndagen 2015-03-16 kl 09:00-13:00 Examinator: IS1350 Jim Dowling Hjälpmedel: Inga Tentamensfrågorna behöver inte återlämnas efter avslutad tentamen. Ange

Läs mer

Tentamen i ID2206, ID2200 samt IS1350 Operativsystem

Tentamen i ID2206, ID2200 samt IS1350 Operativsystem Tentamen i ID2206, ID2200 samt IS1350 Operativsystem Tisdagen 2014-03-18 kl 09:00-13:00 Examinator: ID2206, ID2200 Robert Rönngren, IS1350 Jim Dowling Hjälpmedel: Inga Tentamensfrågorna behöver inte återlämnas

Läs mer

Maskinorienterad programmering

Maskinorienterad programmering Undantagshantering och interna avbrott ARM Cortex-M4 exceptions, programmering av undantagshantering Ur innehållet: Faults Software traps Avbrott från interna enheter, Systick Läsanvisningar: Arbetsbok

Läs mer

Tentamen den 18 mars svar Datorteknik, EIT070

Tentamen den 18 mars svar Datorteknik, EIT070 Lunds Universitet LTH Tentamen den 18 mars 2015 - svar Datorteknik, EIT070 Skrivtid: 14.00-19.00 Tillåtna hjälpmedel: Inga. Maximalt antal poäng: 50 poäng För betyg 3 krävs 20 poäng För betyg 4 krävs 30

Läs mer

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

Lärare. Operativsystem. Handledning. Kurssajt. Schema. Lektioner. Jan Erik Moström Lärare Operativsystem Introduktion Jan Erik Moström jem+os@cs.umu.se Handledning Set Norman set@cs.umu.se Handledning Kurssajt Finns på www.cs.umu.se/kurser/tdbc28/vt05/ Innehåller: Schema Allmän info

Läs mer

Datorarkitekturer med operativsystem ERIK LARSSON

Datorarkitekturer med operativsystem ERIK LARSSON Datorarkitekturer med operativsystem ERIK LARSSON Översikt Processorn Maskininstruktioner Dator Primärminne Data/instruktioner Kontroll Central processing unit (CPU) Fetch instruction Execute instruction

Läs mer

Mål. Datorteknik. Repetition av avbrott. Innehåll. Mätning och styrning. Datorer för mätning och styrning. timer. Datorsystem A/D. Analog insignal D/A

Mål. Datorteknik. Repetition av avbrott. Innehåll. Mätning och styrning. Datorer för mätning och styrning. timer. Datorsystem A/D. Analog insignal D/A Mål Datorteknik Föreläsning 5 Att du ska förstå hur avbrott används för - Mätning - Styrning - Stöd för körning av fle processer Att du ska förstå begreppet tråd Att du ska veta hur odelba resurser kan

Läs mer

Processer och trådar. Rasmus Cronstrand Per Jonsson Ante Wall Fabian Åberg

Processer och trådar. Rasmus Cronstrand Per Jonsson Ante Wall Fabian Åberg Linköpings universitet Institutionen för datavetenskap TDDI81 Hemuppgift Processer och trådar av Rasmus Cronstrand Per Jonsson Ante Wall Fabian Åberg rascr534 / perjo927 / antwa730 / fabab714 2014-02-24

Läs mer

Maskinorienterad programmering

Maskinorienterad programmering Undantagshantering och interna avbrott ARM Cortex-M4 exceptions, programmering av undantagshantering Ur innehållet: Faults Software traps Avbrott från interna enheter, Systick Läsanvisningar: Arbetsbok

Läs mer

Lösningsförslag till Tenta i Mikrodator

Lösningsförslag till Tenta i Mikrodator Lösningsförslag till Tenta i Mikrodator 050113 1. Vilka register finns det i processorn och vad används dessa till? D0 till D7: Dataregister som används för beräkningar A0 till A6: Adressregister som används

Läs mer

Operativsystem Introduktion

Operativsystem Introduktion Lärare Operativsystem Introduktion Jan Erik Moström jem+os@cs.umu.se Handledning Kurssajt Finns på www.cs.umu.se/kurser/tdbc33/vt06/ Mattias Linde linde@cs.umu.se Handledning www.cs.umu.se/kurser/tdbc33/vt06/jem

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #17 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola F-36 FLEX- och FLIS-datorn Ext-8 Tallriksmodellen Stackoperationer

Läs mer

Program. Datorteknik. Semantiskt gap. C - Inledning. Abstraktionsnivå: Högnivåspråk. Assemblyspråk. Maskinspråk

Program. Datorteknik. Semantiskt gap. C - Inledning. Abstraktionsnivå: Högnivåspråk. Assemblyspråk. Maskinspråk Datorteknik ERIK LARSSON Program Abstraktionsnivå: Högnivåspråk» t ex C, C++ Assemblyspråk» t ex ADD R1, R2 Maskinspråk» t ex 001101.101 Semantiskt gap C - Inledning Alltmer avancerade programmeringsspråk

Läs mer

F4: Assemblerprogrammering

F4: Assemblerprogrammering F4: Assemblerprogrammering Hoppinstruktioner Branch Jump Med vilkor IF satser Loopar while-loopar do-while- loopar for-loopar Stackhantering Underprogram 1 BRA rel_adr Branch Always Relativadressering

Läs mer

Introduktion till hårdvara, mjukvara och operativsystem

Introduktion till hårdvara, mjukvara och operativsystem Introduktion till hårdvara, mjukvara och operativsystem Grundläggande operativsystem 1DV415 1 1 Lärare Marcus Wilhelmsson Universitetsadjunkt i datavetenskap Linux, UNIX (Solaris, OpenSolaris, Mac OS X),

Läs mer

DIG IN TO Dator och nätverksteknik

DIG IN TO Dator och nätverksteknik DIG IN TO Dator och nätverksteknik CCNA 1 Operativsystem Agenda Datorsystemets struktur Vad är ett operativsystem? Minneshantering Threads och processer Threads eller exekveringstrådar Processhantering

Läs mer

Datorteknik ERIK LARSSON

Datorteknik ERIK LARSSON Datorteknik ERIK LARSSON Program Abstraktionsnivå: Högnivåspråk» t ex C, C++ Assemblyspråk» t ex ADD R1, R2 Maskinspråk» t ex 001101.101 Semantiskt gap Alltmer avancerade programmeringsspråk tas fram för

Läs mer

Datorarkitekturer med operativsystem ERIK LARSSON

Datorarkitekturer med operativsystem ERIK LARSSON Datorarkitekturer med operativsystem ERIK LARSSON Pipelining Tid SSA P Pipelining FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO EI WO FI DI CO FO EI WO Superscalar pipelining FI DI CO FO EI WO FI DI

Läs mer

Lösningar till tentamen i EIT070 Datorteknik

Lösningar till tentamen i EIT070 Datorteknik Lösningar till tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Onsdagen den 7 mars 2012, klockan 14:00 19:00 i Vic 2, 3. Tillåtna hjälpmedel: på tentan utdelad formelsamling,

Läs mer

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

Datorsystem 5. På denna föreläsning skall vi prata om Operativsystem Exempel på tenta (typ fjolårets) Datorsystem 5 På denna föreläsning skall vi prata om Operativsystem Exempel på tenta (typ fjolårets) Vad är ett operativsystem (OS)? Syfte Att tillåta flera program att köra samtidigt Att fungera som ett

Läs mer

F5: Högnivåprogrammering

F5: Högnivåprogrammering F5: Högnivåprogrammering Parameteröverföring Koppling mellan låg- och högnivåprogrammering Lokala variabler Heapen Datatyper 1 Subrutin, parameteröverföring: 1(3) Via register genom värde Skicka data via

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U) Föreläsning 7 Kent Palmkvist, ISY TSEA28 Datorteknik Y (och U), föreläsning 7, Kent Palmkvist 2017-02-13 2 Dagens föreläsning Summering så här långt Strukturer för att stödja

Läs mer

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

Datorsystem. Laboration 3: Operativsystem Senast uppdaterad: 14 oktober 2012 Version 1.3. Student: Underskrift: Underskrift: Datum: Datorsystem Laboration 3: Operativsystem Senast uppdaterad: 14 oktober 2012 Version 1.3 Student: Lärare: Underskrift: Underskrift: Datum: Datorsystem Laboration 3 1 Innehåll 1 Inledning 2 1.1 Introduktion...........................................

Läs mer

F5: Högnivåprogrammering

F5: Högnivåprogrammering 1 F5: Högnivåprogrammering Parameteröverföring Koppling mellan låg- och högnivåprogrammering Lokala variabler Heapen Datatyper 1 Subrutin, parameteröverföring: 1(3) Via register genom värde Skicka data

Läs mer

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

Realtidssystem HT03. Vad är realtidssystem? Inbyggda system. Att programmera, Tasks (Uppgifter) Realtidssystem kräver analys Realtidssystem HT03 Vad är realtidssystem? Föreläsare: Wang Yi Rum: 1235, yi@it.uu.se, Tel: 471 3110 Assistent: Tobias Amnell Rum: 1216, tobiasa@it.uu.se, Tel: 4717122 Webbsida: www.it.uu.se/edu/course/homepage/realtid/h03

Läs mer

Datorteknik ERIK LARSSON

Datorteknik ERIK LARSSON Datorteknik ERIK LARSSON Program Abstraktionsnivå: Högnivåspråk» t ex C, C++ Assemblyspråk» t ex ADD R1, R2 Maskinspråk» t ex 001101.101 Exekvering av en instruktion (1) Hämta instruktion på 00001000 (där

Läs mer

Datorarkitekturer med operativsystem ERIK LARSSON

Datorarkitekturer med operativsystem ERIK LARSSON Datorarkitekturer med operativsystem ERIK LARSSON Semantic gap Alltmer avancerade programmeringsspråk tas fram för att göra programvaruutveckling mer kraftfull Dessa programmeringsspråk (Ada, C++, Java)

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist 2019-01-22 3 TSEA28 Datorteknik Y (och U) Föreläsning 2 Kent Palmkvist, ISY Praktiska kommentarer Labanmälan öppnar måndag 28/1 kl 12.30 Anmälningssystemet

Läs mer

Assemblerprogrammering del 3

Assemblerprogrammering del 3 Assemblerprogrammering del 3 Dagens föreläsning behandlar: Kompendiet kapitel 9 och 10.4 Arbetsboken kapitel 16 Ur innehållet: Modularisering, subrutiner och strukturerad programutveckling (flödesdiagram)

Läs mer

Deluppgift 17 Processhantering: exec, sleep, exit, plist

Deluppgift 17 Processhantering: exec, sleep, exit, plist Linköpings Tekniska Högskola Institutionen för Datavetanskap (IDA), Software and Systems (SaS) (c) Klas Arvidsson Deluppgift 17 Processhantering: exec, sleep, exit, plist Inledning För att få ett praktiskt

Läs mer

Minneshantering segmentering och virtuellminne. Föreläsning 3

Minneshantering segmentering och virtuellminne. Föreläsning 3 Minneshantering segmentering och virtuellminne Föreläsning 3 Minneshantering forts. Hur kan man köra processer som är större än primärminnet? Hur kan man undvika att stack och heap växer ihop? Virtuellminne

Läs mer

Concurrency Saker händer samtidigt. Process En instans av ett program

Concurrency Saker händer samtidigt. Process En instans av ett program Concurrency Saker händer samtidigt Hur gör vi flera saker samtidigt på en dator? - Dela på en CPU - Flera CPU Flera processer på en dator. Operativsystemet (OS) tilldelar dem körtid (time slices, prioritet)

Läs mer

Datakom II (MNP) ht 1998 Bengt Ahlgren 1. Vad är speciellt med implementering av kommunikationsprotokoll?

Datakom II (MNP) ht 1998 Bengt Ahlgren 1. Vad är speciellt med implementering av kommunikationsprotokoll? 1 Vad är speciellt med implementering av kommunikationsprotokoll? 2 Översikt Inledning Hårdvaru-vy och mjukvaru-vy Mjukvaruarkitektur Rules of thumb Minnesbandbredd TCP-implementering ILP Integrated Layer

Läs mer

Program Datorteknik. Kontrollenhet. Exekvering av en instruktion. Abstraktionsnivå: Högnivåspråk. Assemblyspråk. Maskinspråk.

Program Datorteknik. Kontrollenhet. Exekvering av en instruktion. Abstraktionsnivå: Högnivåspråk. Assemblyspråk. Maskinspråk. Program Datorteknik Abstraktionsnivå: Högnivåspråk ERIK LARSSON» t ex C, C++ Assemblyspråk» t ex ADD R, R Maskinspråk» t ex 000.0 Exekvering av en instruktion Kontrollenhet () Hämta instruktion på 0000000

Läs mer

Datorsystemteknik Föreläsning 7DAVA14

Datorsystemteknik Föreläsning 7DAVA14 Datorsystemteknik Föreläsning 7DAVA14 Innehåll Introduktion (forts) Polling (cyklisk avfrågning) Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec Novak IT-inst LTH Exempel

Läs mer

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

Schemaläggningsmetodik för multi-core inom Windows 7 OS Vad är scheduling och hur schemalägger Windows OS sina processer? LUNDS TEKNISKA HÖGSKOLA Schemaläggningsmetodik för multi-core inom Windows 7 OS Vad är scheduling och hur schemalägger Windows OS sina processer? 2015-12-07 1. Inledning Det är ett faktum idag att multi-core

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U), föreläsning 7, Kent Palmkvist 2019-02-15 3 TSEA28 Datorteknik Y (och U) Föreläsning 7 Kent Palmkvist, ISY Praktiska kommentarer Ordningsfråga Glöm inte koppla ned anslutningarna

Läs mer

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

Olika OS. Unix, Linux och Windows. Unix. Unix. En översikt av ett par OS. Titt på hur de gör. Många varianter. Mycket gemensamt. En del som skiljer Olika OS En översikt av ett par OS Titt på hur de gör Unix, Linux och Windows Unix Många varianter Mycket gemensamt Unix En del som skiljer Begrepp Hur skapas en process Deamon rocess Föräldrar & barn

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U), föreläsning 7, Kent Palmkvist 2018-02-12 3 TSEA28 Datorteknik Y (och U) Föreläsning 7 Kent Palmkvist, ISY Praktiska kommentarer Ordningsfråga Glöm inte koppla ned anslutningarna

Läs mer

Realtidsstöd i Minix. En laborationrapport. Oktober 2012

Realtidsstöd i Minix. En laborationrapport. Oktober 2012 Realtidsstöd i Minix En laborationrapport Karl Zylinski Hampus Gustafsson Oktober 2012 1 Innehåll 1 Introduktion 3 1.1 Problem................................ 3 1.1.1 Skapa ett testprogram....................

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist 2018-01-16 3 TSEA28 Datorteknik Y (och U) Föreläsning 2 Kent Palmkvist, ISY Praktiska kommentarer Mail kommer skickas ut när labanmälan är möjlig

Läs mer

DVA315 Operativsystem

DVA315 Operativsystem DVA315 Operativsystem Mats Björkman Mälardalens högskola 2017-01-16 1 Kursen i korthet n Föreläsningar: OS-begrepp och teori n Ser på OS från OS-utvecklarens synvinkel n Inlämningsuppgifter: Programmering

Läs mer

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

DVA315 Operativsystem. Mats Björkman Mälardalens högskola DVA315 Operativsystem Mats Björkman Mälardalens högskola 1 Kursen i korthet n Föreläsningar: OS-koncept och teori n Ser på OS från OS- utvecklarens perspek4v n Labbar: Programmering med OS-support n Ser

Läs mer

Programräknaren visar alltid på nästa instruktion som skall utföras. Så fort en instruktion har hämtats så visar programräknaren på nästa instruktion.

Programräknaren visar alltid på nästa instruktion som skall utföras. Så fort en instruktion har hämtats så visar programräknaren på nästa instruktion. F5 Föreläsning i Mikrodatorteknink 2006-09-05 Programräknaren visar alltid på nästa instruktion som skall utföras. Så fort en instruktion har hämtats så visar programräknaren på nästa instruktion. Programräknaren

Läs mer

Datorarkitekturer med operativsystem ERIK LARSSON

Datorarkitekturer med operativsystem ERIK LARSSON Datorarkitekturer med operativsystem ERIK LARSSON Parallellberäkning Konstant behov av högre prestanda Prestanda har uppnåtts genom: Utveckling inom halvledarteknik Tekniker som:» Cacheminne» Flera bussar»

Läs mer

Hur delas CPU? Processormodell. Vårt produk9onsbolag igen. Produkt 2. Produkt Vinster med aa göra saker sam9digt.

Hur delas CPU? Processormodell. Vårt produk9onsbolag igen. Produkt 2. Produkt Vinster med aa göra saker sam9digt. Vinster med aa göra saker sam9digt Hur delas CPU? Del 1 av de tre vik9gaste resursfördelningsdelarna. Mul9programming NyAja resurser effek9vt genom aa exekvera 9llräckligt med processer för aa hålla varje

Läs mer

F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen

F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen 68000 Arkitektur F2: Motorola 68000 I/O signaler Processor arkitektur Programmeringsmodell Assembler vs. Maskinkod Exekvering av instruktioner i 68000 Instruktionsformat MOVE instruktionen Adresseringsmoder

Läs mer

Programmering av inbyggda system. Kodningskonventioner. Viktor Kämpe

Programmering av inbyggda system. Kodningskonventioner. Viktor Kämpe Kodningskonventioner Viktor Kämpe Varför kodningskonventioner? Förståelse för Skillnaden mellan lokala/globala variabler. Funktionsargument. Returvärde. Möjliggör Mix av assembler och C. Kodningskonventioner/VK

Läs mer

Lösningsförslag till Tenta i Mikrodator

Lösningsförslag till Tenta i Mikrodator Lösningsförslag till Tenta i Mikrodator 040117 1. Vilka register finns det i processorn och vad används dessa till? D0 till D7: Dataregister som används för beräkningar A0 till A6: Adressregister som används

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #19 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Normaltillstånd vs undantagstillstånd I normaltillstånd

Läs mer

Operativsystem ID2200 Tentamen TEN1 3.8 hp :00-18:00

Operativsystem ID2200 Tentamen TEN1 3.8 hp :00-18:00 Operativsystem ID2200 Tentamen TEN1 3.8 hp 2018-04-03 14:00-18:00 Instruktioner Du får, förutom skrivmateriel, endast ha med dig en egenhändigt handskriven A4 med anteckningar. Svaren skall lämnas på dessa

Läs mer

Föreläsning 2. Operativsystem och programmering

Föreläsning 2. Operativsystem och programmering Föreläsning 2 Operativsystem och programmering Behov av operativsystem En dator så som beskriven i förra föreläsningen är nästan oanvändbar. Processorn kan bara ges enkla instruktioner såsom hämta data

Läs mer

Synkronisering. Föreläsning 8

Synkronisering. Föreläsning 8 Synkronisering Föreläsning 8 Synkronisering Så stort, intrikat och viktigt att det finns hela kurser om det i parallellprogrammering. Vi fuskar lite med några av de viktigaste bitarna! Synkronisering Vad

Läs mer

Pipelining i Intel Pentium II

Pipelining i Intel Pentium II Pipelining i Intel Pentium II John Abdulnoor Lund Universitet 04/12/2017 Abstract För att en processor ska fungera måste alla komponenter inuti den samarbeta för att nå en acceptabel nivå av prestanda.

Läs mer

Schemaläggning Unix. Minneshantering etc. Linux. Schemaläggning av trådar (kernel threads) Detaljer. Operativsystem - Lektion 7

Schemaläggning Unix. Minneshantering etc. Linux. Schemaläggning av trådar (kernel threads) Detaljer. Operativsystem - Lektion 7 Schemaläggning Unix 20 priority = CPU_usage + nice + base Minneshantering etc Operativsystem - Lektion 7-20 Linux Schemaläggning av trådar (kernel threads) Real-time FIFO Real-time round robin Timesharing

Läs mer

Systembeskrivning. Systemskiss. Moduler.

Systembeskrivning. Systemskiss. Moduler. Page 1 of 5 Systembeskrivning Projektets namn: Educational Operating System (EOS) Uppdragsgivare: Virtutech Gruppmedlemmar: Jens Lind (Projektledare) Peter Wåhlander (Sekreterare) Åke Wallebom Gilbert

Läs mer

Operativsystem ID2200/06 omtentamen :00-18:00

Operativsystem ID2200/06 omtentamen :00-18:00 Instruktioner Operativsystem ID2200/06 omtentamen 2017-12-18 14:00-18:00 Du får, förutom skrivmateriel, endast ha med dig en egenhändigt handskriven A4 med anteckningar. Svaren skall lämnas på dessa sidor,

Läs mer

Lösningar till tentamen i EIT070 Datorteknik

Lösningar till tentamen i EIT070 Datorteknik Lösningar till tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Onsdagen den 13 mars 2013, klockan 14:00 19:00 i Vic 2 A-D, 3 A-C. Tillåtna hjälpmedel: på tentan utdelad

Läs mer

Fö 5+6 TSEA81. Reflektion av Lab 2. clock.c (module) Real-time kernel + Real-time OS

Fö 5+6 TSEA81. Reflektion av Lab 2. clock.c (module) Real-time kernel + Real-time OS Fö 5+6 TSEA81 Real-time kernel + Real-time OS Reflektion av Lab 2 main.c void * clock_task(void *unused) int hours, minutes, seconds; while(1) clock_get_time(&hours,&minutes,&seconds); display_time(hours,minutes,seconds);

Läs mer

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

Vad är viktigast? Sammanfattning. Processer och trådar. Processer och trådar. Flerprocessorsystem. Schemaläggning. Interprocesskommunikation. Vad är viktigast? Sammanfattning Processer och trådar Avbrottshantering Vad det är och hur det fungerar (på låg nivå) Vilka problem finns Schemaläggning Flerprocessorsystem Varianter, problem Interprocesskommunikation

Läs mer

Polling (cyklisk avfrågning) Avbrott

Polling (cyklisk avfrågning) Avbrott Polling (cyklisk avfrågning) Avbrott Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec Novak IT-inst LTH Att känna till begreppet polling (cyklisk avfrågning) och hur det

Läs mer

Dataminne I/O Stack 0x005D 0x3D SP low byte 0x005E 0x3E SP high byte

Dataminne I/O Stack 0x005D 0x3D SP low byte 0x005E 0x3E SP high byte CT3760 Mikrodatorteknik Föreläsning 4 Tisdag 2005-09-06 Stacken I datasammmanhang är en stack ett minnesområde. Det är processorn som använder stacken. För att skapa en stack anger man en adress i stackpekarregistret.

Läs mer

Föreläsning 15: Parallella subrutiner. Parallellitet. Varför parallella underprogram?

Föreläsning 15: Parallella subrutiner. Parallellitet. Varför parallella underprogram? Föreläsning 15: Parallella subrutiner Parallellitet Processer och trådar Semaforer, monitorer och synkroniseringsmeddelanden Parallellitet Ofta är det nödvändigt eller önskvärt att programdelar exekveras

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U) Föreläsning 2 Kent Palmkvist, ISY TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist 2017-01-17 2 Dagens föreläsning Kort repetition Större programmeringsexempel Subrutiner

Läs mer

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

Trådar och Multiprocessorer. Föreläsning 6 Trådar och Multiprocessorer Föreläsning 6 Trådar och multiprocessorer Hur skriver man program som hanterar många saker samtidigt, t.ex. en web-server som hanterar många samtidiga begäran från olika klienter?

Läs mer

Objektorienterad Programkonstruktion. Föreläsning 11 6 dec 2016

Objektorienterad Programkonstruktion. Föreläsning 11 6 dec 2016 Objektorienterad Programkonstruktion Föreläsning 11 6 dec 2016 Föreläsningen 13/12 Halvtidsrepetition Maila frågor som ni vill att jag tar upp! ccs@kth.se Processer Vad vi i dagligt tal menar när vi pratar

Läs mer

Operativsystem (ID2200/06) XX XX:00-XX:00

Operativsystem (ID2200/06) XX XX:00-XX:00 Operativsystem (ID2200/06) 2017-01-XX XX:00-XX:00 Namn: Instruktioner Du får, förutom skrivmateriel, endast ha med dig en egenhändigt handskriven A4-sida med anteckningar. Mobiler etc skall lämnas till

Läs mer

Program kan beskrivas på olika abstrak3onsnivåer. Högnivåprogram: läsbart (för människor), hög abstrak3onsnivå, enkelt a> porta (fly>a 3ll en annan ar

Program kan beskrivas på olika abstrak3onsnivåer. Högnivåprogram: läsbart (för människor), hög abstrak3onsnivå, enkelt a> porta (fly>a 3ll en annan ar 1 Program kan beskrivas på olika abstrak3onsnivåer. Högnivåprogram: läsbart (för människor), hög abstrak3onsnivå, enkelt a> porta (fly>a 3ll en annan arkitektur), hårdvara osynlig Assembly- och maskinprogram:

Läs mer

7) Beskriv tre sätt att överföra parametrar mellan huvudprogram och subrutin.

7) Beskriv tre sätt att överföra parametrar mellan huvudprogram och subrutin. 1(5) Övningstentamen i Mikrodatorer och assemblerprogrammering, ELGA05 Hjälpmedel: Bifogad lista med memokoder för MC68xxx. Samtliga programmeringsuppgifter ska innehålla flödesschema med förklaringar

Läs mer

Tentamen Datorteknik och realtidssystem, TSEA81 Datum Lokal

Tentamen Datorteknik och realtidssystem, TSEA81 Datum Lokal Tentamen Datorteknik och realtidssystem, TSEA81 Datum 2018-04-0 Lokal G6 Tid 14-18 Kurskod TSEA81 Provkod TEN1 Kursnamn Datorteknik och realtidssystem Institution ISY Antal uppgifter 5 Antal sidor 16 (inklusive

Läs mer

Realtidssystem. - Dödläge - EDAF85 - Realtidssystem (Helsingborg) Elin A. Topp. Föreläsning 5

Realtidssystem. - Dödläge - EDAF85 - Realtidssystem (Helsingborg) Elin A. Topp. Föreläsning 5 Realtidssystem - Dödläge - EDAF85 - Realtidssystem (Helsingborg) Elin A. Topp Föreläsning 5 Kursens innehåll motsvarar tidigare omgångar under beteckning EDA698 Stora delar baserad på: Föreläsningsmaterial

Läs mer

Närliggande allokering Datorteknik

Närliggande allokering Datorteknik Närliggande allokering Datorteknik ERIK LARSSON TID Problem: Minnet blir fragmenterat Paging Demand paging Sida (S) Dela upp primärminnet i ramar (frames) och program i sidor (pages) Program 0 RD.0 1 RD.1

Läs mer

Operativsystem ID2206 Tentamen TEN1 4.5 hp :00-18:00

Operativsystem ID2206 Tentamen TEN1 4.5 hp :00-18:00 Operativsystem ID2206 Tentamen TEN1 4.5 hp 2018-04-03 14:00-18:00 Instruktioner Du får, förutom skrivmateriel, endast ha med dig en egenhändigt handskriven A4 med anteckningar. Svaren skall lämnas på dessa

Läs mer