Minneshantering - grunderna. Föreläsning 2

Storlek: px
Starta visningen från sidan:

Download "Minneshantering - grunderna. Föreläsning 2"

Transkript

1 Minneshantering - grunderna Föreläsning 2

2 Minneshantering Hur hantera grundfallet med endast en process? Hur kan flera processer vara aktiva, dvs vara i minnet, samtidigt? Adressrymden Kontinuerlig allokering Siduppdelat minne (paging) Kap: Minneshantering 2

3 Adressrymden Vad är det vi pratar om?

4 Minneshierarki snabbare* mindre dyrare register cache primärminne elektronisk disk magnetisk disk långsammare* större billigare optisk disk magnetband * 4

5 Från program till process källkod kompilator assemblator objekt modul länknings editor ladd modul system bibliotek andra objekt moduler laddare Dynamisk laddning: en kopia av binärkoden för funktionen laddas vid behov = första anropet Dynamisk länkning: om någon process har en kopia av binärkoden i minnet, hitta den och länka in den, annars länka in en egen kopia. Görs via stubkod. (urspr. MULTICS) dynamiskt laddade in-memory system binary bibliotek memory image dynamisk länkning Minneshantering 5

6 Minnesutrymmet som en process behöver varierar oftast över tiden STACK HEAP Stacken växer/krymper med funktionsanrop. Heapen växer när vi allokerar mer minne på den för objekt/datastrukturer som inte är lokala variabler eller parametrar till funktioner. Vad händer då minnet är slut? TEXT Minneshantering 6

7 Fysisk vs. logisk/(virtuell) adressrymd Fysisk adressrymd adresser för minnespositioner i datorns fysiska minne (~primärminnet) Logisk/(virtuell) adressrymd abstrakt adressrymd som programmet använder ex: som programmerare behöver jag inte fundera på vilken fysiskadress som används för att lagra en variabel som t.ex int a = 4; När ett program laddas i minnet för exekvering måste en adressöversättning/adressbindning ske från logiska adresser till fysiska adresser Minneshantering 7

8 Allokeringsproblematiken Hur allokerar vi fysiskt minne för att ladda in ett program för exekvering i? Hur håller vi ordning på ledigt resp. upptaget minne? Hur sker adressöversättning? Minneshantering 8

9 Adresser och adressbindning Relokerbar (flyttbar) kod: adresser anges som relativa gentemot t.ex. programstart Ex. första instruktionen = lägsta adressen 0 en relativ adress är icke-negativ (> 0) När binds en relativ adress till en fysisk (absolut) adress? När vi vet var programmet laddas! Compile-time: kan generera absolut-adresserad kod Load-time: kompilatorn genererar relokerbar kod, översätt alla relativa adresser till absoluta vid laddningen Execution-time: Om processen kan flyttas i minnet under exekvering måste man skjuta upp adressbindningen till exekveringstillfället. Kräver hårdvarustöd. Minneshantering 9

10 Kontinuerlig allokering Har använts historiskt. Används fortfarande i små system med begränsade resurser.

11 En enkel minnesmodell ex. MS-DOS ROM Bootkod Drivrutiner etc = BIOS 1024 K 960 K Endast ett användarprogram i taget RAM Användar Program 512 K Användarprogrammet kan swappas ut på disk; långsam multitasking Vad händer om OS växer? OS User base Användarprogrammet kan skriva över OS! 0 Minneshantering 11

12 Ett första steg mot flera processer - fixa minnespartitioner Idé: dela upp minnet i flera, fixa, partitioner som var och en kan hålla en process (OS/360) 0xFFFF Kö av väntande processer Strategier när en partition blir ledig: Välj den process som: Hur vet man på vilken adress en variabel eller funktion kommer att ligga i minnet? Kan ett program skriva sönder ett annat? OS 0 i) Är den första som får rum i partitionen ii) Är den som passar bäst, ger minst spill, i partitionen Minneshantering 12

13 Skydd och adressbindning en första ansats Hur undviker vi att ett program skriver sönder andra program eller OS:et? Låt adressöversättning/bindning skötas av en enkel MMU! Gränsregister: anger högsta relativa adress som processen tillåts accessa. Skyddar andra processer. Basregister eller relokeringsregister innehåller värde som adderas till relativa adresser (Kontrollera att ingen absolutadress otillåtet addresserar in i OS:et, endast tillåtet om processen exekverar i kernelmode ) Minneshantering 13

14 Exempel med basregister och gränsregister LOAD r2 <- (700) ladda r2 med innehållet på adress 700 MMU Minne CPU Logisk/(virtuell) adress 700 Gränsregister 1500 < ja Basregister nej 500 TRAP: adresseringsfel OS Minneshantering 14 0

15 Flera partitioner så långt Partition 1 Partition 2 Partition 3 OS P1 limit P2 limit, P1 base P3 limit, P2 base P3 base Varje partition har sina egna Base och Limit värden Måste partitionerna ha fix storlek? Hur mycket extra utrymme måste finnas i en partition för att processens stack och heap skall kunna växa? Minneshantering 15

16 Variabla partitioner Processer kan ha vilken storlek som helst (som ej är större än minnet) Oallokerade partitioner (hål) bildas när en liten process läggs i ett stort utrymme Krångligare relokeringsproblem Hur hålla ordning på ledigt minne? Minneshantering 16

17 Ready-kö Minne Variabel storlek på partitioner - ett exempel P3 P2 P3 P2 Process P4 får inte plats pga. fragmentering P1 P1 P1 P4 P4 P2 P3 P4 Minneshantering 17

