Tildeling av minne til prosesser

Save this PDF as:
 WORD  PNG  TXT  JPG

Størrelse: px
Begynne med side:

Download "Tildeling av minne til prosesser"

Transkript

1 Tildeling av minne til prosesser

2 Tildeling av minne til prosesser OS må hele tiden holde rede på hvilke deler av RAM som er ledig/opptatt Når (asynkrone) prosesser/run-time system krever tildeling av en (varierende) mengde RAM: Finn et passende minneområde som matcher kravet Tildél området til prosessen Merk minneområdet som opptatt Minneområde må frigis igjen når en prosess ikke trenger det lenger (ved terminering eller garbage collection )

3 Teknikker for tildeling av minne til prosesser Enkel, sammenhengende tildeling Partisjonert tildeling Virtuelt minne med paging Segmentert minnehåndtering Merk: Minnehåndtering gjøres delvis i hardware/cpu/mmu, OS må derfor tilpasses til mekanismene som støttes i prosessoren

4 Enkel, sammenhengende tildeling Den enkleste formen for minnehåndtering En liten del av minnet settes av til å kjøre OS Hele resten av minnet er bare tilgjengelig for en prosess om gangen MS-DOS brukte denne teknikken, finnes også i f.eks. embedded systemer som bare gjør én ting Multitasking kan oppnås ved å dumpe hele RAM for nåværende prosess ut på disk, og deretter lese inn RAM-innholdet for neste prosess (swap)

5 Partisjonert tildeling Minnet er delt opp i minneområder (partisjoner) av ulik størrelse Prosessene deler på det tilgjengelige minnet OS tildeler ett minneområde til hver prosess To typer partisjonert tildeling: Statisk ( stiv tildeling i læreboken ) Dynamisk ( fleksibel tildeling i læreboken)

6 Statisk tildeling Oppdeling av RAM i faste minneområder, gjøres ved oppstart av maskinen: Segmenter av ulik størrelse Oppdelingen kan ikke endres Minimum-fit tildeling: Velg minste ledige minneområde større enn krav Sløser alltid med plass Max. antall prosesser = antall minneområder (!) Statisk tildeling brukes ikke lenger

7

8 Dynamisk tildeling Ingen faste minneområder Tildelingsstrategi: Finn det minste ledige sammenhengende minneområdet som er større enn krav (minimum-fit, alternativt maximum-fit) Tildél nøyaktig det som prosessen ber om, fra begynnelsen av minneområdet som er funnet Fleksibelt: Ingen fast øvre grense for antall prosesser Tilpasser seg automatisk til mange systemer med både mange små og få store prosesser.

9

10 Problem: Dynamisk fragmentering Blir stadig flere ledige områder i minnet minnet deles opp i relativt små fragmenter Prosesser som krever mye minne kan måtte avvises: Finnes ikke stort nok sammenhengende minneområde Men summen av de små minneområdene kan være større Samme problem oppstår stadig vekk på disker Kan løses med algoritmer for defragmentering: Gå jevnlig gjennom (deler av) RAM / disk og finn alle områder under en viss størrelse Slå sammen disse områdene til større områder ved å flytte rundt på innholdet i RAM Men: Dette krever relativt mye tid og medfører endringer i tilstand for alle prosessene på systemet systemet fryser

11 Vanlig løsning på fragmenteringsproblemet: Paging Deler opp primærminnet i småbiter av fast størrelse Hver småbit kalles for en page frame Typisk størrelse er 4096 = 4KB = 2^12 bytes Tilsvarer den minste enheten/mengden av data som kan flyttes mellom RAM og disk under skriving/lesing av data Minne tildeles alltid til en prosess som et antall pages Det fysiske minneområdet til en prosess behøver ikke være sammenhengende, men kan ligge spredt i RAM: Fragmenteringsproblemet løses ved å kunne bruke ledige småbiter av RAM til å sette sammen minneområdet Paging brukes alltid sammen med virtuelt minne

12 Virtuelt minne Virtuelt minne er en teknikk for minnehåndtering som implementeres med både programvare og maskinvare Vanlige programmer bruker virtuelle minneadresser for en prosess/maskininstruksjon ser minnet fortsatt ut som en sammenhengende tabell som kan adresseres/indekseres Operativsystemet håndterer prosessenes virtuelle adresser og tilordner dem til korrekte, virkelige adresser i det fysiske primærminnet Egen maskinvare i CPU (memory management units/ MMU) gjør den automatiske oversettelsen fra virtuell til fysisk addresse

13 Fordeler med virtuelt minne Alle program/prosesser forholder seg kun til et eget (virtuelt) lineært adresserom, enklere for programmereren OS håndterer og skjuler den fysiske oppdelingen/ fragmenteringen av minnet for applikasjonene Bedre sikkerhet, programmene kjenner ikke til minnet utenfor tildelt virtuell hukommelse Brukt sammen med paging kan virtuell hukommelse enkelt tilby prosessene mer minne enn det som faktisk er tilgjengelig (ved å bruke disk til å swappe minneområder inn/ut av RAM)

14 Virtuelt minne og paging Det sammenhengende virtuelle minneområdet for en prosess deles inn i pages: En page er en sammenhengende blokk av virtuelt minne En page er vanligvis 4 kilobytes Merk at disse minnecellene ikke finnes, men bare er tenkt minne Det virkelige primærminnet deles opp i page frames, som er en region av minnet som fysisk kan lagre inneholdet i en enkelt virtuell page En page i virtuelt minne lagres i sin helhet fysisk enten i en page frame i primærminnet eller på disk (hvis RAM fullt ) OS-ets minnestyring sørger for at program som adresserer en virtuell page får lest fra/skrevet til den riktige page frame

15

16 Page-tabeller Brukes for å oversette korrekt fra applikasjonens virtuelle adresser til fysiske adresser som brukes av maskinvaren Hvert element i tabellen lagrer informasjon om én virtuell page For hver page lagres et flagg (f.eks. en uendelig -verdi) som forteller om tilsvarende page frame er i RAM eller ikke Hvis page frame er i RAM, inneholder page-tabellen den fysiske RAM-adressen til page frame Hvis page frame ikke er i RAM, vil forsøk på lesing/skriving generere et avbrudd som kalles page fault, og det startes en avbruddsrutine som henter riktig page frame fra disk til RAM OS kan ha én stor page-tabell, en tabell for hver applikasjon, en for hvert segment av RAM, eller kombinasjoner av dette

