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

Storlek: px
Starta visningen från sidan:

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

Transkript

1 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 algorithms, beladys Föreläsning 3 working set window long term scheduler, thrashing mulblevel paging, inverted pagetable Föreläsning 1 Hur är systemet uppbyggt? Vilka problem finns relaterat Bll minne? ConBnous allocabon External fragmentabon CompacBon Fixed allocabon Internal fragmenataion Buddy system SegmentaBon Paging (vikbgt!) Systemet hivlls... I kernel (rita): CPU med register... plats för fler kernel mode och user mode en lista med kerneltrådar i OS minne processer med egna usertrådar internt koppling mellan kerneltrådar och usertrådar program är skrivna för en viss programlayout och förutsä[er a[ variabler och funkboner finns på vissa adresser Problemformuleringar Vad händer om två olika program behöver använda samma mnnesadresser Bll olika variabler och funkboner? Vad händer om en process skriver i minnet där dessa operabvsystemstrukturer är placerade? Vad händer om en process skriver över programkod eller data för en annan process? Problem a[ lösa idag Relokering Hur processer kan placeras var som helst i minnet, eller fly[as under körning Minnesskydd Hur processer kan hindras åtkomst Bll minne annat än deras eget Hur kan vi skydda minnet mer detaljerat? Delar av processen kan vara read- only Delar av processen skall ej kunna exekveras (stacken) 1

2 Fler önskemål Minnesdelning Hur kan processer med en del kod gemensamt placera den koden i en gemensam del av minnet? Exempel: programbibliotek Processer med krav på mer minne än fysiskt Bllgängligt Hur skall man ändå kunna exekvera sådana processer? Termer bra a[ kunna Adressrymd En viss sekvenbell uppsä[ning adresser i minnet RelaBv adress En posibon i minnet angiven utgående från en godtycklig adress Basadress Utgångspunkten för en relabv adress Absolut adress En fast posibon i minnet (utgående från adress 0) Relokering Programmeraren skriver koden för varje process a[ använda e[ visst område i minnet Obekvämt: I strid med e[ av målen med OS Kompilatorn gör automabskt jobbet, programmeraren anger bara posibon i minnet Foraarande obekvämt OperaBvsystemet gör jobbet automabskt när processen läses in från programfilen IneffekBvt: I strid med e[ av målen med OS??? Hårdvarustöd för relokering Kompilatorn kompilerar programmet för placering på en fast posibon i minnet, t.ex. från adress noll Processen använder under körning rela%va adresser utgående från den fasta posibonen CPU har e[ register med en basadress som automabskt adderas på varje adress som används under körning CPU kan uaöra adressberäkningen för nästa instrukbon medan föregående exekverar ingen prestandaförlust (eller obetydlig) Minnesskydd Programmeraren ser Bll a[ inte använda annat än processens eget minne Osäkert: I strid med OS målsä[ning Kompilatorn lägger Bll automabska kontroller a[ endast rä[ minne används IneffekBvt och osäkert OprakBskt: Svårt för kompilatorn a[ kontrollera allt OperaBvsystemet kontrollerar automabskt? Omöjligt a[ lösa? Hårdvara kontrollerar varje access ubfrån konfigurabon från OS. Den modell som brukar användas... Hårdvarustöd för minnesskydd Processorn har e[ extra register i par med det Bdigare basregistret Det anger storleken eler slutpunkten på minnesrymden som startar i basregistret Vi kallar det limitregister CPU kontrollerar automabskt a[ alla adresser som används i user mode ligger mellan basregistret och maxstorleken Eventuella felkbga adresser genererar avbro[ 2

3 AdministraBon av register Basregistret anger starten på processens adressrymd Limitregistret anger slutet på processens adressrymd När en process som läses in placeras den i minnet på adress BASE. OS ger processen Bllgång Bll SIZE minne OS iniberar basregistret Bll BASE och limitregistret Bll BASE+SIZE Avbro[ vid minnesfel OS placerar kod för a[ hantera avbro[ från felakbg adressering så den körs vi minnesfel Vid avbro[ för minnesfel kan OS välja a[ avsluta processen (page- fault, segmentebon- fault, bus error, förbjuden åtgärd, etc...) Registren är endast åtkomliga i kernel mode! RepeBBon: Vad händer vid avbro[? (jämför med systemanrop, vad är skillnaden?) Placering i minnet Vi har nu metoder a[ placera en process var vi vill utan a[ programfel uppstår för a[ processen ligger på oväntat ställe i minnet Men var i minnet skall en ny process placeras? Fixed parbboning Dynamic parbboning (conbguous allocabon) Buddy system Vad har metoderna för för- och nackdelar? External fragmentabon Systemets minne är uppdelat i en mängd fragment Några fragment är reserverade av processer eller operabvsystemet Andra fragment är lediga Tillsammans utgör alla lediga fragment en ansenlig mängd ledigt minne Inget fragment är stort nog för a[ vara användbart (Det lediga minnet finns utanför (externt) det allokerade men ingen sekvens är lång nog a[ använda) Internal fragmentabon Systemets minne är uppdelat i en mängd fragment Fragmenten är reserverade av processer eller operabvsystemet Många av fragmenten utny[jas inte fullt ut Tillsammans utgör alla lediga lediga bitar i e[ fragment en ansenlig mängd ledigt minne Inga lediaga bitar är användbara ehersom de är reserverade av något process (Det lediga minnet finns inub (internt) det allokerade men går inte a[ använda ehersom det är reserverat) CompacBon Löser problemet med extern fragmentering Fly[ar processer i minnet så allt ledigt minne kommer i en sekvens Är ineffekbvt ehersom mycket data måste fly[as i minnet IneffekBvt: Går emot e[ av målen med OS 3

4 SegmentaBon Programmerarens vy av minnets användning Dela in processen i flera små bitar Kod Data Mer data Stack Placera varje bit fri[ i minnet Stöd i hårdvara för flera register med basadresser Mildrar extern fragmentering genom a[ mindre fragment nu går a[ ny[ja, hela processen kräver inte längre sekvenbellt minne Återstående problem... External fragmentabon... Minnesdelning... Processer störren än Bllgängligt minne... Detaljerat minnesskydd... Paging är den vik%gaste minneshanterings- metoden!!! Härnäst skall vi prata om paging. Termer bra a[ kunna Frame En del av det fysiska minnet då paging används Page Motsvarande del i logiska minnet då paging används Offset Adress internt i en page eller frame Logisk adress En låtsad men sekvenbell adress Fysisk adress Adressen som verkligen läggs ut på adressbussen Virtuell adress Logisk adress då virtuellt minne används 2- potenser ki *2 6 1ki*64 64ki Mi Gi *2 2 1Gi*4 4Gi Ti *2 5 1Ti*32 32Ti (paging) Vi utgår från en minnesrymd uppdelat i N lika stora delar, ungefär som fixed parbboning. Vi kallar varje del för en frame Några frames är upptagna, några är lediga. Minnet är fragmenterat internt och externt. Vi vill lägga in en process som kräver 5 frames sekvenbellt. Det finns inte. Rita situabonen ovan... Idé: Vi reserverar 5 frames, vilka som helst. Vi uppfinner en metod a[ låtsas a[ dessa 5 frames ligger sekvenbellt. Alla adresser processen använder är på låtsas, men ser för processen ut a[ vara helt sekvenbella utan glapp. Vi kallar en låtsad adress för en logisk adress. Vi behöver e[ system för a[ översä[a en logisk adress Bll en motsvarande rikbg fysisk adress. Varje logisk adress måste motsvaras av exakt en fysisk adress. En fysisk adress skulle kunna ha flera logiska adresser. 4

5 Vi skapar en tabell över vilken fysisk adress varje logisk adress har. På posibonen för en logisk adress i tabellen lagras motsvarande fysiska adress. PotenBella problem (lösningar senare): Tabellen blir större än det minne processen behöver. Tabellen får inte plats i en frame. Varje process behöver en egen tabell. Idé: Vi delar in den logiska (låtsade) adress- rymden i delar som vardera är lika stor som en frame. Vi kallar varje del en page. Vi skapar tabellen. På posibonen för varje page lagrar vi motvarande frame. Storleken på tabellen beror nu på hur många pages det får plats i adressrymden och hur stor varje frameadress är. Vi kallar tabellen för sidtabell, pagetable. Givet en logisk adress måste vi nu för a[ hi[a Bll den fysiska adressen: Räkna ut vilken page adressen finns i. Gå Bll indexet motsvarande det pagenumret i tabellen och läsa framenumret. Räkna ut hur långt in i pagen adressen vi söker finns. Vi kallar det offset. Gå lika långt in i framen. Rita... Problem: Mycket räkningar. Kan vi opbmera? Rita! Antag a[ varje adress använder 4 decimala siffror (adresser 0000 Bll 9999). Antag a[ vi bestämmer a[ den sista siffran i varje adress anger offset. Framestorlek? Antag a[ vi bestämmer a[ de två sista siffrorna i varje adress anger offset. Framestorlek? Antag a[ vi bestämmer a[ de tre sista siffrorna i varje adress anger offset. Framestorlek? Idé: Om vi väljer framestorlek enligt någon ovan blir det särdeles enkelt a[ räkna. Vilka siffror kommer ange pagenumret? Hur blir de[a när vi har binärt talsystem (bits och bytes)? Problem: Datorn räknar i basen 2, inte 10. Idé: Vi använder samma metod, men i basen två. I basen 2 är varje siffra en bit. Vi väljer de N sista bitarna Bll offset. Övriga bitar anger pagenumret. Valet av framestorlek begränsas nu Bll en tvåpotens (2, 4, 8, 16,..., 1024, 2048,...) Exponenten anger antalet bitar i offset. Uppslagning i hårdvara CPU får adressen Bll sidtabellen av OS CPU översä[er automabskt alla adresser processen använder. Med sidstorlek på fomen 2 N där N är antalet bitar i offset blir adressberäkningen mycket enkel i hårdvara. 5

6 Paging och segmentabon? SegmentaBon kan vara prakbskt för programmeraren då det bä[re motsvarar programmerarens syn på processens olika delar. SegmentaBon kan användas i en minnesrymd som är sidindelad. Först slås segmentets basadress och limit upp i en segmen[abell, och en en logisk (sekvenbell) adress räknas ut, sedan slås den upp i pagetable så en fysisk adress erhålls. Separatorsida Denna sida är avsiktlig. Föreläsning 2 SnabbrepeBBon av sidindelat minne (paging) Prestanda med paging TranslaBon Lookaside Buffer (TLB) Minnesdelning med paging Virtuellt minne Extra informabon (bitar) i pagetable Page replacement algorithms FIFO, OpBmal, LRU, Clock Beladys anomaly - repebbon Processen får en låtsad logisk minnesrymd indelad i pages (sidor) Fysiska minnesrymden delas in på samma sä[, men varje del kallas här en frame Varje logisk adress delas upp i två delar, sidnummer och offset inom sidan Varje logiskt sidnummer översä[s av CPU Bll e[ fysisk framenummer genom a[ slå i pagetable. Prestanda Utan paging En minnesaccess för åtkomst av sökt adress Med paging Adressberäkning Görs i förväg och i hårdvara, försumbart En minnesaccess för a[ slå i pagetable En minnesaccess för åtkomst av sökt adress Halverad minnesprestanda! Två accesser för en! TranslaBon lookaside buffer Förkortas TLB Snabb cache exklusivt för pagetable Bygger på Principle of locality 90% av Bden används 10% av data. Först B[ar vi i TLB, bara om det misslyckas slår vi i pagetable. Exempel: Räkna: 100ns minnesaccess, 10ns TLB- uppslagning, 90% hit- rate 6

7 Minnesdelning Process 1 använder C s standardbibliotek Process 2 använder det också Process 3 med... Idé: Vi placerar C s standardbibliotek i en frame. Vi låter pagetable i alla tre processerna peka ut denna frame för en av sina pages! Virtuellt minne - Idé Om alla pages en process behöver inte får plats i minnet kan de lagras på disk Blls de behövs. Vid pagefault kan OS avbro[shanterare läsa in det minne som saknas från disk och låta CPU återstarta den instrukbon som orsakade pagefault. Vid återstarten finns minnet och processen kan fortsä[a. En algoritm väljer ut hur frames ersä[s då minnet är fullt. Alla processer behöver inte finnas i minnet, endast de som är redo. En ny (long- term) schemaläggare avgör vilka processer som skall finnas i minnet. Virtuellt minne - exempel E[ minne med 4 frames, ingen ledig Två processer med 2 frames var En sida vardera på disk En sida vardera som ändrats Rita och diskutera vad som händer när en process försöker komma åt data i sidan som ej finns i minnet... Speciella flaggor i pagetable Hur vet vi om en sida är gilbg, dvs Bllhör processen och finns i en frame? Invalid bit Om den är sa[ ger uppslagning av en adress i sidan e[ pagefault som OS hanterar Hur vet vi (senare) om en sida ändrats? Modified bit Clock/LRU bits Hur kan vi skydda minnet i en sida? Read- only bit No- execute bit Kernel mode memory Virtuellt minne pagefault steg 1 Processen kör i user mode och försöker läsa en (virtuell, logisk) adress. CPU delar upp adressen i sidnummer och offset. CPU B[ar i pagetable på sidnumrets posibon. CPU ser a[ valid - biten är sa[ Bll false OS har inte Blldelat någon frame Bll sidan! CPU genererar e[ avbro[ (interrupt). Virtuellt minne pagefault steg 2 CPU växlar Bll kernel mode och Bll operabvsystemets kerneltråd för processen som kör. CPU sparar alla processens register på kernelstacken. CPU slår upp i sin avbro[stabell var hanterarfunkbonen för pagefault finns (inlagd av OS) och startar den. 7

8 Virtuellt minne pagefault steg 3 HanterarfunkBonen för interruptet är en del av OS. OS undersöker vilken page som inte kunde slås upp. OS undersöker i en intern tabell om denna page har någon data på disk som kan läsas in. Om inte avslutas processen med e[ felmeddelande. Vi förutsä[er här a[ data fanns på disk och fortsä[er. OS undersöker om det finns någon frame i RAM som är ledig. Isåfall går vi Bll steg 5. Vi förutsä[er här a[ alla frames var upptagna och fortsä[er. Virtuellt minne pagefault steg 4 OS väljer ut en frame som förmodligen (förhoppningsvis) inte kommer a[ behövas på länge. OS markerar den som invalid i pagetable för den process (de processer) som använder den, och B[ar sambdigt i pagetable om sidan är modifierad sedan den lästes in i minnet (en bit vi kallar dirty - bit, CPU ansvarar för a[ uppdatera dirty bit vid varje skrivning). Om sidan var ändrad sparas ändringarna på disk så sidan kan återställas när processen som använder den får pagefault. Virtuellt minne pagefault steg 5 OS läser in sidan som saknades från disk och placerar den i den frame som var eller gjorts ledig. OS uppdaterar pagetable för den process som fick pagefult. OS avslutar avbro[et (interruptet). CPU återställer processens register och stack, och byter Bll user- mode och återstartar instrukbonen som misslyckades. Pagetable är uppdaterad och instrukbonen lyckas nu (?) utan pagefault. Virtuellt minne - fördelar Minnet inte begränsat Bll fysiska mängden RAM Fler processer kan vara igång sambdigt endast de som är redo behöver finnas i minnet CPU kan ny[jas effekbvare om det hela Bden finns Bllgång Bll redo processer. Mycket stora processer kan exekveras programmeraren behöver inte fundera (så mycket) på minnesanvändningen OS tar hand om det på bästa sä[. Virtuellt minne - nackdelar Prestanda vid pagefault är bedrövlig För få processer i redo- kön leder Bll dåligt ny[jande av CPU medan för många (eller för stora) processer i minnet leder Bll många pagefault För lite RAM leder Bll många pagefault För många pagefault leder Bll trashing Flera pagefault i en instrukbon? Pagefult i pagetable? Pagefault i loopar? Problem a[ välja vilka pages som skall finnas i minnet vid varje Bllfälle för a[ minimera pagefault och maximera CPU- ny[jande. Virtuell minne - prestanda? Vi antar a[ en minnesaccess tar 100ns (vi antar a[ TLB och all siduppslagning är inkluderat i den siffran) Vi antar a[ en diskaccess tar 10ms Vi antar a[ pagefault uppstår vid 1% av minnesaccesserna. (1% page fault rate) 90% av Bden behövs bara 10% av datat! Vad blir den genomsni[liga minnesprestandan? (Jämför beräkningen med TLB.) Vad är rimlig page- fault rate? 8

9 Page replacement algorithm Hur skall OS välja ut vilken frame som skall tas bort och återanvändas då en ny sida behöver läsas in? Välj en sida som är ledig. Välj en sida som inte behövs igen (omöjligt a[ veta). Välj en sida som inte kommer a[ behövas på längst Bd (opbmal och omöjligt a[ veta). Välj sidan eher den som valdes senast (FIFO). Välj en sida som inte verkar användas speciellt frekvent (clock, counbng). Välj en sida som inte använts på läng och hoppas det betyder den inte kommer behövas på länge. (LRU, clock) Rita exempel... Beladys anomaly Frågeställning: Om flera frames läggs Bll i e[ system, kommer då antaled pagefault a[ minska? Fler frames är generellt se[ bä[re. Fler fames kan leda Bll fler pagefaults! FIFO 3 frames blir 4 med sekvens Föreläsning 3 Long term scheduler Thrashing Working set window Page fault frequency Local vs global replacement policy MulBlevel paging Inverted pagetable - repebbon Processen får en låtsad logisk minnesrymd indelad i pages (sidor) med motsvarande fysiska frames. Varje logiskt sidnummer översä[s av CPU Bll e[ fysisk framenummer genom a[ slå i pagetable eller TLB Pagetable kan hålla reda på extra informabon om hur varje sida får användas (valid, read- only, no- exec, dirty) Sidor som inte får plats i minnet lagras på disk och läses in vid behov (när pagefault sker). En algoritm avgör vilken frame som ersä[s då en ny läses in vid disk. Long- term scheduler Ser Bll a[ det fins Bllräckligt med processer i ready- kön (och därmed i minnet) för a[ hålla CPU fullt sysselsa[. Thrashing Förutsä[ning: OS försöker hålla CPU upptagen med arbete genom a[ hålla redo- kön full och CPU ny[jad medan disken arbetar. 1. E[ pagefault uppstår. Processen fly[as Bll en kö i väntan på a[ sidan läses in från disk och en redo process fortsä[er. 2. Den nya processen har just få[ en av sina sidor utkastade för a[ få en ledig sida Bll sidan som skall läsas in. 3. E[ ny[ pagefult uppstår. En redo process schemaläggs. 4. Också denna har just få[ en sida utkastad... antalet pagefault ökar. 5. CPU- ny[jande sjunker då många processer väntar på data från disk. 6. OS läser in fler processer för a[ hålla CPU fullt utny[jad. Antalet frames per process minskar. 7. Färre frames leder Bll ännu fler pagefult och minskat CPU- ny[jade. 8. OS läser in fler processer... färre frames... 9

10 Tilldelning av sidor Hur skall OS avgöra hur många frames en process behöver för a[ fungera utan många pagefault? Studera process working set under en Bdsperiod hur många olika sidor använder processen under Bdsperioden? (OH!) Räkna ut genom a[ bokföra vilka sidor en process använder en viss Bdperiod bakåt. StaBsBk över page fault frequency och anpassa antalet sidor däreher. Hur skall OS Blldela frames Bll processer? Ge varje process en viss mängd frames. Vid pagefault återanvänder processen en av sina egna frames. Tilldela frames Bll processer ur en global pool. - Exempel Exempel: Vi har e[ antal processer av varierande storlek, mellan 1kiB och 7kiB. Vi har e[ system med 32 bitars adressbuss. Det innebär 2 32 = 4Gi adresser. En adress använder alltså 4 byte. Hur stor skall varje sida vara? Hur många bitar blir då offset? Exempel: Fortsä[ning... Hur många sidor behövs? Hur stor blir pagetable (sidtabellen)? Hur många sidor behövs Bll pagetable? När uppslagning skall ske i pagetable, hur vet CPU vilka sidor pagetable ligger i? Large pagetable problem! Hela pagetable måste vara sekvenbell! Pagetable bör ha samma storlek som en frame! MulBlevel paging - Idé (sidindelning i flera nivåer) Vi delar in pagetable i flera bitar. Vi gör en ny tabell som berä[ar i vilken frame varje bit kan hi[as. Vi kallar den nya tabellen för page direcory Varje del av en pagetable kallar vi foraarande pagetable, men vi har nu många pagetables, lika många som kan anges av page directory. Vi kan applicera samma ide om och om igen för a[ få paging i många nivåer. Rita... MulBlevel paging (sidindelning i flera nivåer) Fortsä[ exempel, rita... Vad blir nu prestanda? Hur stor adressrymd har varje process? Hur mycket minne kan systemet komma åt? Physical adress extension. Vad händer om vi har 64- bit adresser? Hur stor blir pagetable? Behöver alla pagetable a[ lagras i minnet? OH: Y[erligare nivåer av paging. - fördelar Processer ser allbd samma (visserligen låtsade ) adressrymd. Enkelt för kompilator och programmerare som kan förutsä[a a[ hela denna minnesrymd är Bllgänglig och allbd likadan. OS har frihet a[ koppla varje logisk page Bll vilken fysisk frame som helst. (Ingen external fragmentabon.) Processer får skyddat minne - kan bara komma åt frames som OS Blldelat processens pagetable. OS kan enkelt låta processer dela frames med andra processer och sä[a rävgheter på dessa. OS kan enkelt ny[ja diskutrymme Bll sidor som inte får plats i fysiskt minne (RAM). Det skall visas denna FÖ. 10

11 - nackdelar CPU måste översä[a varje adress. Uppslagning i N- nivås pagetable kräver N extra minneaccesser. TLB krävs för god prestanda. För stor sidstorlek ger hög internal fragmentabon. För liten sidstorlek ger för stor pagetable. Pagetable kräver extra minne och kan ta upp oproporboneligt mycket minne. Virtuellt minne kan bli katastrof för prestanda. Inverted pagetable Idé: Vi vänder på steken! Vi har en viss mängd fysiskt minne. Vi delar in det i frames. Vi skapar en inverterad pagetable. På posibonen för varje frame anges vilken process och vilken page i den processen som använder framen. OH. Rita! Vad är nackdelen? Fördelen? Inverted pagetable Uppslagning blir besvärligare. För a[ översä[a page X i process Y Bll motsvarande frame måste en rad i tabellen som matchar X och Y sökas upp. Löses i hårdvara för Bllräcklig prestanda. Minnesdelning blir besvärligt. Varje frame har nu bara en page. Tabellen blir mindre! Och det behövs bara en tabell för hela systemet! Tid över? Hemuppgih Uppgih 8: Stack Bll main? Hur går det? Frågor? SegmentaBon StarvaBon Priority inversion 11

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

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

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

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

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

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

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

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

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

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 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

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

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

Försättsblad till skriftlig tentamen vid Linköpings Universitet Cover page for written exam at Linköping University

Försättsblad till skriftlig tentamen vid Linköpings Universitet Cover page for written exam at Linköping University Försättsblad till skriftlig tentamen vid Linköpings Universitet Cover page for written exam at Linköping University Datum för tentamen Date of exam Sal Room Tid Time Kurskod Course code Provkod LADOK code

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

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

Försättsblad till skriftlig tentamen vid Linköpings Universitet Cover page for written exam at Linköping University

Försättsblad till skriftlig tentamen vid Linköpings Universitet Cover page for written exam at Linköping University Försättsblad till skriftlig tentamen vid Linköpings Universitet Cover page for written exam at Linköping University Datum för tentamen Date of exam Sal Room Tid Time Kurskod Course code Provkod LADOK code

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

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 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

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

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

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

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

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

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

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

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

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

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

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

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

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

Minneshantering - grunderna. Föreläsning 2

Minneshantering - grunderna. Föreläsning 2 Minneshantering - grunderna Föreläsning 2 Minneshantering Hur hantera grundfallet med endast en process? Hur kan flera processer vara aktiva, dvs vara i minnet, samtidigt? Adressrymden Kontinuerlig allokering

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

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

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

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

Hjälpmedel: Inga hjälpmedel förutom penna, suddgummi och glatt humör.

Hjälpmedel: Inga hjälpmedel förutom penna, suddgummi och glatt humör. Tentamen Inst. för Informationsteknologi Avdelningen för Datorteknik Herbert P Sander Tel: 070 376 06 87 Ämne: Operativsystem Lokal: Post Scriptum, sal 2 Datum: Måndagen den 13 maj 2002 Tid: Kl 09.00-14.00

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

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

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

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

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

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

0.1. INTRODUKTION 1. 2. Instruktionens opcode decodas till en språknivå som är förstålig för ALUn.

0.1. INTRODUKTION 1. 2. Instruktionens opcode decodas till en språknivå som är förstålig för ALUn. 0.1. INTRODUKTION 1 0.1 Introduktion Datorns klockfrekvens mäts i cykler per sekund, eller hertz. En miljon klockcykler är en megahertz, MHz. L1 cache (level 1) är den snabbaste formen av cache och sitter

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ö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

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

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

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

Introduktion till programmering och Python Grundkurs i programmering med Python

Introduktion till programmering och Python Grundkurs i programmering med Python Introduktion till programmering och Python Hösten 2009 Dagens lektion Vad är programmering? Vad är en dator? Filer Att tala med datorer En första titt på Python 2 Vad är programmering? 3 VAD ÄR PROGRAMMERING?

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

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

Ö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

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

Generell säkerhet. Loggning - Hur mycket ska man logga? Inloggningsrutinerna i Unix. Loggning fortsättning

Generell säkerhet. Loggning - Hur mycket ska man logga? Inloggningsrutinerna i Unix. Loggning fortsättning Generell säkerhet Här finns det inga direkta rätt eller fel. Snarare saker man bör tänka på när man implementerar ett program. Kort sagt: Efter att du kommit på hur du tänkt göra, sov på saken och tänk

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

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data.

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data. 1 3 4 Antag a' processorn ska exekvera instruk3onen ADD R1, R3. När instruk3onen är exekverad så a' processorn tagit innehållet i R1 och R3 och med hjälp av ALU:n är värdena adderade och resultatet är

Läs mer

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data.

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data. 1 2 3 Antag a' processorn ska exekvera instruk3onen ADD R1, R3. När instruk3onen är exekverad så a' processorn tagit innehållet i R1 och R3 och med hjälp av ALU:n är värdena adderade och resultatet är

Läs mer

CE_O3. Nios II. Inför lab nios2time

CE_O3. Nios II. Inför lab nios2time IS1200 Exempelsamling till övning CE_O3, 2015 CE_O3. Nios II. Inför lab nios2time 3.1. Logiska operationer (se uppgift 1.2 c) Repetera (eller lär dig) innebörden av de logiska operationerna "bitvis AND",

Läs mer

Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum:

Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum: Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60 Superscalar vs VLIW Cornelia Kloth IDA2 Inlämningsdatum: 2018-12-05 Abstract Rapporten handlar om två tekniker inom multiple issue processorer

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

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013 Rahim Rahmani (rahim@dsv.su.se) Division of ACT Department of Computer and Systems Sciences Stockholm University SVAR TILL TENTAMEN I DATORSYSTEM, VT2013 Tentamensdatum: 2013-03-21 Tentamen består av totalt

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

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

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

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

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

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

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

Superscalar Bra: Hårdvaran löser allt: Hårdvara detekterar poten6ell parallellism av instruk6oner Hårdvara försöker starta exekvering (issue) av så

Superscalar Bra: Hårdvaran löser allt: Hårdvara detekterar poten6ell parallellism av instruk6oner Hårdvara försöker starta exekvering (issue) av så 1 Superscalar Bra: Hårdvaran löser allt: Hårdvara detekterar poten6ell parallellism av instruk6oner Hårdvara försöker starta exekvering (issue) av så många instruk6oner som möjligt parallellt Hårdvara

Läs mer

Datormodell. Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden

Datormodell. Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden Datormodell Datorns uppgifter -Utföra program (instruktioner) Göra beräkningar på data Flytta data Interagera med omvärlden Intel 4004 från 1971 Maximum clock speed is 740 khz Separate program and data

Läs mer

CPU. Carry/Borrow IX. Programräknare

CPU. Carry/Borrow IX. Programräknare Laboration:. Jämförelser mellan assembler och C. CPU ACCA ACCD ACCB 8-bitars ackumulatorer eller 16- bitars ackumulator CCR 1 1 1 SXH I NZVC Flaggregister Carry/Borrow IX IY PC Indexregister X Indexregister

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

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

Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp

Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp Tentamen i Digitala system EITA5 5hp varav denna tentamen 4,5hp Institutionen för elektro och informationsteknik Campus Helsingborg, LTH 289 8. 3. (förlängd 4.) Uppgifterna i tentamen ger totalt 6 poäng.

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-01-11 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

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

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

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

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

Försättsblad till skriftlig tentamen vid Linköpings Universitet Cover page for written exam at Linköping University

Försättsblad till skriftlig tentamen vid Linköpings Universitet Cover page for written exam at Linköping University Försättsblad till skriftlig tentamen vid Linköpings Universitet Cover page for written exam at Linköping University Datum för tentamen Date of exam Sal Room Tid Time Kurskod Course code Provkod LADOK code

Läs mer

Föreläsning 10. Pekare (Pointers)

Föreläsning 10. Pekare (Pointers) Föreläsning 10 Pekare (Pointers) Dagens kluringar int a=5; int f(int b) a--; b++; return b; int main() int a=3; printf("%d,",f(a)); printf("%d",a); return 0; int f(int a) if(a==1) return a; else return

Läs mer

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik

Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 - Inbyggda system - Analog till digital signal - Utvecklingssystem, målsystem - Labutrustningen - Uppbyggnad av mikrokontroller - Masinkod, assemblerkod

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

SVAR TILL TENTAMEN I DATORSYSTEM, HT2013

SVAR TILL TENTAMEN I DATORSYSTEM, HT2013 Rahim Rahmani (rahim@dsv.su.se) Division of SAS Department of Computer and Systems Sciences Stockholm University SVAR TILL TENTAMEN I DATORSYSTEM, HT2013 Tentamensdatum: 2013-10-30 Tentamen består av totalt

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

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

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

Digitala System: Datorteknik ERIK LARSSON

Digitala System: Datorteknik ERIK LARSSON Digitala System: Datorteknik ERIK LARSSON Dator Primärminne Instruktioner och data Data/instruktioner Kontroll Central processing unit (CPU) Fetch instruction Execute instruction Programexekvering (1)

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

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

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

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

Digitalteknik och Datorarkitektur Digitalteknik och Datorarkitektur Tentamen Tisdag 12 Januari 2010 Pollacksbackens skrivsal, klockan 08:00 13:00 Examinator: Karl Marklund 018 471 10 49 0704 73 32 17 karl.marklund@it.uu.se Tillåtna hjälpmedel:

Läs mer

Bank Switching. Att nå multipla adressrymder. Av: Drazen Mijatovic

Bank Switching. Att nå multipla adressrymder. Av: Drazen Mijatovic Bank Switching Att nå multipla adressrymder Av: Drazen Mijatovic 2016-12-06 Abstrakt: Adressbussen hos processorer och mikrokontroller som används inom inbäddade applikationer utgör en begränsning för

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

Talsystem Teori. Vad är talsystem? Av Johan Johansson

Talsystem Teori. Vad är talsystem? Av Johan Johansson Talsystem Teori Av Johan Johansson Vad är talsystem? Talsystem är det sätt som vi använder oss av när vi läser, räknar och skriver ner tal. Exempelvis hade romarna ett talsystem som var baserat på de romerska

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