18 Fragmentering Extern fragmentering Ledigt utrymme finns, men är uppdelat i för små block Löses med kompaktering (kostsamt) eller med att ha en enda blockstorlek (leder till intern fragmentering) Intern fragmentering Dåligt utnyttjande av minne inom allokerade block Löses med variabel blockstorlek (tillbaka till extern fragmentering) Block som kunde växa och krympa vore allra bäst Minneshantering 18

19 Hålla ordning på ledigt minne -länkade listor Länkad lista med hål (ledigt utrymme) med Startadress Storlek Hur ska listan sorteras? Det beror på allokeringsmetoden! P3 P1 Start:700 Size:100 Start:1000 Size:300 Allokeringsmetoder: First-fit Next-fit Best-fit Worst-fit Quick-fit Minneshantering 19

20 Hålla ordning på ledigt minne -bitmap Dela upp minnet i lika stora allokeringsenheter Ha en bitmap där 0 representerar ledig och 1 upptagen allokeringsenhet Val av storlek på allokeringsenhet viktigt För liten bitmappen blir för stor För stor onödig intern fragmentering P P1 Minneshantering 20

21 Måste en process ligga i minnet ända till dess den är klar? Vad händer t.ex om vi har en interaktiv process där användaren går på lång-lunch? Ska den processen ligga och ta upp plats i minnet trots att den inget gör?

22 Swappning Flytta processer mellan huvudminne och disk för att: inte alla processer får plats samtidigt då någon process blockerats, t.ex interaktiv process där användaren gått på lunch Kan ta lång tid för stora processer Swap-in flyttar från disk till minne och swap-out flyttar åt andra hållet Minneshantering 22

23 Swappning Swapping för med sig att: Vi måste ha utrymme på hårddisken för processer som swappas ut Vi måste organisera diskutrymmet på något sätt, antagligen på liknande sätt som primärminnet Hårddisken är långsam relativt primärminnet... Vad händer om vi får fragmentering och kanske måste kompaktera? Måste en utswappad process laddas på samma minnespositioner som den låg i innan den swappades ut? Minneshantering 23

24 Enkel sidindelad minneshantering Grunderna för paging

25 Sidindelad minneshantering Paging Låna idéer från kontinuerlig allokering med bitmap! Dela in: Logiska/(virtuella) minnesrymden i sidor (pages) Fysiska minnesrymden i ramar (frames) Sidor och ramar är av samma storlek Gör (dynamisk) adressöversättning vid execution-time Gör en smartare MMU som tillåter att vi mappar (konsekutiva) sidor på icke-konsekutiva ramar! Minneshantering 25

26 Minneshantering 26 Sidhantering ett första exempel Sid- tabeller P1 sid nummer P3 1 0 Logisk adressrymd P Fysiskt minne Ready-kö P1 P4 ram nummer P P4 P ledig ledig ledig upptagen upptagen ledig upptagen upptagen upptagen Ramtabell upptagen upptagen upptagen upptagen

27 Sidindelning Löser problemet med extern fragmentering Tydlig uppdelning av: Logisk adressrymd programmeraren uppfattar att den logiska adressrymden är kontinuerlig Fysisk adressrymd uppdelad i ramar programmets fysiska minne kan ligga utspritt Kan ge intern fragmentering I snitt kan man förvänta sig att den sista sidan/ramen bara blir halvfull Minneshantering 27

28 Sidindelning -adressuppdelning Logisk adressrymd 2 m en adress är m bitar lång m-1 Antag att sidstorleken är 2 n (bytes) - då krävs n bitar för att adressera i sidan Resterande m-n bitar utgör sidnummer sidnummer p m-n sidoffset d n 0 Minneshantering 28

29 ramnr 0 Siduppdelning - adressöversättning Logisk adress Fysisk adress CPU sidnr offset ramnr offset sidnr ramnr offset Sidtabell (ligger i det fysiska minnet) Fysiskt minne Minneshantering 29

30 En observation! I ett fleranvändarsystem kör många samma program t.ex. Webbläsare Programkod, i.e text-segmentet, är normalt sett re-entrant (re-entrant = koden modifieras inte under exekveringen) Text-segmentet kan vara read-only och skulle kunna delas av flera processer! Logisk adressrymd P1 P3 sidnummer Sidtabeller Fysiskt minne ram nummer 5 P1 OS Föreläsning 0 2, Minneshantering P1&P2 text 0 30 P

31 Delat minne shared memory Processer kan dela inte bara read-only sidor utan även read-write segment/data Kallas delat-minne (shared-memory) Kan användas för effektiv kommunikation mellan processer Kräver någon form av synkronisering mellan processerna! Minneshantering 31

32 Skydd från att adressera utanför det allokerade minnet - protection Hur skyddar vi oss från att en process adresserar en ram som inte ligger i dess adressrymd? 1. Valid/invalid bit i varje entry i sidtabellen 2. Register som talar om längden av sidtabellen Minneshantering 32

33 Exempel Processen P1 får adressera upp till adress KB stora sidor Sidnr v v v v i i i Sidtabell Ramnr Vad händer om P1 försöker adressera: Adressen 5422? Adressen 3742? 39 Minneshantering 33 Del av fysiska minnet

34 Hur väljer man sidstorlek? Liten sidstorlek liten intern fragmentering Men Liten sidstorlek ger stor sidtabell med ökande overhead I/O till/från disk är effektivare för större datablock (relativa overheaden minskar) Ex: sidstorlek = 1MB (2 20 ) adressrymd = 2 64 max sidtabellstorlek = 2 44 * storlek på en position Varje process har en egen sidtabell är storleken ett problem? Minneshantering 34

35 En enkel räkneövning Genomsnittslig processtorlek = s bytes Sidstorlek = p bytes Antal bytes per entry i sidtabellen = e Antal sidor per process i genomsnitt = s/p Overhead = e*(s/p) + p/2 Minimera map p: -e(s/p 2 ) + ½ = 0 Optimal sidstorlek map min overhead: p = 2es Ex: s = 1MB, e = 8 bytes -> p = 4KB Minneshantering 35