17

18 Håndtering av page faults Paging supervisor: Den delen av OS som lager og håndterer page-tabeller Ved page fault (virtuell page ikke i RAM): Paging supervisor leser fra disk og inn i RAM den page frame som inneholder ønsket virtuell page Page-tabellen oppdateres med den fysiske RAMadressen til innlest frame og oversettelsen fra virtuell til virkelig adresse startes på nytt Merk: Hvis det ikke er plass i RAM, må en page frame tas ut og lagres på disk først (swapping) Paging supervisor må ha en strategi/algoritme for å finne ut hvilken page som skal flyttes ut på disk

19

20 Page replacement algoritmer Velger hvilken page frame som skal legges på disk / swappes når RAM er fullt Algoritmene må være gode og effektive: Disk swap er svært mye langsommere enn RAM Må ikke velge pages som brukes mye Algoritmen må selv også være effektiv Mulige strategier: Prøv å forhindre page faults (vent på disk / ta med naboer ved page fault) FIFO, lengst i minnet tas ut Minst brukt tas ut (bit-merking, Fongens klesskap )

21 Låsing av page frames Noen deler av RAM kan ikke ikke swappes til disk (pinned/locked/fixed page frames), spesielt kode og data som brukes ved avbrudd: Paging supervisor kode og diskdrivere: Paging kan ikke virke hvis koden ikke er tilgjengelig for CPU Avbruddstabellen (pekere til kodene for avbruddshåndtering) må alltid være låst Tidsavhengig kode/timere: For å unngå forsinkelse ved paging, som gir unøyaktighet Databuffere som brukes ved Direct Memory Access (DMA, se kapittel 2 i læreboken) må låses mens lesing/skriving pågår, DMA virker bare mot RAM

22 Paging, page faults og effektivitet Deler av paging-systemer er kompliserte både å forstå til bunns og å implementere, f.eks.: Bokholderi mellom virtuelt og fysisk minne / disk Optimalisering av minnebruk og swapping Flaskehals: Håndtering av page faults er tidkrevende Trashing : For mange prosesser bruker for mye RAM Maskinen bruker alt for mye tid på å overføre page frames frem og tilbake mellom RAM og disk Systemet blir svært tregt eller ubrukelig Trashing kan unngås ved å sette en øvre grense for antall prosesser/frames som er aktive (eller kjøpe mer RAM)

23 Segmentert minnehåndtering Tilbyr ikke en prosess et sammenhengende, lineært minneområde Minnet består av flere (hver for seg) sammenhengende områder av ulik størrelse, segmenter En prosess kan ha vilkårlig mange segmenter Et segment knyttes oftest til en logisk samling av informasjon: Koden som svarer til en metode i et program Data som ligger lagret i en tabell/array i et program Minnesegmentene håndteres indivividuelt mht. tildeling, (bedre) beskyttelse, deling og frigivelse

24 Implementasjon av segmentert minne Prosessen ser minne i form av en segmenttabell, som for hvert minnesegment inneholder: Starten på segmentet i minnet Lengden på segmentet Tilgangsinformasjon (delt/beskyttet...) Statusinformasjon (i RAM / swappet ut til disk etc.) Segmentert minne kan implementeres både med og uten bruk av paging Moderne CPU-er støtter ofte segmentert minne i hardware / MMU (se læreboken)

25

26 Segmentert minne uten paging Segmenttabellen inneholder fysiske adresser i RAM, sammen med status for segmentene (i RAM eller swappet ut til disk) Lesing/skriving av en virtuell minneadresse i et segment som ikke er i RAM gir avbrudd: Hele segmenter leses fra / skrives til disk Lange I/O-operasjoner, lite effektivt Problemer med fragmentert minne og lite effektiv minnebruk Vanlig i gamle dager (Multics), lite brukt nå

27 Segmentert minne med paging Segmenttabellen inneholder adresser i det virtuelle minnet Disse virtuelle minneadressene brukes igjen av systemet i en egen page-tabell for segmentet, som for vanlig virtuelt minne Segmentering blir bare et ekstra lag med abstraksjon i minnehåndteringen Paging og page faults håndteres på samme måte som for vanlig virtuelt minne Vanlig løsning i moderne OS og maskinvare

28 Minnehåndtering i Linux for Intel-CPU Standard Linux bruker p.t.: Segmentert minnehåndtering med paging 4096 bytes pages Page replacement algoritme: Hver page frame har en verdi ( age ) som indikerer hvor ønskelig det er at den forblir i RAM age oppdateres jevnlig av systemet ved lav load age øker ved mye aksess til page frame, avtar ellers Velger pages med lav age for swapping

29 Noen kommandoer for å se minnebruk i Linux Hele systemet: cat /proc/meminfo top free m vmstat ps aux sort rss gnome system monitor Enkeltprosesser: ps v PID cat /proc/pid/maps

30 Minnestyring og Java-programmer Følgende må lagres i RAM ved kjøring: Ferdig kompilert kode Statiske variable som lever i hele kjøretiden Stack'en som lagrer automatiske variable i metoder Heap'en som lagrer dynamiske variable JVM kan bruke ett minnesegment for hver av disse typene data, med ulik: Skrivebeskyttelse Deling

31

32 Kode Deles (flere tråder) Skrivebeskyttet Public Deles Ikke skrivebeskyttet static Private Deles ikke Ikke skrivebeskyttet static Stakk Deles ikke Ikke skrivebeskyttet Heap Deles ikke Ikke skrivebeskyttet

Tildeling av minne til prosesser

Tildeling av minne til prosesser Tildeling av minne til prosesser Tildeling av minne til en prosess Når en ny prosess opprettes har den et krav til hvor mye minne som skal reserveres for prosessen Memory Management System (MMS) i OS må

Detaljer

Tildeling av minne til prosesser

Tildeling av minne til prosesser Tildeling av minne til prosesser Tildeling av minne til en prosess Når en prosess opprettes har den et krav til hvor mye minne som skal reserveres for prosessen Memory Management System (MMS) i OS må da:

Detaljer

Håndtering av minne i et OS

Håndtering av minne i et OS Håndtering av minne i et OS Hva er det som skal håndteres? Minnehåndtering (memory management) utføres av de delene av systemet som har ansvar for å håndtere maskinens primærminne Primærminnet (aka hovedminne,

Detaljer

Generelt om operativsystemer

Generelt om operativsystemer Generelt om operativsystemer Operativsystemet: Hva og hvorfor Styring av prosessorer (CPU), elektronikk, nettverk og andre ressurser i en datamaskin er komplisert, detaljert og vanskelig. Maskinvare og

Detaljer

Minnehåndtering i operativsystemer

Minnehåndtering i operativsystemer Minnehåndtering i operativsystemer Minnehåndtering? Minne er en begrenset ressurs i datamaskinen Tilgjengelig minne må fordeles til prosessene som OS-et håndterer, på en korrekt og rettferdig måte Minnet

Detaljer

Minnehåndtering i operativsystemer

Minnehåndtering i operativsystemer Minnehåndtering i operativsystemer Minnehåndtering? Minne er en begrenset ressurs i datamaskinen Tilgjengelig minne må fordeles til prosessene som OS-et håndterer, på en korrekt og rettferdig måte Minnet

Detaljer

Funksjonalitet og oppbygning av et OS (og litt mer om Linux)

Funksjonalitet og oppbygning av et OS (og litt mer om Linux) Funksjonalitet og oppbygning av et OS (og litt mer om Linux) Hovedfunksjoner i et OS OS skal sørge for: Styring av maskinvaren Deling av maskinens ressurser Abstraksjon vekk fra detaljer om maskinvaren

Detaljer

Innhold. Virtuelt minne. Paging i mer detalj. Felles rammeverk for hukommelseshierarki. 02.04.2001 Hukommelseshierarki-2 1

Innhold. Virtuelt minne. Paging i mer detalj. Felles rammeverk for hukommelseshierarki. 02.04.2001 Hukommelseshierarki-2 1 Innhold Virtuelt minne Paging i mer detalj Felles rammeverk for hukommelseshierarki 02.04.200 Hukommelseshierarki-2 Virtuelt minne Lagringskapasiteten i RAM må deles mellom flere ulike prosesser: ûoperativsystemet

Detaljer

Generelt om operativsystemer

Generelt om operativsystemer Generelt om operativsystemer Hva er problemet? Styring av maskinvare og ressurser tilknyttet en datamaskin er komplisert, detaljert og vanskelig Maskinvare, komponenter og programvare endres og forbedres

Detaljer

Dagens temaer. Kort repetisjon. Mer om cache (1) Mer om cache (2) Read hit. Read miss. Write hit. Hurtig minne. Cache

Dagens temaer. Kort repetisjon. Mer om cache (1) Mer om cache (2) Read hit. Read miss. Write hit. Hurtig minne. Cache Dagens temaer Dagens emner er hentet fra Englander kapittel side 338-35 (gammel utgave). Mer om design av cache. Kort repetisjon er en spesiell type rask hukommelse som inneholder et subsett av det som

Detaljer

Operativsystemer og grensesnitt

Operativsystemer og grensesnitt Operativsystemer og grensesnitt Ulike måter å bruke OS'et på Application Program Interface (API) Applikasjoner (ofte C-programmer) som f.eks. emacs, som bruker tjenestene i OS ved å kalle på funksjoner

Detaljer

Internminne og Cache. RAM = Random Access Memory

Internminne og Cache. RAM = Random Access Memory Minne og og frames eksempel ytelse og Cache algoritmer RAM = Random Access Memory og Cache CPU-registere og cache er laget av SRAM (Static RAM) SRAM består av 6 transistorer, er meget hurtig og statisk

Detaljer

Generelt om permanent lagring og filsystemer

Generelt om permanent lagring og filsystemer Generelt om permanent lagring og filsystemer Filsystem Den delen av OS som kontrollerer hvordan data lagres på og hentes frem fra permanente media Data deles opp i individuelle deler, filer, som får hvert

Detaljer

Hvorfor lære om maskinvare*?

Hvorfor lære om maskinvare*? Litt om maskinvare Hvorfor lære om maskinvare*? Hovedoppgaven til et OS er å styre maskinvare Må ha grunnleggende kjennskap til maskinvare for å forstå hvordan OS fungerer Skal bare se på grunnleggende

Detaljer

INF2270. Minnehierarki

INF2270. Minnehierarki INF2270 Minnehierarki Hovedpunkter Bakgrunn Kort repetisjon Motivasjon Teknikker for hastighetsøkning Multiprosessor Økt klokkehastighet Raskere disker Økt hurtigminne Bruksområder Lagringskapasitet Aksesstider

Detaljer

Definisjon av prosess

Definisjon av prosess Prosesser og tråder Definisjon av prosess Enkel definisjon: En prosess er et program som kjører på datamaskinen Mer presis definisjon: En prosess er en samling av ressurser som er nødvendige for å utføre

Detaljer

Kapittel 7, Minne RAM DIMM, SIMM ROM, PROM, EPROM, EEPROM FLASH DIM SUM. Cache Virtuelt minne

Kapittel 7, Minne RAM DIMM, SIMM ROM, PROM, EPROM, EEPROM FLASH DIM SUM. Cache Virtuelt minne Kapittel 7, Minne RAM DIMM, SIMM ROM, PROM, EPROM, EEPROM FLASH DIM SUM Cache Virtuelt minne 26.04.2013 Data Cache Les adresse 99 Adresse 99 Prosessor med registre Cache Cache L2 Data Data Les side Adresse

Detaljer

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer Institutt for Datateknikk og Informasjonsvitenskap Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer Faglig kontakt under eksamen: Magnus Jahre Tlf.: 952 22 309 Eksamensdato: 19. Mai 2014 Eksamenstid

Detaljer

Operativsystemer og nettverk Løsningsforslag til eksamen 01.12.2014. Oppgave 1. a) Linux-kommando: java Beregn & b) Shellprogram:

Operativsystemer og nettverk Løsningsforslag til eksamen 01.12.2014. Oppgave 1. a) Linux-kommando: java Beregn & b) Shellprogram: Operativsystemer og nettverk Løsningsforslag til eksamen 01.12.2014 Oppgave 1 a) Linux-kommando: java Beregn & b) Shellprogram: java Beregn & java Beregn Eventuelt, hvis man vil gjøre det med bare en linje

Detaljer

Scheduling og prosesshåndtering