36 Typiska sidstorlekar 512B 64KB har använts Trend mot större sidstorlekar Idag vanliga sidstorlekar: 4KB 8KB Vissa system tillåter flera olika sidstorlekar Solaris : 8KB och 4MB beroende på vilken typ av data som lagras i sidorna - 8KB vanliga användarprocesser - 4MB OS-kärnan och tillgängligt för användarprocesser som t.ex. databasapplikationer Minneshantering 36

37 Hur implementerar man sidtabellen? En massa mer eller mindre viktiga detaljer och några datastrukturer

38 Vad har vi att ta hänsyn till? Möjliga problem: Sidtabellen kan potentiellt bli väldigt stor Varje instruktion ger normalt sett upphov till 1-4 minnesreferenser För varje minnesreferens får vi overhead när vi går via sidtabellen... Krav: Minneseffektiv! Snabb! hårdvarustöd vore bra Minneshantering 38

39 Några första försök Använd register för att hålla sidtabellen + snabb access - inte möjligt för stora sidtabeller (> 256 sidor) Hur gör man när man byter process måste man ladda om alla register? Lägg hela sidtabellen i vanligt minne + kan ha stor sidtabell + enkelt att byta sidtabell man behöver bara sätta om en pekare - dubbelt så lång minnesaccesstid eftersom man för varje minnesreferens först måste hämta sidtabellsentry från minnet Minneshantering 39

40 En observation Lokalitet Minnesreferenserna som en process gör uppvisar lokalitet ex. När man exekverar i en subrutin accessas dess kod och dess parametrar/variabler Det utnyttjas vid cachening och vi kan göra likadant för sidtabellen! stack heap text Minneshantering tid 40

41 Translation Lookaside Buffer - TLB TLB fungerar som ett litet cacheminne för sidtabellen inne i MMU:n Implementeras med associativt minne (jfr CAM) dvs. man kan söka i hela minnet parallelt Typiskt 8-64 (4196) entryn, dvs täcker ofta bara en del av primärminnet Kan förbättra prestanda dramatiskt Minneshantering 41

42 TLB innehåll Valid/invalid bit Sidnr Modifieradbit Protection (RWX) Ramnr Ev. Adressrymds identifierare ASID, motsv. PID Valid Sidnr Modifierad Protection Ramnr R X R X RW RW R X R W 0 ASID P2 P1 P1 P2 P3 P3 Minneshantering 42

43 Adressöversättning med TLB Logisk adress Fysisk adress CPU sidnr offset ramnr offset TLB hit TLB ramnr TLB miss Sidtabell ramnr Fysiskt minne Minneshantering 43

44 Miss i TLBn 1. Accessa sidtabellen i primärminnet 2. Uppdatera TLB:n genom att slänga ut ett ogiltigt eller gammalt entry Vem sköter om detta? Ofta MMU:n men den blir komplex TRAP till OS som får uppdatera (dvs mjukvarustyrd uppdatering) Vanligt i nyare processorer: SPARC, MIPS, ALPHA Minneshantering 44

45 Räkneexempel på TLB Minnesaccesstid M = 100 nsec TLB söktid s = 20 nsec Träffsannolikhet i TLB (hit ratio) h = 90% Effektiv minnesaccesstid = h(s + M) + (1-h)(s + M +M) = 0.9( ) + 0.1( ) = 130 Minneshantering 45

46 Hur hantera storleken på sidtabellen - val av datastruktur 1. En-nivås sidtabell (det vi diskuterat hittills) Om vi inte vill allokera kontinuerligt utrymme i minnet för hela sidtabellen 2. Fler-nivåers sidtabell sidindelad sidtabell (hierarchical or multi-level paging) 3. Hashad sidtabell Kan vi minska storleken ytterligare? 4. Inverterad sidtabell Minneshantering 46

47 Flernivåers sidtabell (Pentium II) sidnummer p sidoffset d yttre sidnummer p1 inre sidnummer p2 sidoffset d Adressöversättning logisk till fysisk adress p1 p2 d ramnr d p1 p2 ramnr Yttre sidtabell Sida i den inre sidtabellen Minneshantering 47 Inre sidtabell

48 Hur delar man upp den logiska adressen i flernivåers sidtabell? Antag: logisk adressrymd = 2 n sidstorlek = 2 m storlek på ett entry i sidtabellen 2 e Börja med en tvånivåers sidtabell: Vi vill att en sida i den innersta sidtabellen ska mappa enkelt till sidstorleken! Då kan man ha 2 m-e entryn per sida. Den yttre sidtabellen kommer då att ha 2 n-2m+e positioner Minneshantering 48

49 Uppdelning av den logiska adressen forts. Exempel: logisk adressrymd = 2 64, sidstorlek = 4KB (2 12 ) storlek på ett entry 4 byte #bitar yttre sida inre sida offset p2 p1 d Den yttre sidtabellen blir för stor med 2 42 positioner! Sidindela den också!? #bitar yttre yttre sida p3 yttre sida inre sida offset p2 p1 d Den yttersta sidtabellen blir fortfarande för stor. För att nå rimlig storlek krävs minst 5-7 nivåers sidindelning! Men det blir för många nivåer för att vara effektivt! Hitta på något annat för stora adressrymder! Minneshantering 49

50 Hashad sidtabell Logisk adress Fysisk adress CPU sidnr a offset ramnr offset hash funktion sidnr x ramnr sidnr a ramnr Hashad sidtabell sidnr z ramnr Fysiskt minne Minneshantering 50