Scheduling og prosesshåndtering Scheduling og prosesshåndtering Håndtering av prosesser i et OS OS må kontrollere og holde oversikt over alle prosessene som kjører på systemet samtidig Prosesshåndteringen må være: Korrekt Robust Feiltolerant

Detaljer

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt. Side 1 av 8 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforslag til EKSAMENSOPPGAVE I FAG TDT4186 OPERATIVSYSTEMER Versjon: 13.des 2011 Faglig

Detaljer

Filer i Linux og Bourne-again shell

Filer i Linux og Bourne-again shell Filer i Linux og Bourne-again shell Filbegrepet En fil * er en grunnleggende lagringsenhet i et OS Brukes for alle data som: Lagres utenfor RAM (primærminnet) På permanente media (sekundærminne) Definisjoner

Detaljer

Innhold. Om denne boka 1. Kapittel 1 Operativsystemer og mellomvare 5

Innhold. Om denne boka 1. Kapittel 1 Operativsystemer og mellomvare 5 Innhold Om denne boka 1 Hvem er boka skrevet for? 1 Er dette en teoribok? 1 Hvor stort omfang har dette pensumet? 2 Laboratorieøvinger 2 Web-ressurser til denne boka 2 Om forfatteren 3 Kapittel 1 Operativsystemer

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1060 Introduksjon til operativsystemer og datakommunikasjon Eksamensdag: 6. desember 2012 Tid for eksamen: 14.30 18.30 Oppgavesettet

Detaljer

! Ytelsen til I/O- systemer avhenger av flere faktorer: ! De to viktigste parametrene for ytelse til I/O er:

! Ytelsen til I/O- systemer avhenger av flere faktorer: ! De to viktigste parametrene for ytelse til I/O er: Dagens temaer! Ulike kategorier input/output! Programmert! Avbruddstyrt! med polling.! Direct Memory Access (DMA)! Asynkrone vs synkrone busser! Med! Fordi! -enheter menes de enheter og mekanismer som

Detaljer

kan adressere et større område som RAM enn det som faktisk er tilgjengelig. Siden data kan plasseres i RAM og/eller på harddisken brukes begrepet

kan adressere et større område som RAM enn det som faktisk er tilgjengelig. Siden data kan plasseres i RAM og/eller på harddisken brukes begrepet Dagens temaer Virtuell hukommelse (kapittel 9.9 i læreboken) Input-Output Virtuell hukommelse Ofte trenger et program/prosess mer RAM enn det som er tilgjengelig fysisk Et program deler RAM med andre programmer

Detaljer

Filer i Linux og Bourne-again shell

Filer i Linux og Bourne-again shell Filer i Linux og Bourne-again shell Filbegrepet En fil * er en grunnleggende lagringsenhet i et OS Brukes for alle data som: Lagres utenfor RAM (primærminnet) På permanente media (sekundærminne) To hovedklasser

Detaljer

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer

Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer Institutt for Datateknikk og Informasjonsvitenskap Eksamensoppgave i TDT4258 Energieffektive Datamaskinsystemer Faglig kontakt under eksamen: Magnus Jahre Tlf.: 952 22 309 Eksamensdato: 19. Mai 2014 Eksamenstid

Detaljer

EKSAMEN. Operativsystemer og nettverk

EKSAMEN. Operativsystemer og nettverk T EKSAMEN Emnekode: ITF22514 Dato: 1. desember 2014 Emne: Operativsystemer og nettverk Eksamenstid: kl 09.00 til kl 13.00 Hjelpemidler: Alle trykte og skrevne. Faglærer: Jan Høiberg Eksamensoppgaven: Oppgavesettet

Detaljer

Minnehåndtering. Lars Vidar Magnusson. October 4, 2011. Lars Vidar Magnusson () Forelesning i Operativsystemer 04.10.2011 October 4, 2011 1 / 20

Minnehåndtering. Lars Vidar Magnusson. October 4, 2011. Lars Vidar Magnusson () Forelesning i Operativsystemer 04.10.2011 October 4, 2011 1 / 20 Minnehåndtering Lars Vidar Magnusson October 4, 2011 Lars Vidar Magnusson () Forelesning i Operativsystemer 04.10.2011 October 4, 2011 1 / 20 Oversikt Introduksjon 1 Introduksjon Beskrivelse Terminologi

Detaljer

Filsystemet fra innsiden

Filsystemet fra innsiden Filsystemet i Linux Filsystemet fra innsiden Har tidligere sett kommandoer for håndtering av filer i Linux filsystemet sett fra utsiden Skal nå se på filsystemet fra innsiden : Hvordan er filsystemet i

Detaljer

Litt om Javas class-filer og byte-kode

Litt om Javas class-filer og byte-kode Litt om Javas class-filer og byte-kode INF 5110, 11/5-2010, Stein Krogdahl (Dessverre litt få figurer) Disse formatene ble planlagt fra start som en del av hele Java-ideen Bt Byte-koden gir portabilitet

Detaljer

Løsningsforslag for TDT4186 Operativsystemer

Løsningsforslag for TDT4186 Operativsystemer Institutt for Datateknikk og Informasjonsvitenskap Løsningsforslag for TDT4186 Operativsystemer Eksamensdato: 9. august 2016 Eksamenstid (fra-til): 09:00-13:00 Hjelpemiddelkode/Tillatte hjelpemidler: D:

Detaljer

IN1020. Minnehierarki

IN1020. Minnehierarki IN1020 Minnehierarki Hovedpunkter Bakgrunn Kort repetisjon Motivasjon Teknikker for hastighetsøkning Multiprosessor Økt klokkehastighet Raskere disker Økt hurtigminne Bruksområder Lagringskapasitet Aksesstider

Detaljer

Eksamen DAT 103. Oppgave 2. Kandidatnr.: 145 1) B 2) B 3) A 4) A 5) D 6) C 7) B 8) A 9) A 10) D

Eksamen DAT 103. Oppgave 2. Kandidatnr.: 145 1) B 2) B 3) A 4) A 5) D 6) C 7) B 8) A 9) A 10) D Eksamen DAT 103 Kandidatnr.: 145 Oppgave 1 1) B 2) B 3) A 4) A 5) D 6) C 7) B 8) A 9) A 10) D Oppgave 2 a) Et OS er den administrerende softwaren i en datamaskin. Den bygger på prinsippene om filhåndtering,

Detaljer

Oppgave 2: Gå til roten (/) av systemet. Finn minst tre forskjellige måter å gå tilbake til hjemmekatalogen din på.

Oppgave 2: Gå til roten (/) av systemet. Finn minst tre forskjellige måter å gå tilbake til hjemmekatalogen din på. Løsningsforslag for oppgavene i operativsystemer, uke 43 (18.10-22.10) På terminalstue: Oppgave 1: List alle filer og kataloger under XVUELQ som har filnavn som begynner på b. OVXVUELQE Oppgave 2: Gå til

Detaljer

Dagens tema C, adresser og pekere

Dagens tema C, adresser og pekere Dagens tema C, adresser og pekere (Kapittel 17 i Patt&Patel-boken) Variable og adresser Pekervariable Parametre Dynamisk allokering Stakker og ringbuffere Ark 1 av 26 Adresser Som nevnt tidligere ligger

Detaljer

NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse

NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse Dessverre litt få figurer INF 5110, 8/5-2012, Stein Krogdahl Byte-koden for Java og.nett (C#) http://en.wikipedia.org/wiki/java_bytecode_instruction_listings

Detaljer

Javas klasse-filer, byte-kode og utførelse (og litt om C# sin CIL-kode)

Javas klasse-filer, byte-kode og utførelse (og litt om C# sin CIL-kode) Javas klasse-filer, byte-kode og utførelse (og litt om C# sin CIL-kode) Disse foilene er pensum INF 5110, 30/4-2013, Stein Krogdahl Byte-koden for Java og.nett (C#) kan leses her: http://en.wikipedia.org/wiki/java_bytecode_instruction_listings

Detaljer

Logaritmiske sorteringsalgoritmer

Logaritmiske sorteringsalgoritmer Logaritmiske sorteringsalgoritmer Logaritmisk sortering Rekursive og splitt og hersk metoder: Deler verdiene i arrayen i to (helst) omtrent like store deler i henhold til et eller annet delingskriterium

Detaljer

Dagens temaer. Fra kapittel 4 i Computer Organisation and Architecture. Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen

Dagens temaer. Fra kapittel 4 i Computer Organisation and Architecture. Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen Dagens temaer Fra kapittel 4 i Computer Organisation and Architecture Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen Register Transfer Language (RTL) Instruksjonseksekvering Pipelining

Detaljer

1. Introduksjon til operativsystemer

1. Introduksjon til operativsystemer Avdeling for informatikk og elæring, Høgskolen i Sør-Trøndelag Introduksjon til operativsystemer Geir Maribu 30.1.2007 Lærestoffet er utviklet for faget LO249D Operativsystemer med Linux 1. Introduksjon

Detaljer

Operativsystemet Internt

Operativsystemet Internt Operativsystemet Internt Kjell Åge Bringsrud INF 103 Opsys. internt 1 Singletasking OS Små og enkle Trenger Filhåndtering og device-drivere Trenge brukergrensesnitt Trenger ikke skedulering av I/O Trenger

Detaljer

Dagens temaer. Mer om cache-hukommelse (kapittel 6.5 i Computer Organisation and Architecture ) RAM ROM. Hukommelsesbusser

Dagens temaer. Mer om cache-hukommelse (kapittel 6.5 i Computer Organisation and Architecture ) RAM ROM. Hukommelsesbusser Dagens temaer Mer om cache-hukommelse (kapittel 6.5 i Computer Organisation and Architecture ) RAM Typer, bruksområder og oppbygging ROM Typer, bruksområder og oppbygging Hukommelsesbusser 1 Cache (repetisjon)

Detaljer

I dag. Minne typar Minne mot bussar (fysisk grensesnitt generelt) Meir buss

I dag. Minne typar Minne mot bussar (fysisk grensesnitt generelt) Meir buss 1 I dag Minne typar Minne mot bussar (fysisk grensesnitt generelt) Meir buss 2 3 Lagerhierarki 4 Minne type: Aksess 5 Minne type: Aksess Synkron / Asynkron Synkron Inn/ut lesing av data følgjer klokka

Detaljer

Dagens tema. Flere teknikker for å øke hastigheten

Dagens tema. Flere teknikker for å øke hastigheten Dagens tema Flere teknikker for å øke hastigheten Cache-hukommelse del 1 (fra kapittel 6.5 i Computer Organisation and Architecture ) Hvorfor cache Grunnleggende virkemåte Direkte-avbildet cache Cache-arkitekturer

Detaljer

Algoritmer - definisjon

Algoritmer - definisjon Algoritmeanalyse Algoritmer - definisjon En algoritme er en beskrivelse av hvordan man løser et veldefinert problem med en presist formulert sekvens av et endelig antall enkle, utvetydige og tidsbegrensede

Detaljer

VMware ESX og krav til hardware

VMware ESX og krav til hardware Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag VMware ESX og krav til hardware Stein Meisingseth 01.02.2011 Lærestoffet er utviklet for faget LN400D Drift av virtuelle nettverk og overvåkning

Detaljer

Dagens tema. Mer om cache-hukommelse Kapittel 6.5 i Computer Organisation and Architecture ) RAM. Typer, bruksområder og oppbygging 2008 ROM

Dagens tema. Mer om cache-hukommelse Kapittel 6.5 i Computer Organisation and Architecture ) RAM. Typer, bruksområder og oppbygging 2008 ROM Dagens tema Mer om cache-hukommelse Kapittel 6.5 i Computer Organisation and Architecture ) RAM ROM Typer, bruksområder og oppbygging Typer, bruksområder og oppbygging Virtuell hukommelse (kapittel 9.9

Detaljer

NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse. INF 5110, 10/5-2011, Stein Krogdahl

NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse. INF 5110, 10/5-2011, Stein Krogdahl NOTAT (pensum!) Javas klasse-filer, byte-kode og utførelse Dessverre litt få figurer INF 5110, 10/5-2011, Stein Krogdahl Oversikt over Javas class-filer og byte-kode Disse formatene ble planlagt fra start

Detaljer

Begrepet kritisk region er sentralt i forbindelse med datamaskinsystemer.

Begrepet kritisk region er sentralt i forbindelse med datamaskinsystemer. Kritisk region Begrepet kritisk region er sentralt i forbindelse med datamaskinsystemer. Generelt kan en kritisk region defineres som et sted der det kan oppstå kollisjoner. Et veikryss er en kritisk region

Detaljer

Dagens temaer. Cache (repetisjon) Cache (repetisjon) Cache (repetisjon)

Dagens temaer. Cache (repetisjon) Cache (repetisjon) Cache (repetisjon) Dagens temaer Cache (repetisjon) Mer om cache-hukommelse (kapittel 6.5 i Computer Organisation and Architecture ) Typer, bruksområder og oppbygging ROM Typer, bruksområder og oppbygging Hukommelsesbusser

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1060 Introduksjon til operativsystemer og datakommunikasjon Eksamensdag: 8. desember 2004 Tid for eksamen: 14.30 17.30 Oppgavesettet

Detaljer

Løsningsforslag til eksamen 24. november 2015

Løsningsforslag til eksamen 24. november 2015 Operativsystemer med Linux Løsningsforslag til eksamen 24. november 2015 Oppgave 1 a) Et OS deler tiden inn i små deler, typisk et hundredels sekund, og fordeler slike korte timeslices til alle prossene