51 Inverterad sidtabell Om varje process har en egen sidtabell kan det gå åt mycket minne! Inverterad sidtabell En sidtabell för alla processer Ett entry för varje fysisk ram I varje entry har man sidnr + PID för processen som allokerat ramen Minneshantering 51

52 Inverterad sidtabell naivt exempel Logisk adress Fysisk adress CPU PID sidnr offset ramnr i offset sök ramnr 0 PID sidnr ramnr i Inverterad sidtabell max ramnr Fysiskt minne Minneshantering 52

53 Effektivare inverterad sidtabell Den naiva implementationen har nackdelen att man måste söka i sidtabellen Åtgärder Använd associativt minne som t.ex. CAM dyrt Hasha den inverterade sidtabellen används i 64-bitars UltraSPARC, PowerPC Ett potentiellt problem med inverterade sidtabeller är att det är svårare att implementera delat minne Minneshantering 53

54 Summering vad vi pratat om idag Adressrymden logiska/(virtuella) och fysiska adresser Minneshantering där hela processen måste få plats i primärminnet Kontinuerlig allokering Fragmentering Sidindelat minne -paging Minneshantering 54

55 Kommande föreläsningar Torsdag kl sal E Minneshantering del 2 Måndag 8-10 sal E (Robert Rönngren) C-programmering del 1 Tisdag sal E (Robert Rönngren) C-programmering del 2 Torsdag 8-10 sal E Filsystem Minneshantering 55

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

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

4 grundregler. Minneshantering. Problemet. Windows minkrav