Detaljer

Det matematisk-naturvitenskapelige fakultet

Det matematisk-naturvitenskapelige fakultet UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF1060 Introduksjon til operativsystemer og datakommunikasjon Eksamensdag: 7. desember 2007 Tid for eksamen: 14.30 17.30 Oppgavesettet

Detaljer

TDT4258 Eksamen vår 2013

TDT4258 Eksamen vår 2013 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Side 1 av 8 TDT4258 Eksamen vår 2013 Løsningsforslag Oppgave 1 Flervalgsoppgave (16 poeng) Du får 2 poeng

Detaljer

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk

ITPE/DATS 2400: Datamaskinarkitektur og Nettverk ITPE/DATS 2400: Datamaskinarkitektur og Nettverk Forelesning Knut Nygaard / T. M. Jonassen Institute of Computer Science Faculty of Technology, Art and Design Oslo and Akershus University College of Applied

Detaljer

Et eksempel: Åtterspillet

Et eksempel: Åtterspillet Trær Et eksempel: Åtterspillet To spillere som «trekker» annenhver gang I hvert trekk velges et av tallene 1, 2, 3, men ikke tallet som motspiller valgte i forrige trekk Valgte tall summeres fortløpende

Detaljer

hukommelse (kapittel 9.9 i læreboken) Dagens temaer Input-Output INF 1070

hukommelse (kapittel 9.9 i læreboken) Dagens temaer Input-Output INF 1070 1 Dagens temaer Virtuell hukommelse (kapittel 9.9 i læreboken) Input-Output Virtuell hukommelse 2 Ofte trenger et program/prosess mer RAM enn det som er tilgjengelig fysisk i maskinen Et program deler

Detaljer

Fakultet for informasjonsteknologi, Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 %

Fakultet for informasjonsteknologi, Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 % Side 1 av 10 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsningsforslag til

Detaljer

Fakultet for informasjonsteknologi,

Fakultet for informasjonsteknologi, Side 1 av 6 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Kontinuasjonsløsning

Detaljer

Semantikk. Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7) Semantikk. Semantikk. En måte å svare på: gi semantikken til språket!

Semantikk. Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7) Semantikk. Semantikk. En måte å svare på: gi semantikken til språket! agens tema Kjøresystemer (Ghezzi&Jazayeri.,.) Innledende om semantikk Operasjonell semantikk / SIMPLESEM Bokholderi og minneorganisering Forskjellige språkklasser... en beskrivelse av hva som skjer når

Detaljer

Dagens temaer. Dagens emner er hentet fra Englander kapittel 11 (side ) Repetisjon av viktige emner i CPU-design.

Dagens temaer. Dagens emner er hentet fra Englander kapittel 11 (side ) Repetisjon av viktige emner i CPU-design. Dagens temaer Dagens emner er hentet fra Englander kapittel 11 (side 327-344 ) Repetisjon av viktige emner i CPU-design. Flere teknikker for å øke hastigheten Cache 03.10.03 INF 103 1 Hvordan øke hastigheten

Detaljer

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer

Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT4258 Energieffektive datamaskinsystemer Faglig kontakt under eksamen: Asbjørn Djupdal Tlf.: 909 39452 Eksamensdato: 29. mai 2013

Detaljer

oppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO

oppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO oppgavesett 4 INF1060 H15 Øystein Dale Hans Petter Taugbøl Kragset September 22, 2015 Institutt for informatikk, UiO oppgave 1 Hvorfor har vi operativsystemer? Portable programmer Enklere å programmere

Detaljer

Løsningsforslag eksamen TDT4160 høsten 2005

Løsningsforslag eksamen TDT4160 høsten 2005 Løsningsforslag eksamen TDT4160 høsten 005 NB! Ved en feil er summen av prosentvektene for alle oppgavene 90 % og ikke 100 %. For å korrigere dette, ble alle resultater delt på 0,9. Oppgave 1 Alternativ

Detaljer

Løsningsforslag for TDT4186 Operativsystemer

Løsningsforslag for TDT4186 Operativsystemer Institutt for Datateknikk of Informasjonsvitenskap Løsningsforslag for TDT4186 Operativsystemer Eksamensdato: 13. august 2015 Eksamenstid (fra-til): 15:00-19:00 Hjelpemiddelkode/Tillatte hjelpemidler:

Detaljer

Filsystemet fra innsiden

Filsystemet fra innsiden Filsystemet i Linux Filsystemet fra innsiden Tidligere sett brukerkommandoer for håndtering av filer filsystemet i Linux sett fra utsiden Skal nå se på filsystemet fra innsiden : Hvordan er filsystemet

Detaljer

INF2270. Input / Output (I/O)

INF2270. Input / Output (I/O) INF2270 Input / Output (I/O) Hovedpunkter Innledning til Input / Output Ulike typer I/O I/O internt i datamaskinen I/O eksternt Omid Mirmotahari 3 Input / Output En datamaskin kommuniserer med omverdenen

Detaljer

Threads Threads (tråder) threads vs prosesser threads vs prosesser Definisjoner av

Threads Threads (tråder) threads vs prosesser threads vs prosesser Definisjoner av prosess = At en kokk lager en porsjon middag i et kjøkken CPU = kokk ressurser = kjøkken, matvarer, oppskrift thread/tråd = den sammenhengende serien(tråden) av hendelser som skjer når kokken lager en