4 grundregler. Minneshantering. Problemet. Windows minkrav 4 grundregler 1. Man kan aldrig få för mycket minne 2. Minnet kan aldrig bli för snabbt Minneshantering 3. Minne kan aldrig bli för billigt 4. Programmens storlek ökar fortare än minnet i datorerna (känns

Läs mer

Några gamla tentamensuppgifter: Minneshantering

Några gamla tentamensuppgifter: Minneshantering 1 Tentamen 1992-08-26 5. I ett virtuellt minne med skiva är primärminnets accesstid 1 mikrosekund, sidstorleken 1 K, skivans rotationstid 10 millisekunder, inställningstiden för skivans arm 5 millisekunder

Läs mer

En processor kan ha en klockfrekvens på flera GHz. Det går alltså a9 exekvera en instruk=on väldigt for, givet a9 instruk=onen finns i processorn.

En processor kan ha en klockfrekvens på flera GHz. Det går alltså a9 exekvera en instruk=on väldigt for, givet a9 instruk=onen finns i processorn. 1 2 En processor kan ha en klockfrekvens på flera GHz. Det går alltså a9 exekvera en instruk=on väldigt for, givet a9 instruk=onen finns i processorn. Instruk=onerna =ll programmet som exekveras finns

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

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

Minnet från processorns sida Datorteknik

Minnet från processorns sida Datorteknik Minnet från processorns sida Datorteknik ERIK LARSSON Processorn ger kommandon/instruktioner med en adress och förväntar sig data. Exempel: READ(ADR) -> DATA Fysisk adress Logisk adress READ 00001000 READ

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

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

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

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

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

Digitala System: Datorteknik ERIK LARSSON

Digitala System: Datorteknik ERIK LARSSON Digitala System: Datorteknik ERIK LARSSON Översikt Minnets komponenter Minneshierarkin Cacheminne Paging Virtuellt minne Minnets komponenter Enhet för indata Primärminne (CPU) Enhet för utdata Sekundärminne

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 Laborationer Gå bara på tillfällen där du är anmäld. Moment svarar mot 1.5hp, dvs 40 timmar arbete Schemalagd tid: 4*2 (lektioner)+4*4(laborationer)=20 timmar Material: Finns på

Läs mer

Filsystem användarvy och implementering. Föreläsning 4

Filsystem användarvy och implementering. Föreläsning 4 Filsystem användarvy och implementering Föreläsning 4 Filsystem De abstrakta datatyperna fil och directory Hur implementerar man filsystem? Användarvyn av filsystem Implementering av filsystem Exempel

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

Filsystem - Inode. Datorteknik. Minnets komponenter. Programexekvering. Enhet för indata. Enhet för utdata CPU. Primärminne.

Filsystem - Inode. Datorteknik. Minnets komponenter. Programexekvering. Enhet för indata. Enhet för utdata CPU. Primärminne. Datorteknik Filsystem - Inode ERIK LARSSON ABBA: Dancing Queen Minnets komponenter Programexekvering Enhet för indata CPU Enhet för utdata Program i högnivåspråk.. Z:=(Y+X)*3. Kompilator Exekverbart program

Läs mer

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621

Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621 Lunds Universitet LTH Tentamen den 14 januari 2016 Datorarkitektur med operativsystem, EDT621 Skrivtid: 08.00-13.00 Tillåtna hjälpmedel: Inga. Maximalt antal poäng: 50 poäng För betyg 3 krävs 20 poäng

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

Operativsystem (IS1350) :00-12:00

Operativsystem (IS1350) :00-12:00 Operativsystem (IS1350) 2017-03-15 08:00-12:00 Namn: Instruktioner Betyg Du får endast ha med dig skrivmateriel. Mobiler etc skall lämnas till tentamensvakterna. Svaren skall lämnas på dessa sidor, använd

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

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

Minnets komponenter. Digitala System: Datorteknik. Programexekvering. Programexekvering. Enhet för utdata. Enhet för indata CPU.

Minnets komponenter. Digitala System: Datorteknik. Programexekvering. Programexekvering. Enhet för utdata. Enhet för indata CPU. Digitala System: Datorteknik Minnets komponenter ERIK LARSSON Enhet för indata CPU Enhet för utdata Sekundärminne Programexekvering Program i högnivåspråk.. Z:=(Y+X)*3. Kompilator Exekverbart program i

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

Operativsystem ID1200/06 (ID2200/06 6hp) Tentamen :00-18:00

Operativsystem ID1200/06 (ID2200/06 6hp) Tentamen :00-18:00 Operativsystem ID1200/06 (ID2200/06 6hp) Tentamen 2019-04-16 14:00-18:00 Instruktioner Du får, förutom skrivmateriel, endast ha med dig en egenhändigt handskriven A4 med anteckningar. Anteckningarna lämnas

Läs mer

Mer datorarkitektur. En titt I datorn Minnen

Mer datorarkitektur. En titt I datorn Minnen Mer datorarkitektur En titt I datorn Minnen von Neumann-modellen von Neumann-modellen CPU (Central Processing Unit) Styrenhet hämtar programinstruktioner ALU (Arithmetic and Logical Unit) utför beräkningar

Läs mer

Operativsystem ID1200/06 (ID2200/06 6hp) Tentamen :00-18:00

Operativsystem ID1200/06 (ID2200/06 6hp) Tentamen :00-18:00 Operativsystem ID1200/06 (ID2200/06 6hp) Tentamen 2019-04-16 14:00-18:00 Instruktioner Du får, förutom skrivmateriel, endast ha med dig en egenhändigt handskriven A4 med anteckningar. Anteckningarna lämnas

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

Datorarkitekturer med operativsystem ERIK LARSSON

Datorarkitekturer med operativsystem ERIK LARSSON Datorarkitekturer med operativsystem ERIK LARSSON Översikt Minnets komponenter Minneshierarkin Cacheminne Paging Virtuellt minne Minnets komponenter Enhet för indata Primärminne (CPU) Enhet för utdata

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

Datorhistorik. Föreläsning 3 Datorns hårdvara EDSAC. Eniac. I think there is a world market for maybe five computers. Thomas Watson, IBM, 1943

Datorhistorik. Föreläsning 3 Datorns hårdvara EDSAC. Eniac. I think there is a world market for maybe five computers. Thomas Watson, IBM, 1943 Datorhistorik Föreläsning 3 Datorhistorik Datorns uppbyggnad, komponenter Processor, primärminne, sekundärminne Minneshierarkier Inbyggda system, stora datorer I think there is a world market for maybe

Läs mer

Cacheprobe: programbibliotek för extrahering av cacheminnesparametrar

Cacheprobe: programbibliotek för extrahering av cacheminnesparametrar Cacheprobe: programbibliotek för extrahering av cacheminnesparametrar Gabriel Gerhardsson Cacheprobe p.1/38 Abstract Kan analytiskt ta reda på associativitet, line storlek och storlek på processorns cacheminnen

Läs mer

Öppna filer och filsystem i PintOS Hemuppgift TDDI81, 21/

Öppna filer och filsystem i PintOS Hemuppgift TDDI81, 21/ Öppna filer och filsystem i PintOS Hemuppgift TDDI8, /0-03 Almquist Mathias (matal09) Nguyen Johan (johng86) Hamzic Mirza (mirha348) Timliden Erik (eriti930) INLEDNING PintOS är ett operativsystem utvecklat

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

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621

Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621 Lunds Universitet LTH Tentamen den 12 januari 2017 Datorarkitektur med operativsystem, EDT621 Skrivtid: 8.00-13.00 Inga tillåtna hjälpmedel Uppgifterna i tentamen ger maximalt 60 poäng. Uppgifterna är

Läs mer

Fö 2: Minnen. Introduktion. Primärminnet. Interna och externa minnen. Introduktion, Klassificiering

Fö 2: Minnen. Introduktion. Primärminnet. Interna och externa minnen. Introduktion, Klassificiering Fö 2: Minnen Introduktion, Klassificiering Primärminne Sekundärminne Minneshiearki Cache-minne Introduktion Primärminnet används för att lagra program och data som är aktuella att använda. Sekundärminnet

Läs mer

Systemanropp kontrollen övergår från userspace till kernelspace ca 100 i UNIX, många fler i NT

Systemanropp kontrollen övergår från userspace till kernelspace ca 100 i UNIX, många fler i NT Leason 1 ============================================ Vad är ett operativsystem *Det program som implmenterar allasystemanropp. *Det / de program som köri kernel-mode Datahistoria: * Mekaniska reläer,

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

Cacheminne i en AMD Opteron Processor

Cacheminne i en AMD Opteron Processor Handledare: Erik Larsson Lunds Tekniska Högskola HT15 Cacheminne i en AMD Opteron Processor En rapport om cacheminne och dess struktur, i en 12 kärnig AMD Opteron Magny-Cours processor. Författare: Hamza

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

Random Access Memory. Amare Reda Jenny Holmberg Henrik Kreipke Gaylord Kaya

Random Access Memory. Amare Reda Jenny Holmberg Henrik Kreipke Gaylord Kaya Random Access Memory Amare Reda Jenny Holmberg Henrik Kreipke Gaylord Kaya Introduktion Historia Vad är RAM? Hur fungerar RAM? Dataöverföring, tidsklocka och termer Vilka är de olika typerna av RAM? Vad

Läs mer

Grundläggande datavetenskap, 4p

Grundläggande datavetenskap, 4p Grundläggande datavetenskap, 4p Kapitel 2 Datamanipulation, Processorns arbete Utgående från boken Computer Science av: J. Glenn Brookshear 2004-11-09 IT och Medier 1 Innehåll CPU ALU Kontrollenhet Register

Läs mer

Digitala System: Datorteknik ERIK LARSSON

Digitala System: Datorteknik ERIK LARSSON Digitala System: Datorteknik ERIK LARSSON Huvudled (H) Trafikljus för övergångsställe Trafikljus för huvudled (H) Trafikljus: Sväng vänster (H->T) Gående - vänta Trafikljus för tvärgata (T) Tvärgata (T)

Läs mer

Operativsystem ID1200/06 och ID2200/06 Tentamen TENA 6 hp :00-18:00

Operativsystem ID1200/06 och ID2200/06 Tentamen TENA 6 hp :00-18:00 Operativsystem ID1200/06 och ID2200/06 Tentamen TENA 6 hp 2018-04-03 14:00-18:00 Omtentander på ID2200 TEN1 3.8 hp och ID2206 TEN1 4.5 hp skall inte skriva denna tentamen! Instruktioner Du får, förutom

Läs mer

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

Filsystem. Varför? Hur? För att kunna lagra data mer permanent än i RAM. Vettig organisation Vettiga namn Varför? För att kunna lagra data mer permanent än i RAM Hur? Vettig organisation Vettiga namn Stora/små bokstäver 8-bitars tecken (teckenkodning) File extensions Längd Struktur på filerna Byte efter byte,

Läs mer

Tentamen den 17 mars 2016 Datorteknik, EIT070

Tentamen den 17 mars 2016 Datorteknik, EIT070 Lunds Universitet LTH Tentamen den 17 mars 2016 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 poäng

Läs mer

Föreläsningsanteckningar 5. Cacheminnen

Föreläsningsanteckningar 5. Cacheminnen Föreläsningsanteckningar 5. Cacheminnen Olle Seger 2012 Anders Nilsson 2016 1 Inledning Bakgrunden till att cacheminnen behövs för nästan alla datorer är enkel. Vi kan kallt räkna med att processorn är

Läs mer

Datorsystemteknik DAVA14 Föreläsning 10

Datorsystemteknik DAVA14 Föreläsning 10 Datorsystemteknik DAVA14 Föreläsning 10 Från källkod till bitar Samspelet mellan program och hårdvara Med bilder från Mats Brorsson, Datorsystem: Program och maskinvara, studentlitteratur 1999 Assemblatorn

Läs mer

Exempeltentamen Datorteknik, EIT070,

Exempeltentamen Datorteknik, EIT070, Lunds Universitet LTH Exempeltentamen Datorteknik, EIT070, Skrivtid: xx.00-xx.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 poäng För betyg

Läs mer

HF0010. Introduktionskurs i datateknik 1,5 hp

HF0010. Introduktionskurs i datateknik 1,5 hp HF0010 Introduktionskurs i datateknik 1,5 hp Välkommna - till KTH, Haninge, Datateknik, kursen och till första steget mot att bli programmerare! Er lärare och kursansvarig: Nicklas Brandefelt, bfelt@kth.se

Läs mer

Snapdragon 810: Cacheminnet

Snapdragon 810: Cacheminnet Snapdragon 810: Cacheminnet Daniel Eckerström dat14dec@student.lu.se Sammanfattnig Snapdragon 810 innehåller två olika processor arkitekturer, ARM Cortex-A53 samt Cortex-A57. Detta för att kunna på ett

Läs mer

Design och trender. Föreläsning 12

Design och trender. Föreläsning 12 Design och trender Föreläsning 12 Design och trender Varför är det svårt att skriva OS? Vad ska man tänka på när man implementerar OS? Vart är utvecklingen på väg? Fortsättningskurser för den som vill

Läs mer

Innehåll. Minneshantering. Systemet hivlls... Föreläsning 1. Problemformuleringar. Problem a[ lösa idag (...)

Innehåll. Minneshantering. Systemet hivlls... Föreläsning 1. Problemformuleringar. Problem a[ lösa idag (...) Innehåll Minneshantering (...) Föreläsning 1 bakgrund och mobvabon conbnous allocabon, fixed allocabon, buddy, segmentabon paging Föreläsning 2 pagetable bitar, prestanda, TLB virtuellt minne page replacement

Läs mer

Dynamiskt minne. Vad är dynamiskt minne Motivering Hur gör man i C Övningar

Dynamiskt minne. Vad är dynamiskt minne Motivering Hur gör man i C Övningar Dynamiskt minne Agenda Vad är dynamiskt minne Motivering Hur gör man i C Övningar Minne Datorns primärminne används till olika ändamål De flesta system partitionerar minnet efter användningen: Programkoden

Läs mer

Föreläsning 1: Intro till kursen och programmering

Föreläsning 1: Intro till kursen och programmering Föreläsning 1: Intro till kursen och programmering λ Kursens hemsida http:www.it.uu.se/edu/course/homepage/prog1/mafykht11/ λ Studentportalen http://www.studentportalen.uu.se UNIX-konton (systemansvariga

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

Dugga 1 status 41 godkända 39 ej godkända ERIK LARSSON

Dugga 1 status 41 godkända 39 ej godkända ERIK LARSSON Datorteknik Dugga 1 status 41 godkända 39 ej godkända ERIK LARSSON e.g. Harvard or Boston Home About Rankings Survey Universities GRUP Initiative Conference Study in China Advertise with Us Home>> Global

Läs mer

Cacheminne i en Intel Core 2 Duo-processor

Cacheminne i en Intel Core 2 Duo-processor Peter Hesslow EDT621 Cacheminne i en Intel Core 2 Duo-processor Abstrakt Det finns många olika sätt att bygga upp ett datorminne på, och med en flerkärnig processor så blir alternativen ännu fler. Denna

Läs mer

Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock

Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock Inledning Vad är ett datorprogram, egentligen? Olika språk Problemlösning och algoritmer 1 (14) Varför använda en dator? Genom att variera de program som styr datorn kan den användas för olika uppgifter.

Läs mer

Datorsystemteknik för E/D

Datorsystemteknik för E/D Tentamen i kursen Datorsystemteknik (EDA330 för D och EDA370 för E) 19/8 2000 1(8) Tentamen i kursen Datorsystemteknik (EDA330 för D och EDA370 för E) Datorsystemteknik för E/D 19/8 2000 Tentamensdatum:

Läs mer

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

DVG A06. Operativsystem, mm. Karlstads universitet Datavetenskap. DVG A06 Johan Eklund. Datavetenskap, Karlstads universitet 1 DVG A06 Operativsystem, mm DVG A06 Johan Eklund, 1 2 DVG A06 Johan Eklund, 2 Operativsystem - Vad är ett operativsystem? - Hur fungerar det..? - Vad använder vi operativsystemet till? - Vilka olika operativsystem

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #21 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Teknologier och hierarkier Minnestyper Vi har hittills

Läs mer

Datorsystem 2 CPU. Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur. Visning av Akka (för de som är intresserade)

Datorsystem 2 CPU. Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur. Visning av Akka (för de som är intresserade) Datorsystem 2 CPU Förra gången: Datorns historia Denna gång: Byggstenar i en dators arkitektur CPU Visning av Akka (för de som är intresserade) En dators arkitektur På en lägre nivå kan vi ha lite olika

Läs mer

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

Definition DVG A06. Varför operativsystem? Operativsystem. Översikt. - Vad är ett operativsystem? DVG A06 Operativsystem, mm Definition Den del av systemet som hanterar all hårdvara och all mjukvara. Kontrollerar: -alla filer -alla enheter -varje del av minnet -varje ögonblick av processortiden (-nätverk

Läs mer

Hannes Larsson - IDA 2, LTH Campus Helsingborg. NEC V R 4300i. Interlock-handling EDT621

Hannes Larsson - IDA 2, LTH Campus Helsingborg. NEC V R 4300i. Interlock-handling EDT621 Hannes Larsson - IDA 2, LTH Campus Helsingborg NEC V R 4300i Interlock-handling EDT621 Läsperiod 2, 2017 Innehållsförteckning s.2 - Förord s.2 - Inledning s.2 - NEC VR-4305 s.3 - Pipeline s.4 - Interlocks

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #21 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Teknologier och hierarkier Minnestyper Vi har hittills

Läs mer

Operativsystem - Filsystem

Operativsystem - Filsystem Operativsystem - Filsystem Mats Björkman 2015-03-09 Administrativt n Extraföreläsning istället för den inställda: torsdag 12/3 kl 8-10 i Pi n Seminarier preliminärt schema ute n 15 minuter per grupp lämna

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

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler Talsystem Talsystem - binära tal F1.1) 2 n stycken tal från 0 till 2 n 1 F1.2) 9 bitar (512 kombinationer) Talsystem - 2-

Läs mer

CE_O5. Cacheminne. Hemlaboration 2.

CE_O5. Cacheminne. Hemlaboration 2. IS1500 Exempelsamling till övning CE_O5, 2014 CE_O5. Cacheminne. Hemlaboration 2. 5.1. Medeltidshistoria Diskutera förloppet då CPU:n gör en läsreferens i huvudminnet dvs information kopieras från huvudminne

Läs mer

Datorarkitekturer med operativsystem ERIK LARSSON

Datorarkitekturer med operativsystem ERIK LARSSON Datorarkitekturer med operativsystem ERIK LARSSON Dator Primärminne Instruktioner och data Data/instruktioner Kontroll Central processing unit (CPU) Fetch instruction Execute instruction Programexekvering

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

32 Bitar Blir 64 Sammanfattning

32 Bitar Blir 64 Sammanfattning 32 Bitar Blir 64 Sammanfattning Syftet med rapporten är att ge en insyn i det tillvägagångssätt och problem som uppstod i utvecklingen från 32 bitars CPUs till 64 bitars CPUs samt inblick i skillnaden

Läs mer

Jämförelse av skrivtekniker till cacheminne

Jämförelse av skrivtekniker till cacheminne Jämförelse av skrivtekniker till cacheminne 1 Innehåll 1. Sammanfattning 2. Inledning 3. Diskussion 4. Referenslista 1. Sammanfattning En rapport innehållande jämförelser av olika skrivtekniker till minnen

Läs mer

Digitalteknik och Datorarkitektur 5hp

Digitalteknik och Datorarkitektur 5hp Digitalteknik och Datorarkitektur 5hp Minnes-hierarkier och Cache 12 maj 2008 karl.marklund@it.uu.se issa saker använder vi ofta Dessa saker vill vi ha nära till hands Storleken har betydelse Litet är

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

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647 Lågnivåprogrammering Föreläsning 2 Lågnivåprogrammering Förberedelse inför laboration 2. Maskinspråk, assemblerspråk Talrepresentation En enkel dator, komponenter Instruktionsformat, instruktionscykel

Läs mer

Datorarkitekturer med Operativsystem

Datorarkitekturer med Operativsystem Lunds Tekniska Högskola Campus Helsingborg Datorarkitekturer med Operativsystem EDT621 Rapport Cacheminneshantering för ARM3-processorer 7 december 2015 Pierre Aupeix dat11pau@student.lu.se 1 Abstract

Läs mer

Operativsystem ID1200/06 Tentamen :00-18:00

Operativsystem ID1200/06 Tentamen :00-18:00 Operativsystem ID1200/06 Tentamen 2018-01-12 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 sidor,

Läs mer

MESI i Intel Core 2 Duo

MESI i Intel Core 2 Duo MESI i Intel Core 2 Duo Sammanfattning Denna rapport beskriver en processor (Intel Core 2 Duo) vars cache coherence protokoll är MESI. Rapporten beskriver hur processorn är uppbyggd, hur många kärnor den

Läs mer

Moment 2 Digital elektronik. Föreläsning Inbyggda system, introduktion

Moment 2 Digital elektronik. Föreläsning Inbyggda system, introduktion Moment 2 Digital elektronik Föreläsning Inbyggda system, introduktion Jan Thim 1 Inbyggda system, introduktion Innehåll: Historia Introduktion Arkitekturer Mikrokontrollerns delar 2 1 Varför lär vi oss

Läs mer

System S. Datorarkitektur - en inledning. Organisation av datorsystem: olika abstraktionsnivåer. den mest abstrakta synen på systemet

System S. Datorarkitektur - en inledning. Organisation av datorsystem: olika abstraktionsnivåer. den mest abstrakta synen på systemet Datorarkitektur - en inledning Organisation av datorsystem: olika abstraktionsnivåer System S den mest abstrakta synen på systemet A B C Ett högnivåperspektiv på systemet a1 b1 c1 a2 b3 b2 c2 c3 En mera

Läs mer

Tentamen den 9 januari 2018 Datorarkitekturer med operativsystem (EITF60)

Tentamen den 9 januari 2018 Datorarkitekturer med operativsystem (EITF60) Lunds Universitet LTH Tentamen den 9 januari 2018 Datorarkitekturer med operativsystem (EITF60) Skrivtid: 08.00-13.00 Tillåtna hjälpmedel: Inga. Maximalt antal poäng: 50 poäng För betyg 3 krävs 20 poäng

Läs mer

Program som ska exekveras ligger i primärminnet. Processorn hämtar instruk7on för instruk7on. Varje instruk7on, som är e= antal 1:or och 0:or, tolkas

Program som ska exekveras ligger i primärminnet. Processorn hämtar instruk7on för instruk7on. Varje instruk7on, som är e= antal 1:or och 0:or, tolkas 1 2 Program som ska exekveras ligger i primärminnet. Processorn hämtar instruk7on för instruk7on. Varje instruk7on, som är e= antal 1:or och 0:or, tolkas och instruk7onen exekveras. 3 4 Program kan beskrivas

Läs mer

Operativsystem ID1200/06 och ID2200/06 Tentamen TENA 6 hp :00-18:00

Operativsystem ID1200/06 och ID2200/06 Tentamen TENA 6 hp :00-18:00 Operativsystem ID1200/06 och ID2200/06 Tentamen TENA 6 hp 2018-04-03 14:00-18:00 Omtentander på ID2200 TEN1 3.8 hp och ID2206 TEN1 4.5 hp skall inte skriva denna tentamen! Instruktioner Du får, förutom

Läs mer

Tentamen den 14 januari 2015 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng

Tentamen den 14 januari 2015 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng Lunds Universitet LTH Ingenjörshögskolan, Helsingborg Tentamen den 14 januari 2015 Datorarkitekturer med operativsystem, EDT621, 7,5 poäng Skrivtid: 08.00-13.00 Tillåtna hjälpmedel: Inga. Maximalt antal

Läs mer

CE_O8. Cacheminne. Hemlaboration 2.

CE_O8. Cacheminne. Hemlaboration 2. IS1200 Lösningsförslag till övning CE_O8, 2015 CE_O8. Cacheminne. Hemlaboration 2. 8.1. Medeltidshistoria Diskutera förloppet då CPU:n gör en läsreferens i huvudminnet dvs information kopieras från huvudminne

Läs mer

TDDC76 - Programmering och Datastrukturer

TDDC76 - Programmering och Datastrukturer TDDC76 - Programmering och Datastrukturer Pekare och Listor Eric Elfving Institutionen för datavetenskap 1 / 20 Översikt Internminne Pekare Dynamiska datastrukturer (Enkellänkade) listor 2 / 20 Internminne

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

Att använda pekare i. C-kod

Att använda pekare i. C-kod Att använda pekare i C-kod (Bör användas av de som känner sig lite hemma med C-programmering!) Rev 1, 2005-11-23 av Ted Wolfram www.wolfram.se Syfte: Man kan tycka att det är komplicerat att använda pekare

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #18 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Assemblerprogrammering Assemblatorer vs kompilatorer

Läs mer

Stack och subrutiner Programmeringskonventionen

Stack och subrutiner Programmeringskonventionen Stack och subrutiner Programmeringskonventionen Du ska förstå hur en instruktion behandlas i processorn Du ska känna till några fler instruktioner Du ska veta hur maskinkoden för ett program byggs upp

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

Lågnivåprogrammering. Föreläsning 2 Lågnivåprogrammering. Binära tal. En enkel modell av datorns inre

Lågnivåprogrammering. Föreläsning 2 Lågnivåprogrammering. Binära tal. En enkel modell av datorns inre Lågnivåprogrammering Föreläsning 2 Lågnivåprogrammering Förberedelse inför laboration 2. Maskinspråk, assemblerspråk Talrepresentation En enkel dator, komponenter Instruktionsformat, instruktionscykel

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #8 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Assemblatorer vs kompilatorer En assemblator är ett program

Läs mer

Föreläsning 3.1: Datastrukturer, en översikt

Föreläsning 3.1: Datastrukturer, en översikt Föreläsning.: Datastrukturer, en översikt Hittills har vi i kursen lagt mycket fokus på algoritmiskt tänkande. Vi har inte egentligen ägna så mycket uppmärksamhet åt det andra som datorprogram också består,

Läs mer

Minnesisolering för virtuella maskiner

Minnesisolering för virtuella maskiner Minnesisolering för virtuella maskiner En hypervisorstudie MATHIAS PEDERSEN- SANDBACKKEN och MATTIAS USKALI Examensarbete Stockholm, Sverige 2011 Minnesisolering för virtuella maskiner En hypervisorstudie

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