Detaljer

Datamaskinens oppbygning og virkemåte

Datamaskinens oppbygning og virkemåte Datamaskinens oppbygning og virkemåte Laboppgave Sasa Bakija, 08DAT Del 1: Setup BIOS 1. DELL Optiplex GX270 har en Intel Pentium 4 CPU med buss speed på 800 Mhz og klokkefrekvens på 2.80 Ghz. 2. Internminne

Detaljer

Programmeringsspråket C Del 3

Programmeringsspråket C Del 3 Programmeringsspråket C Del 3 Kjell Åge Bringsrud E-mail: kjellb@ifi.uio.no Dynamisk allokering Ofte trenger man å opprette objekter under kjøringen i tillegg til variablene. Standardfunksjonen malloc

Detaljer

1. Introduksjon til operativsystemer

1. Introduksjon til operativsystemer 1. Introduksjon til operativsystemer mets plassering: Lagdeling: applikasjon, system, maskinvare Basisfunksjoner: Abstraksjon, deling, isolering Prosesser og ressurser Kjøring: sekvensiell, multitasking

Detaljer

Innhold. 2 Kompilatorer. 3 Datamaskiner og tallsystemer. 4 Oppsummering. 1 Skjerm (monitor) 2 Hovedkort (motherboard) 3 Prosessor (CPU)

Innhold. 2 Kompilatorer. 3 Datamaskiner og tallsystemer. 4 Oppsummering. 1 Skjerm (monitor) 2 Hovedkort (motherboard) 3 Prosessor (CPU) 2 Innhold 1 Datamaskiner Prosessoren Primærminnet (RAM) Sekundærminne, cache og lagerhierarki Datamaskiner Matlab Parallell Jørn Amundsen Institutt for Datateknikk og Informasjonsvitenskap 2010-08-31 2

Detaljer

Kapittel 1. Datamaskiner og programmeringsspråk. 1.1 Programmering

Kapittel 1. Datamaskiner og programmeringsspråk. 1.1 Programmering Kapittel 1 Datamaskiner og programmeringsspråk Dette kapitlet er en kort introduksjon til programmering. Vi vil se på hvordan man skriver, bygger og kjører programmer, samt illustrere noen sentrale programmeringsbegrep

Detaljer

Hvorfor lære om maskinvaren*?

Hvorfor lære om maskinvaren*? Litt om maskinvare Hvorfor lære om maskinvaren*? Hovedoppgaven til et OS er å styre maskinvare Vi må ha grunnleggende kjennskap til maskinvarens oppbygging for å forstå hvordan OS fungerer Skal bare se

Detaljer

alternativer til felles hukommelse store parallelle datamaskiner Tema for denne forelesningen: in 147, våren 1999 parallelle datamaskiner 1 9

alternativer til felles hukommelse store parallelle datamaskiner Tema for denne forelesningen: in 147, våren 1999 parallelle datamaskiner 1 9 Tema for denne forelesningen: store parallelle datamaskiner alternativer til felles hukommelse in 147, våren 1999 parallelle datamaskiner 1 9 Store parallelle datamaskiner Felles hukommelse på én buss

Detaljer

TDT4160 Datamaskiner Grunnkurs 2011. Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs 2011. Gunnar Tufte 1 TDT4160 Datamaskiner Grunnkurs 2011 Gunnar Tufte 2 Kapittel 3: Digital logic level 3 Nivå 0: Digtalekretsar Fundamentale komponentar AND, OR, NOT,NAND, NOR XOR porter D-vipper for lagring av ett bit

Detaljer

GetMutex(lock) { while(testandset(lock)) {} } En context switch kan ikke ødelegge siden testen og endringen av lock skjer i samme instruksjon.

GetMutex(lock) { while(testandset(lock)) {} } En context switch kan ikke ødelegge siden testen og endringen av lock skjer i samme instruksjon. Hardware-støttet Semafor og Implementasjon av semafor i OS til å synkronisere Hardware-støttet alle softwareløsninger innebærer mange instruksjoner i tillegg til busy-waiting, som koster CPU-tid. I praksis

Detaljer

ytelsen til hukommelseshierarkier

ytelsen til hukommelseshierarkier Tema for denne forelesningen: virtuell hukommelse ytelsen til hukommelseshierarkier andre ting å cache e in 47, våren 999 hukommelseshierarki 2 Alle prosesser får et helt adresserom! stakk stakk stakk

Detaljer

AVSLUTTENDE EKSAMEN I. TDT4160 Datamaskiner Grunnkurs. Torsdag 29. November 2007 Kl. 09.00 13.00

AVSLUTTENDE EKSAMEN I. TDT4160 Datamaskiner Grunnkurs. Torsdag 29. November 2007 Kl. 09.00 13.00 Side 1 av 11 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap AVSLUTTENDE EKSAMEN

Detaljer

Kapittel 21: Minne og variabler

Kapittel 21: Minne og variabler Kapittel 21: Minne og variabler 21 Introduksjon til minne og variabler... 334 Kontrollere og tilbakestille minnet... 337 Vise VAR-LINK-skjermbildet... 338 Manipulere variabler og mapper med VAR-LINK...

Detaljer

6105 Windows Server og datanett

6105 Windows Server og datanett 6105 Windows Server og datanett Leksjon 1b Virtualisering Tradisjonell arkitektur Virtualisering og virtuelle maskiner Hypervisor» Hosted type 2» Native type 1 Eksempler på produkter for virtualisering

Detaljer

Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først

Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først Køer Hva er en kø? En lineær datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn først Et nytt element legges alltid til sist i køen Skal vi ta ut et element, tar vi alltid

Detaljer

Kapittel 1: Datamaskiner og programmeringsspråk

Kapittel 1: Datamaskiner og programmeringsspråk Kapittel 1: Datamaskiner og programmeringsspråk Redigert av: Khalid Azim Mughal (khalid@ii.uib.no) Kilde: Java som første programmeringsspråk (3. utgave) Khalid Azim Mughal, Torill Hamre, Rolf W. Rasmussen

Detaljer

TDT4160 Datamaskiner Grunnkurs 2011. Gunnar Tufte

TDT4160 Datamaskiner Grunnkurs 2011. Gunnar Tufte 1 TDT4160 Datamaskiner Grunnkurs 2011 Gunnar Tufte 2 Lager 2.1 2.2 Hard disc Tape storage RAM Module Optical disc Register bank Core memory 3 Ein-prosessor maskin 4 Lager og prosessor overordna Tape Optical

Detaljer

Innhold. Oversikt over hukommelseshierakiet. Ulike typer minne. Innledning til cache. Konstruksjon av cache. 26.03.2001 Hukommelseshierarki-1 1

Innhold. Oversikt over hukommelseshierakiet. Ulike typer minne. Innledning til cache. Konstruksjon av cache. 26.03.2001 Hukommelseshierarki-1 1 Innhold Oversikt over hukommelseshierakiet Ulike typer minne Innledning til cache Konstruksjon av cache 26.03.2001 Hukommelseshierarki-1 1 Hukommelseshierarki Ønsker ubegrenset mye minne som er like raskt

Detaljer

bruksområder og oppbygging om cache-hukommelse (kapittel 6.5 i Computer Organisation Dagens temaer and Architecture ) ROM RAM

bruksområder og oppbygging om cache-hukommelse (kapittel 6.5 i Computer Organisation Dagens temaer and Architecture ) ROM RAM 1 Dagens temaer Mer om cache-hukommelse (kapittel 6.5 i Computer Organisation and Architecture ) RAM Typer, bruksområder og oppbygging ROM Typer, bruksområder og oppbygging 2 Cache (repetisjon) Formål:

Detaljer

Hukommelseshierarki. 16/3 cache 7.1 7.2. 23/3 virtuell hukommelse 7.3 7.5. in 147, våren 1999 hukommelseshierarki 1

Hukommelseshierarki. 16/3 cache 7.1 7.2. 23/3 virtuell hukommelse 7.3 7.5. in 147, våren 1999 hukommelseshierarki 1 Hukommelseshierarki når tema pensum 16/3 cache 7.1 7.2 23/3 virtuell hukommelse 7.3 7.5 in 147, våren 1999 hukommelseshierarki 1 Tema for denne forelesningen: en enkel hukommelsesmodell hukommelseshierarki

Detaljer

Resymé: I denne leksjonen vil du få en oversikt over hva et operativsystem er for noe, hvordan det er bygget opp og hvordan det virker.

Resymé: I denne leksjonen vil du få en oversikt over hva et operativsystem er for noe, hvordan det er bygget opp og hvordan det virker. Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Introduksjon til operativsystemer Geir Maribu 2.9.2014 Lærestoffet er utviklet for faget «IINI2008 Operativsystemer med Linux» Resymé: I

Detaljer

Skisse til løsning for eksamensoppgave i TDT4186 Operativsystemer

Skisse til løsning for eksamensoppgave i TDT4186 Operativsystemer Institutt for datateknikk og informasjonsvitenskap Skisse til løsning for eksamensoppgave i TDT4186 Operativsystemer Faglig kontakt under eksamen: Svein Erik Bratsberg: 9953 9963 Eksamensdato: 9. desember

Detaljer

Algoritmeanalyse. (og litt om datastrukturer)

Algoritmeanalyse. (og litt om datastrukturer) Algoritmeanalyse (og litt om datastrukturer) Datastrukturer definisjon En datastruktur er den måten en samling data er organisert på. Datastrukturen kan være ordnet (sortert på en eller annen måte) eller

Detaljer

Programmeringsspråket C Del 3

Programmeringsspråket C Del 3 Programmeringsspråket C Del 3 Michael Welzl E-mail: michawe@ifi.uio.no 29.08.13 inf1060 1 Dynamisk allokering Ofte trenger man å opprette objekter under kjøringen i tillegg til variablene. Standardfunksjonen

Detaljer

Runtime-omgivelser Kap 7 - I

Runtime-omgivelser Kap 7 - I Runtime-omgivelser Kap 7 - I Generelt Språk som bare trenger statiske omgivelser Språk som trenger stakk-orienterte omgivelser Språk som trenger mer generelle omgivelser Vel så riktig å si at forskjellige

Detaljer

Dagens temaer. Virtuell hukommelse. Sidetabell. Virtuell hukommelse (forts.)

Dagens temaer. Virtuell hukommelse. Sidetabell. Virtuell hukommelse (forts.) Dagens temaer Virtuell hukommelse Virtuell hukommelse (kapittel 9.9 i læreboken) Pentium-arkitekturen i mer detalj Ofte trenger et program/prosess mer RAM enn det som er tilgjengelig fysisk i maskinen

Detaljer

Fakultet for informasjonsteknologi,

Fakultet for informasjonsteknologi, Side 1 av 8 NTNU Norges teknisk-naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsning på TDT4186 Operativsystemer

Detaljer

Runtimesystemer Kap 7 - I

Runtimesystemer Kap 7 - I Runtimesystemer Kap 7 - I Generell lagerorganisering (7.1) Språk som bare trenger statisk allokering (7.2) Språk som trenger stakk-orientert allokering (7.3) Språk som trenger mer generell allokering (7.4)

Detaljer

Dagens temaer. Virtuell hukommelse (kapittel 9.9 i læreboken) Pentium-arkitekturen i mer detalj INF 1070

Dagens temaer. Virtuell hukommelse (kapittel 9.9 i læreboken) Pentium-arkitekturen i mer detalj INF 1070 Dagens temaer Virtuell hukommelse (kapittel 9.9 i læreboken) Pentium-arkitekturen i mer detalj 25.04. INF 070 Virtuell hukommelse Ofte trenger et program/prosess mer RAM enn det som er tilgjengelig fysisk

Detaljer

Sorteringsproblemet. Gitt en array A med n elementer som kan sammenlignes med hverandre:

Sorteringsproblemet. Gitt en array A med n elementer som kan sammenlignes med hverandre: Sortering Sorteringsproblemet Gitt en array A med n elementer som kan sammenlignes med hverandre: Finn en ordning (eller permutasjon) av elementene i A slik at de står i stigende (evt. avtagende) rekkefølge

Detaljer

INF2270. Input / Output (I/O)

INF2270. Input / Output (I/O) INF2270 Input / Output (I/O) Hovedpunkter Innledning til Input / Output Ulike typer I/O I/O internt i datamaskinen I/O eksternt Omid Mirmotahari 3 Input / Output En datamaskin kommuniserer med omverdenen

Detaljer