Filsystemer. Martin Gilje Jaatun. 30. april 2007

Størrelse: px
Begynne med side:

Download "Filsystemer. Martin Gilje Jaatun. 30. april 2007"

Transkript

1 Filsystemer Martin Gilje Jaatun 30. april 2007 Sammendrag Dette dokumentet er et forsøk på å formidle noen velmenende formuleringer om filsystemer og deres implementasjon, dvs. kapittel 11 og 12 i [SGG02]. Dokumentet er for det meste basert på [SGG01], som er foiler utarbeidet (på vegne?) av forfatterene av [SGG02]. Den observante leser vil ha registrert at dokumentet er skrevet på norsk, og norske uttrykk er derfor forsøkt brukt gjennomgående. Imidlertid er etablerte engelske forkortelser beholdt. Innhold 1 Fil-konseptet - hva er en fil? Filstruktur Fil-attributter Filoperasjoner Aksessmetoder Katalogstruktur Montering av filsystemer Fildeling Implementasjon av filsystemer Filsystem-strukturer i minnet Virtuelle filsystemer Implementasjon av en katalog Tildelingsmetoder Sammenhengende tildeling Lenket tildeling Indeksert tildeling

2 5 Håndtering av ledig plass Ledig-liste Gruppering Telling Beskyttelse Effektivitet og ytelse Komme sterkere tilbake Logg-strukturerte filsystemer A Ordliste 27 Figurer 1 Fil med sekvensiell aksess Indeks og relative filer Katalogstruktur Typisk filsystem-organisering Katalogstruktur med ett nivå Katalogstruktur med to nivåer Tre-strukturerte kataloger Kataloger som asyklisk graf Kataloger som generell graf a)eksisterende filsystem b)umontert partisjon Effekten av å montere b) over /users i a) Lagdelt filsystem Fil-kontroll Blokk (FCB) Åpning av en fil Lesing av en fil Skjematisk fremstilling av VFS Sammenhengende tildeling Lenket tildeling File Allocation Table Indeksert tildeling Indeksert avbildning Avbildning ved ubegrenset størrelse Tonivå indeks Kombinert løsning (UNIX) Ledig-liste Disk-hurtiglager forskjellig steder I/O uten forent buffer-hurtiglager I/O med forent buffer-hurtiglager Følgende kapittel er i hovedsak hentet fra [SGG02]. 2

3 1 Fil-konseptet - hva er en fil? En fil er et sammenhengende (contiguous) logisk adresserom - både på den måten at logisk sett følger en byte etter en annen, og at hver byte logisk hører sammen med de andre. En fil er altså en samling med byte. Grovt sett regner vi med to hovedtyper av filer: Programfiler og datafiler. Programfiler (eller kjørbare filer ) inneholder instruksjoner som kan utføres av en datamaskin. Datafiler inneholder forskjellig informasjon, og deles igjen inn i underkategoriene numeriske (tall), tegn (bokstaver) og binære. 1.1 Filstruktur I det enkleste tilfellet har en fil ingen struktur - den er bare en sekvens av ord (words) eller byte. En litt mer avansert fil kan ha en enkel post-struktur (record structure), dvs. delt inn i linjer av fast eller variabel lengde. Mange filer har imidlertid meget kompleks struktur, f.eks. formatterte dokumenter (XML, HTML, proprietære formater som MSWord.doc, etc.) og de allerede nevnte kjørbare programfiler. I praksis vil ofte de strukturerte filene nevnt over i realiteten være en ustrukturert fil, hvor strukturen oppnås ved å legge til passende kontrolltegn. Dette er bl.a. tilfellet med HTML-filer, som jo er vanlige tekst-filer ispedd koder som <head>, <body> etc. 1.2 Fil-attributter En fil vil ha en rekke attributter, og en del av disse har etter hvert blitt så naturlige for oss at vi knapt tenker over dem lenger. Fil-attributter kan være: Navn - navnet på filen er i utgangspunktet det eneste som er i menneske-lesbar form Type - for systemer som støtter forskjellige filtyper Plassering - hvor på den fysiske enheten ligger filen? Størrelse - nåværende størrelse på filen Tid, dato, bruker-id - data som brukes i forbindelse med beskyttelse, sikkerhet og bruksmonitorering All denne informasjonen om filer lagres i katalogstrukturen, og denne er igjen lagret og vedlikeholdt på disken. 3

4 1.3 Filoperasjoner Figur 1: Fil med sekvensiell aksess Det er mange ting man kan gjøre med filer. De kan opprettes (create), skrives til, leses fra og slettes. I de aller fleste tilfeller kreves det at man åpner en fil før man gjør noe med den, og når man åpner en fil får man etablert en gjeldende posisjon i filen. Denne posisjonen kan man endre vha. såkalt file seek, og man har også mulighet til å forkorte (truncate) en fil fra en gitt posisjon, dvs. slette alt innhold i en fil etter en gitt posisjon. Det som egentlig skjer når man åpner en fil (f.eks. Open(F i )), er at katalogstrukturen på disken gjennomsøkes etter innslagf i, og innholdet av dette (dvs. kataloginformasjonen om filen) legges i minnet. Tilsvarende vil en lukking av filen (Close(F i )) medføre at innslagf i flyttes fra minnet til katalogstrukturen (dvs. at eventuelle endringer skrives ut til disk). 1.4 Aksessmetoder Filer kan aksesseres enten ved å starte på begynnelsen av filen og lese seg fram til ønsket informasjon (sekvensiell aksess) eller ved å hoppe til ønsket posisjon i filen og kun lese informasjonen man har behov for (direkte aksess). I det første tilfellet har man typisk kommandoer som : read next Les neste blokk fra nåværende posisjon write next Skriv neste blokk fra nåværende posisjon reset Spol filen tilbake til begynnelsen Sekvensiell aksess (se Figur 1) var eneste mulighet i tidligere tider da alle filer var lagret på tape. Det har også vært konvensjon at det kun skal være mulig å skrive til slutten av en fil på tape - når man utfører en skriveoperasjon på en tape, vil det automatisk skrives et slutt-symbol (end-of-file marker) etter siste blokk. Hvis man skriver nye data midt inne i en fil, vil dermed alle de gamle dataene etter dette punktet ikke være logisk tilgjengelige. Dette betyr at det ikke vil være mulig å lese etter en skriveoperasjon (man må først spole filen tilbake). 4

5 Figur 2: Indeks og relative filer Ved direkte aksess vil man kunne ha følgende kommandoer: read n Les data fra relativt blokknummer n write n Skriv data til relativt blokknummer n position to n Sett nåværende posisjon til relativt blokknummer n read next Les en blokk fra nåværende posisjon, og øk denne med 1 write next Skriv en blokk til nåværende posisjon, og øk denne med 1 Hvis man skulle ønske det, ville det være trivielt å simulere sekvensiell fil-aksess med direkte aksess, som som illustreres i følgende tabell. Sekvensiell aksess Implementasjon for direkte aksess reset fp = 0; read next read fp; fp= fp+1; write next write fp; fp = fp+1 Andre aksessmetoder kan også implementeres vha. primitiver som tilbys av direkte aksess. Et eksempel er indeksert aksess, illustrert i fig. 2. Her har man en indeksfil som brukes til å lete frem til ønsket informasjon, f.eks. navnet Smith. Ved siden av navnet Smith i indeks-filen er det et tall som fungerer som en peker inn i filsystemet (dvs. en annen fil) hvor informasjon om alle som heter Smith ligger lagret. 5

6 2 Katalogstruktur Figur 3: Katalogstruktur Dagens harddisker er så store at de er nødt å organiseres på en eller annen måte for at man skal unngå å drukne i informasjon. Den vanligste måten å gjøre dette på er å bruke filsystemkataloger. Bruk av kataloger er hensiktsmessig for brukerne, ettersom forskjellige brukere kan bruke samme navn på forskjellig filer, bare de er plassert i forskjellige kataloger. Videre muliggjør kataloger logisk gruppering av filer, f.eks. alle Java kildefiler i en katalog, alle tekstfiler i en annen, etc. En fysisk harddisk deles gjerne inn i partisjoner (i Unix-verden ofte kjent som f.eks. /dev/hda1, /dev/hda2, etc.; i DOS-verden som c: d:... ), som vist til venstre i fig. 4. I enkelte RAID-konfigurasjoner kan det være slik at en logisk partisjon faktisk spenner over flere fysiske disker; dette kalles gjerne for striping (Mer om RAID i en senere forelesning). En partisjon vil karakteriseres ved en rekke attributter, slik som navn, type, adresse, nåværende lengde (hvor mange byte er lagret på partisjonen) og maksimum lengde. Generelt for kataloger vil det også finnes informasjon om tidspunkt for siste aksess (for å avgjøre om dataene kan skrives ut til tertiært medium for arkivering), tidspunkt for siste oppdatering (for dump/restore), eier ID (for faktureringsformål) og beskyttelsesinformasjon. Vanlige operasjoner på en katalog kan være Søk etter en fil Opprett en fil Slett en fil Rams opp (list) innholdet i en katalog Omdøp en fil 6

7 Figur 4: Typisk filsystem-organisering Figur 5: Katalogstruktur med ett nivå Forflytning/bevegelse (traverse) i filsystemet Bevegelse i filsystemet kan skje enten ved at man går ned i eller opp fra en underkatalog, eller at man foretar vilkårlige hopp. Det enkleste tilfellet er når man bare har ett katalognivå, som illustrert i fig. 5. Dette er imidlertid så enkelt at man knapt kan kalle det noen katalogstruktur i det hele tatt, ettersom alle filene må ligge i samme katalog. Dette blir fort problematisk i flerbruker-systemer, ettersom to brukere ikke kan bruke samme navn på to forskjellige filer (f.eks. oppgave1.txt ). Jeg kjenner ikke til systemer som bruker bare ett katalognivå. Litt mer realistisk blir det med tonivå katalogstrukturer, som illustrert i fig. 6. Her kan f.eks. hver bruker ha sin egen katalog til sine egne filer, i tillegg til at det går an å ha egne kataloger for systemprogrammer, delte filer, etc. Imidlertid er det ikke mulig å lage underkataloger i en tonivå katalogstruktur, og den enkelte bruker har ikke muligheten til å gruppere filer etter tilhørighet. Operativsystemet Sintran (til NORD datamaskiner fra Norsk Data) brukte tonivå kataloger. Alle moderne operativsystemer bruker en eller annen form for tre-strukturert katalogstruktur. Dette gir effektiv søking etter filer (selvfølgelig forutsatt at strukturen 7

8 Figur 6: Katalogstruktur med to nivåer Figur 7: Tre-strukturerte kataloger 8

9 Figur 8: Kataloger som asyklisk graf er noenlunde fornuftig) og uante grupperingsmuligheter. Tre-strukturterte kataloger aktualiserer konseptet gjeldende katalog (working directory) (eller stående drev som det het i norsk PC-litteratur på 80-tallet), hvor man først utfører en kommando (cd) for å bytte til ønsket katalog, og deretter utfører operasjoner i denne katalogen. Man har vanligvis muligheten til å angi filer enten med relativt eller absolutt sti-navn (path name); relative sti-navn tar utgangspunkt i gjeldende katalog. Ordentlige operativsystemer har filsystemer som tillater forskjellige logiske navn til både kataloger og enkeltfiler. Dette kalles gjerne for linker (se fig. 8), og er særdeles nyttig f.eks. hvis flere personer ønsker å dele samme katalog, men aksessere den direkte fra sin egen hjemmekatalog. Det gir også muligheten til å gi alias til en fil, f.eks. hvis man har en fil for hvert styrereferat (januar.doc, februar.doc... ) og et alias til siste referat som man manuelt endrer etter hvert nye møte (siste.doc). Hvis det som aliaset peker på slettes, får man noe man kaller en løs peker (dangling pointer). Dette kan man enten la være å håndtere (som er tilfellet med UNIX soft links ), eller man kan bruke en av følgende metoder: Tilbakepekere Hver fil har assosiert med seg en liste som identifiserer alle pekere som peker på filen. Når filen slettes, vil man da først slette alle pekerne. Et problem med denne metoden er at filer som mange peker på vil få en veldig stor tilbakepeker-komponent. Pekerlogg Hver fil holder rede på antallet pekere som peker på den. Her vil man formelt regne også den første referansen til filen (når den opprettes) som en peker. For å unngå løse pekere, forbyr man sletting av filen hvis antall pekere er større enn 0. Denne løsningen brukes bl.a. ved UNIX hard links. Hvis man tillater at et kataloghierarki kan være en generell graf (se fig. 9), risikerer man at man får sykler (cycles) i grafen, noe som kan skape problemer ved systematiske søk og annen traversering. Dette kan løses ved 9

10 Figur 9: Kataloger som generell graf Kun tillat linker til filer, ikke kataloger Rutinemessig utfør søppeltømming (garbage collection) for å fjerne sykler som måtte ha oppstått Hver gang en ny link opprettes, utfør en sykel-deteksjonsalgoritme for å avgjøre om den nye linken medfører at det oppstår en sykel. I så fall skal operasjonen feile, og linken ikke bli opprettet. 2.1 Montering av filsystemer Et filsystem svever ikke fritt over vannene, og må følgelig monteres (mount) før det kan aksesseres av operativsystemet. Filsystem bor på partisjoner, og når vi monterer en partisjon, monterer vi altså et filsystem. Et umontert filsystem limes inn i en eksisterende katalog (dvs. monteres på et såkalt monteringspunkt (mount point)), som illustrert i fig. 10 og 11. Vanligvis vil det ikke være fornuftig å velge en katalog som allerede inneholder filer som monteringspunkt, ettersom filene som ligger der før monteringen ikke vil være tilgjengelige før det nye filsystemet demonteres. Unntak kan være dynamiske kataloger som fylles over nettet, hvor man kan ha reservedata lokalt for situasjoner hvor nettet/tjenere er utilgjengelige. 2.2 Fildeling Det er vanligvis ønskelig å kunne dele filer i større eller mindre grad i et flerbrukersystem. Vanligvis ønsker vi å kontrollere hvordan dette gjøres, slik at forskjellige 10

11 Figur 10: a)eksisterende filsystem b)umontert partisjon Figur 11: Effekten av å montere b) over /users i a) 11

12 Figur 12: Lagdelt filsystem brukere får forskjellige rettigheter, avhengig av deres behov. For å oppnå dette, trenger vi et beskyttelses-system (protection scheme). Dette kommer vi tilbake til i kapittel 18. I distribuerte systemer vil filer gjerne være delt over nettverket. Vanlige måter å gjøre dette på er vha. Network File System (NFS) eller Common Internet File System (CIFS)/Samba. Distribuerte filsystemer kommer vi tilbake til i kapittel 15 og Implementasjon av filsystemer I avsnitt 1 har vi diskutert hva en fil er, og hvordan den er strukturert. Raskt oppsummert kan vi si at en fil er en logisk lagringsenhet som representerer en samling av relatert informasjon. Det kommer neppe som noen overraskelse at filsystemet bor på sekundær-lager, dvs. på disk. Som illustrert i fig. 12, er filsystemet typisk organisert i lag, og informasjon om hver enkelt fil lagres i en såkalt fil-kontroll-blokk (File Control Block - FCB) (se fig. 13). 12

13 Figur 13: Fil-kontroll Blokk (FCB) 3.1 Filsystem-strukturer i minnet Når man gjør filsystem-operasjoner i et operativsystem, trenger man visse datastrukturer i minnet for å holde styr på informasjon relatert til filene. Når man åpner en fil (fig. 14), vil brukerprosessen sende filnavnet til operativsystemet (dvs. kjernen). Katalogstrukturen vil da gjennomletes etter det aktuelle filnavnet, og av effektivitetshensyn vil deler av katalogstrukturen være hurtiglagret i kjerne-minnet. Vanligvis vil det være slik at hvis filen skulle ligge i en del av katalogstrukturen som ikke er hurtiglagret, så vil operativsystemet først legge den aktuelle biten i hurtiglageret, og deretter søke i dette. Når filen blir funnet, vil dens FCB skrives inn i systemets globale tabell over åpne filer. Deretter vil den aktuelle prosessens tabell over åpne filer få en peker til det globale innslaget. Her legger man også inn informasjon som nåværende posisjon i filen, etc. Når man skal lese fra en åpen fil (fig. 15), vil brukerprosessen ha en referanse (eller indeks) til innslaget i prosessens tabell over åpne filer (som det fremgår av fig. 15, er denne tabellen i kjerne-minnet). Som nevnt, finnes det her en peker til systemets globale åpen-fil-tabell, hvor vi har en kopi av filens FCB, og en referanse til filens fysiske plassering på disk. 13

14 Figur 14: Åpning av en fil Figur 15: Lesing av en fil 14

15 3.2 Virtuelle filsystemer Figur 16: Skjematisk fremstilling av VFS Et virtuelt filsystem (Virtual File System - VFS) er en objekt-orientert måte å implementere (eller representere) et filsystem på. En annen måte å si det på er at et VFS er en abstraksjon av begrepet filsystem. Et VFS tillater at samme systemkallgrensesnittet (Application Program Interface - API) kan benyttes for forskjellige typer filsystemer. Dette betyr at API-en er til VFS-grensesnittet, snarere enn til noe spesifikt filsystem. 3.3 Implementasjon av en katalog Hvordan implementerer man en katalog? Den enkleste måten er å ganske enkelt lage seg en lineær liste av filnavn, med tilhørende pekere til datablokker. Dette er veldig enkelt å programmere, men tidkrevende å bruke - spesielt for store kataloger. Et alternativ er å benytte en hash-tabell. Katalogen er fremdeles representert som en lineær liste, men når man skal søke etter en fil, vil man først kjøre filnavnet gjennom en hash-funksjon, og bruke resultatet som en peker inn i katalog-listen. Fordelen med denne løsningen er at søketid i katalogen blir redusert, men samtidig risikerer man kollisjoner (dvs. at to filnavn genererer samme hash-verdi), samt at dette medfører en fast maksimumsstørrelse på antall filer det er mulig å presse inn i katalogen 15

16 4 Tildelingsmetoder Gitt at du har en jomfruelig disk som du stapper inn i datamaskinen din - hvordan skal du tildele disk-blokker til nye filer? Vi vil presentere tre forskjellige metoder: Sammenhengende Lenket Indeksert 4.1 Sammenhengende tildeling Det enkleste er kanskje å starte på første ledige blokk, og så tildele blokker fortløpende, avhengig av hvor mange du trenger til filen. Dette kaller vi for sammenhengende tildeling (contiguous allocation), noe som fungerer bra når man allokerer diskplass første gang. Hver fil okkuperer et sett av sammenhengende diskblokker på disken, og det er sjarmerende enkelt å lese en fil - alt man trenger er start-posisjonen (blokknummer) og lengde på filen (antall blokker). Dette gir gode muligheter for vilkårlig aksess innen en fil. Imidlertid vil sammenhengende tildeling sløse med plassen, noe som følgende eksempel skulle illustrere: Vi tildeler fil A 20 blokker, fil B 16 blokker, og fil C 50 blokker. Deretter sletter vi fil B, og prøver å tildele fil D 18 blokker. Da ser vi at de 16 blokkene mellom A og C er for lite for D, og må la disse stå tomme mens vi tildeler 18 nye blokker etter fil C. Dette fenomenet kalles ekstern fragmentering, og illustreres i fig. 17. Et annet problem er at filer ikke uten videre kan vokse i størrelse når vi bruker sammenhengende tildeling. I eksempelet over kan f.eks. ikke fil A øke til 21 blokker før fil B eventuelt slettes. Mange nyere filsystemer (f.eks. Veritas File System, også kjent som vxfs) bruker en modifisert metode for sammenhengende tildeling. Man tildeler her diskblokker i såkalte extents, som er en sammenhengende klump med diskblokker. Alle filer blir alltid tildelt en extent ved opprettelse, og hvis filen er større enn dette (eller hvis den senere vokser seg større), kan flere extenter tildeles. Filen vil da bestå av en lenket liste av extenter. 4.2 Lenket tildeling Ved lenket tildeling er hver fil en lenket liste av diskblokker, som illustrert i fig. 18. Blokker kan være spredt rundt omkring på disken, og hver blokk inneholder en peker til neste kronologiske blokk i filen. Også dette er meget enkelt - alt vi trenger er adressen til den første blokken. Denne metoden gir heller ingen ekstern fragmentering, og er derfor god til å utnytte disk-kapasiteten. Imidlertid er det 16

17 Figur 17: Sammenhengende tildeling ikke mulig med vilkårlig tilgang innen en fil - for å finne blokk 42 må man starte på begynnelsen, finne adressen til neste blokk i den første blokken, og adressen til blokk 3 i blokk 2, osv. helt til man har lett seg fram til målet. Når vi leser fra en fil, er det imidlertid ikke vanlig å lese hele disk-blokker om gangen; vanligvis ønsker vi en enkelt byte (eller strøm av byte). Logisk ser vi gjerne filen på disken som en sammenhengende rekke byte, uavhengig av hvordan den fysisk er organisert. På denne måten kan vi operere med logiske, lineære adresser (LA). For å få til en avbildning fra den lineære adressen til den fysiske plasseringen på disken når vi bruker lenket tildeling, må vi foreta heltallstivisjon med blokkstørrelsen minus 1 (forutsetter at pekeren okkuperer bare en byte). Hvis vi antar en blokkstørrelse på 512, deler vi altså LA på 511. Denne operasjonen gir oss ut et heltallsresultat (Q) og en rest (R). Q forteller oss hvilken blokk den aktuelle byten vi leter etter ligger i, og resten R forteller oss hvor langt inne i blokken byten ligger (ettersom den første byten i blokken er pekeren, må vi regne R+1 for å finne rett byte). En velkjent variant av lenket tildeling er MS-DOS File Allocation Table (FAT), illustrert i fig. 19. Her ligger ikke pekerne i selve diskblokkene, men i en egen tabell (derav navnet). Kataloginnslaget for filen har et felt som identifiserer den første diskblokken; denne brukes som en indeks i FAT-en. Innholdet her er enten adressen (og dermed også indeksen) til neste blokk i kjeden, eller en spesiell verdi som kalles end-of-file. Her kan man kanskje spørre seg hvorfor det skulle være behov for de-fragmentering av filer i et FAT filsystem, når man ikke risikerer ekstern fragmentering? Svaret er at hvis diskblokkene til en fil er spredt vilkårlig rundt på disken, vil man tape mye tid på ekstra søking (seek), og derfor kunne Peter Norton og andre tjene store penger 17

18 Figur 18: Lenket tildeling Figur 19: File Allocation Table 18

19 Figur 20: Indeksert tildeling på defragmenteringsverktøy på 80- og 90-tallet. Til tross for at FAT er eldre enn alle hauger, er det fortsatt det vanligste filsystemet på disketter, både for Linux og Windows. 4.3 Indeksert tildeling Indeksert tildeling kan ses på som en slags viderutvikling av FAT, bare at man samler alle pekerne for hver fil i en egen blokk, og her samles pekere til hver diskblokk i filen kronologisk. Dette er illustrert i fig. 20. Indekstabellen medfører at vi får minst en blokk overhead per fil, men vi har nå mulighet for vilkårlig aksess, uten at vi får ekstern fragmentering. Med blokkstørrelse 512 kan vi med en indeksblokk ha en maksimum filstørrelse på 256K ( = ) - byte eller ord eller hva det nå måtte være. Avbildningen er nesten som for sammenhengende tildeling, bare at vi nå deler den lineære adressen LA på blokkstørrelsen (her er det ingen neste-peker som stjeler plass i blokken). Heltallsresultatet Q brukes som indeks i indeks-blokken, og resten R brukes som forskyving (offset) innen blokken som indeks[q] peker på - dette fremgår med all tydelighet av fig. 21. Hvis vi ikke finner oss begrensingen på 256K filstørrelse, kan vi lage et (i prinsippet) ubegrenset system som illustrert i fig. 22. I stedet for en enkelt indeks-blokk, har vi her en lenket liste av indeksblokker. For å kunne lage en avbildning, må vi sette en grense på hvor lang kjeden skal være; 512 blokker burde være nok for de fleste 19

20 Figur 21: Indeksert avbildning formål i overskuelig fremtid. Beregningene må denne gangen gå i to steg: Først deler man LA på ( ). Heltallsresultatet kaller viq 1 ; restenr 1.Q 1 angir hvilken indeks-blokk i kjeden vi skal bruke (må traversere kjeden). Vi tar når 1 og deler på 512; heltallsresultatet kaller viq 2 og restenr 2.Q 2 bruker vi så som indeks den valgte indeks-blokken, ogr 2 som forskyving innen blokken. Et alternativ er en tonivå indeks (se fig. 23), som tillater maksimum filstørrelse på Avbildningen blir ganske lik den ubegrensede : Først deler man LA på ( ). Heltallsresultatet kaller viq 1 ; restenr 1.Q 1 brukes som indeks i den ytterste indeksblokken. Vi tar når 1 og deler på 512; heltallsresultatet kaller viq 2 og restenr 2.Q 2 bruker vi så som indeks i indeks-blokken som ytre[q 1 ] peker på, ogr 2 som forskyving innen blokken som denne peker på. Unix bruker en kombinert løsning, som vist i fig. 24. De første (la oss si) 15 pekerne i indeks-blokken lagres i filens inode. Av disse er de 12 første pekere til direkte blokker, dvs. adresser til blokker som inneholder filens data. Hvis filen er større enn det som får plass i 12 blokker, kan man bruke den 13. pekeren. Denne peker på en indeks-blokk, og hvert innsalg i denne er en direkte peker. For enda større filer kan man bruke neste peker igjen, som peker på en indeksblokk som peker på nye indeksblokker (dobbel indireksjon). Den siste pekeren er for trippel indireksjon, og da skjønner vi at filene kan bli ganske svære dersom vi ønsker det. 5 Håndtering av ledig plass Når vi skal tildele plass til filer, må vi vite hvor vi finner ledig plass. Med en helt jomfruelig disk er det ikke så vanskelig; vi begynner bare på begynnelsen, og noterer 20

21 Figur 22: Avbildning ved ubegrenset størrelse Figur 23: Tonivå indeks 21

22 Figur 24: Kombinert løsning (UNIX) oss hvor siste blokk befinner seg - alt etter denne er ledig. I det øyeblikket vi begynner å slette filer, og filer endrer størrelse, er det ikke så enkelt lenger. En måte å holde styr på hvilke diskblokker som er ledige, er å bruke en bit-vektor (eller bit-map) som består av like mange bit som vi har blokker på disken. Hvis et gitt bit har verdien 1 1, er den korresponderende blokken ledig; i motsatt fall er den opptatt. Moderne mikroprosessorer har egne instruksjoner som raskt kan finne det første bit-et i et ord (word) som har verdi 1, f.eks. i ville den returnert 10 (teller fra venstre). Det er også veldig lett å slå fast at et helt ord har verdien 0 (dvs. de korresponderende blokkene er fulle). Dermed er det lett å beregne adressen til den første ledige blokken: (antall bit per ord) (antall ord med verdien 0)+ (forskyvning av første 1-bit innen forste ord forskjellig fra 0). Bit-vektoren fører rimeligvis til at vi bruker ekstra plass. Hvis vi antar en blokkstørrelse på 2 12 byte og en diskstørrelse på 2 30 (1GB), vil vi måtte kaste bort 2 30 /2 12 = 2 18 bit = 32 KB på bitvektoren. Fordelen med bit-vektoren er at det er lett å få sammenhengende filer, dersom man ønsker det. 5.1 Ledig-liste Et alternativ er å ha en lenket liste av ledige blokker (free list), som vist i fig. 25. Man har en peker til den første ledige blokken, og denne har en peker til neste, osv. 1 Dette virker kanskje litt ikke-intuitivt (eller counter-intuitive) for meg; jeg ville personlig latt 0 bety ledig. Hva et gitt system faktisk velger å bruke er selvfølgelig implementasjonsavhengig, men i det følgende fortsetter vi å bruke konvenjonen introdusert i [SGG02] 22

23 Figur 25: Ledig-liste Dette er ikke effektivt hvis man ønsker en sammenhengende klump med blokker, ettersom man må lese hver eneste ledige blokk helt til man finner en sekvens som er lang nok. Imidlertid kan dette fungere bra i tilfeller hvor man bare tildeler en enkelt blokk, og det blir heller ingen sløsing med plassen. Lenkede tildelings-metoder som FAT kan med fordel benytte seg av en slik ledig-liste. 5.2 Gruppering En modifikasjon av ledig-listen er å lagre listen av de første n ledige blokken ei det første ledige elementet. De første n-1 adressene er adresser til ledige blokker, mens adresse n er en peker til en ny blokk som peker på de neste n ledige blokkene, osv. På denne måten kan man raskt finne adressene til et stort antall ledige blokker, i motsetning til den vanlige ledig-listen. 5.3 Telling Nok en variant er å lagre adressen til den første ledige blokken, og så antall sammenhengende ledige blokker som følger etter den. Dette vil være en effektiv måte å gjøre ting på så lenge antallet sammenhengende blokker gjennomsnittlig er større en 1 (dvs. at det lite ensomme ulver på disken). 23

24 5.4 Beskyttelse Figur 26: Disk-hurtiglager forskjellig steder Uavhengig av om man bruker en ledig-liste eller et bit-map, må denne informasjonen beskyttes. Bit-map-et må lagres på disk, og da risikerer man at kopien i minnet og på disken avviker hvis endringer skjer rett før et system-kræsj. Man kan på ingen måte tillate en situasjon der bit[i]=0 (ikke ledig) i minnet mens bit[i]=1 (ledig) på disk, dvs. at blokken er allokert i minnet, men ikke på disken. Hvis systemet skulle tryne akkurat da, ville det komme opp og tro at blokk i er ledig, mens den i virkeligheten er allokert, og i bruk av en fil. Neste gang en prosess ber om diskplass vil blokk i kunne tildeles til denne, og den opprinnelige filen blir inkonsistent/korrupt. Løsningen er at når man skal allokere blokk i må man først sette bit[i]=0 på disk, deretter allokere blokk i, og så til slutt sette bit[i]=0 i minnet. 6 Effektivitet og ytelse Effektivitet i et filsystem er avhengig av disk-allokering og katalog-algoritmer, og også av hvilke typer data som lagres i filens kataloginnslag. Mekanismer som kan påvirke ytelse inkluderer bruk av disk-hurtiglager (Disk cache), frigjøring av plass bakover og lesing framover (read-ahead), og bruk av RAM-disk. Sistnevnte er mest aktuelt i forbindelse med midlertidig mellomlagring, f.eks. i forbindelse med kompilering. Som det fremgår av fig. 26, kan data fra disk både hurtiglagret i hovedminnet (RAM) og på dedikerte buffere på disk-kontrolleren. Moderne teknikker for virtuelt minne (Virtual memory techniques) medfører at man gjerne hurtiglagrer hele sider fra minnet, snarere enn disk-blokker. Også minneavbildet I/O (memory-mapped I/O) bruker side-hurtiglager (page cache). Rutinemessig I/O via filsystemet bruker imidlertid det gode, gammeldagse buffer-( dvs. disk-) hurtiglageret, noe som fører til problemet illustrert i fig de hurtiglagrede 24

25 Figur 27: I/O uten forent buffer-hurtiglager sidene bufres to ganger. Et forent buffer-hurtiglager (unified buffer cache) bruker samme side-hurtiglager til å hurtiglagre både minne-avbildede sider og ordinær filsystem I/O. 6.1 Komme sterkere tilbake Datasystemer har det som kjent med å tryne, og i henhold til Murphy s lov skjer dette vanligvis på det verst tenkelige tidspunkt. Dette betyr at det går hardt ut over filsystemet, og etter system-kræsj er det vanligvis behov for konsistens-sjekking som består i å sammenligne data i katalogstrukturer med korresponderende data-blokker på disken. Hvis man finner inkonsistenser, vil disse bli forsøkt fikset. Det regnes for fornuftig å rutinemessig foreta backup til tertiært lagringsmedium, slik at man i de tilfeller hvor man får feil i filsystemet som ikke automatisk kan repareres, kan gjenvinne de tapte filene fra backup. 6.2 Logg-strukturerte filsystemer Logg-strukturterte (log-structured eller journaling) filsystemer registrerer hver oppdatering til filsystemet som en transaksjon. Alle transaksjoner skrives til en logg. En transaksjon regnes for gjort endelig (committed) i det øyeblikket det er skrevet til loggen. Imidlertid er det mulig at selve filsystemet ikke er oppdatert enda. Transaksjonene i loggen skrives asynkront til filsystemet. Når filsystemet modifise- 25

26 Figur 28: I/O med forent buffer-hurtiglager res, fjernes transaksjonen fra loggen. Hvil filsystemet kræsjer, må alle gjenværende transaksjoner i loggen likevel utføres. 26

27 A Ordliste Her følger en alfabetisk liste over mer eller mindre egendefinerte norske ord på velkjente engelske begreper. agent-annonsering Agent Advertisement agentoppdagelse Agent Discovery applikasjonsnivå portner Application Level Gateway besøksagent Foreign Agent dataflyt flow dobbelstakk dual stack endesystem host eller end system flytmerke flow label fordeling scheduling forskyvning offset grensesnitt interface (som i network interface card) hjemme-agent home agent nabo-oppdagelse Neighbor Discovery nettverksadresseoversetting Network Address Translation planlegger scheduler planlegging scheduling rekkevidde scope ressursfordeling scheduling ruter router ruter-annonsering router advertisement ruter-forespørsel router solicitation ruting routing sammenhengende contiguous (burde kanskje vært tilstøtende ) skank trailer skolt header stamnett backbone sykel cycle systemkall-grensesnitt Application Program Interface 27

28 sømløs seamless tjener server tjenestekvalitet Quality of Service vandring roaming Referanser [SGG01] Abraham Silberschatz, Peter Baer Galvin, and Greg Gagne. OSC slides [SGG02] Abraham Silberschatz, Peter Baer Galvin, and Greg Gagne. Operating Systems Concepts. John Wiley and Sons, 6th edition,

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

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

Hva er en fil logisk sett?

Hva er en fil logisk sett? Filhåndtering Kjell Åge Bringsrud (Foiler fra Olav Lysne) INF 103 Filhåndtering 1 Hva er en fil logisk sett? En samling data til ett eller annet formål En kjørbar programfil En fil med kildekode til et

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

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

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

Håndtering av filer og kataloger

Håndtering av filer og kataloger Håndtering av filer og kataloger Fil- og katalognavn i Linux Filsystem-kommandoene bruker navn til å identifisere filer og kataloger Filnavn kan inneholde alle tegn untatt / og NULL-tegnet Lengde på filnavn

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

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

Forskjeller mellom masselager og hovedminne. Permanent? Allokasjonstabell. Filer. Sekvensielle filer. Operativsystemets rolle

Forskjeller mellom masselager og hovedminne. Permanent? Allokasjonstabell. Filer. Sekvensielle filer. Operativsystemets rolle IT1101 Informatikk basisfag, dobbeltime 17/11 Sist uke: datastrukturer Tabell Lenket liste Stakk Kø inært tre Sammenhengende blokk vs pekermetoden I dag: Filstrukturer Forskjell hovedminne og masselager

Detaljer

En harddisk består av et lite antall plater av et magnetisk materiale.

En harddisk består av et lite antall plater av et magnetisk materiale. , Master En består av et lite antall plater av et magnetisk materiale. Overflaten av en plate på innsiden av en. Lesehodet flyttet posisjon mens bildet ble tatt og kan derfor sees i to posisjoner. , Master

Detaljer

UNIVERSITETET. Indeksering. Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Hashliknende strukturer.

UNIVERSITETET. Indeksering. Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Hashliknende strukturer. UNIVERSITETET IOSLO Indeksering Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Treliknende strukturer Hashliknende strukturer Bitmapindekser Institutt for Informatikk INF30 22.2.2011

Detaljer

Grunnkurs i. Windows Utforsker. Nordre Land kommune IKT-avdelingen

Grunnkurs i. Windows Utforsker. Nordre Land kommune IKT-avdelingen Grunnkurs i Windows Utforsker Nordre Land kommune IKT-avdelingen - 2 - Fil- og mappehåndtering med Windows Utforsker Innholdsfortegnelse Introduksjon...- 3 - Generelt om filbehandling...- 3 - Filbehandling...-

Detaljer

Hashing. INF Algoritmer og datastrukturer HASHING. Hashtabeller

Hashing. INF Algoritmer og datastrukturer HASHING. Hashtabeller Hashing INF2220 - Algoritmer og datastrukturer HØSTEN 200 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning : Hashing Hashtabeller (kapittel.) Hash-funksjoner (kapittel.2) Kollisjonshåndtering

Detaljer

... Når internminnet blir for lite. Dagens plan: Løsning: Utvidbar hashing. hash(x) katalog. O modellen er ikke lenger gyldig ved

... Når internminnet blir for lite. Dagens plan: Løsning: Utvidbar hashing. hash(x) katalog. O modellen er ikke lenger gyldig ved Dagens plan: Utvidbar hashing (kapittel 5.6) B-trær (kap. 4.7) Abstrakte datatyper (kap. 3.1) Stakker (kap. 3.3) Når internminnet blir for lite En lese-/skriveoperasjon på en harddisk (aksesstid 7-12 millisekunder)

Detaljer

DAT 103 - kandidatnummer: 142

DAT 103 - kandidatnummer: 142 DAT 103 - kandidatnummer: 142 Oppgave 1: 1) B 2) B 3) A 4) A 5) D 6) C 7) B 8) C 9) A 10) D Oppgave 2: a) Et operativsystem er en samling av systemprogrammer og brukes som et bindeledd mellom brukerprogrammer

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

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Eksamensdato: 26. mai 25 Varighet: 3 timer ( 9: 12: ) Avdeling for informatikk og e-læring Fagnummer: Fagnavn: LO249D Operativsystemer med Linux Klasser: BADR 1. ING FU Studiepoeng:

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

Lars Vidar Magnusson. October 11, Lars Vidar Magnusson () Forelesning i Operativsystemer October 11, / 28

Lars Vidar Magnusson. October 11, Lars Vidar Magnusson () Forelesning i Operativsystemer October 11, / 28 Tråder Lars Vidar Magnusson October 11, 2011 Lars Vidar Magnusson () Forelesning i Operativsystemer 09.09.2011 October 11, 2011 1 / 28 Oversikt Tråder 1 Tråder Introduksjon Multithreading Prosesser og

Detaljer

Læringsmål og pensum. Oversikt. Systemprogramvare Operativsystemer Drivere og hjelpeprogrammer. To hovedtyper programvare

Læringsmål og pensum. Oversikt. Systemprogramvare Operativsystemer Drivere og hjelpeprogrammer. To hovedtyper programvare 1 2 Læringsmål og pensum TDT4105 Informasjonsteknologi grunnkurs: Uke 36 programvare Førsteamanuensis Alf Inge Wang Læringsmål Forstå hva systemprogramvare og applikasjonsprogramvare er Forstå hvordan

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

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

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 i TDT4190 Distribuerte systemer

Løsningsforslag Eksamen i TDT4190 Distribuerte systemer Institutt for datateknikk og informasjonsvitenskap Løsningsforslag Eksamen i TDT4190 Distribuerte systemer Faglig kontakt under eksamen: Norvald Ryeng Tlf.: 97 17 49 80 Eksamensdato: Fredag 6. juni 2014

Detaljer

ZFS. Siste ord innen filsystemer. Trond Endrestøl. 23. februar 2014. Fagskolen Innlandet, IT-avdelingen

ZFS. Siste ord innen filsystemer. Trond Endrestøl. 23. februar 2014. Fagskolen Innlandet, IT-avdelingen ZFS Siste ord innen filsystemer Trond Endrestøl Fagskolen Innlandet, IT-avdelingen 23. februar 2014 T. Endrestøl (FSI/IT) ZFS 23. februar 2014 1 / 58 Foredragets filer I Filene til foredraget er tilgjengelig

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

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

Sist gang (1) IT1101 Informatikk basisfag. Sist gang (2) Oppgave: Lenket liste (fysisk) Hva menes med konseptuelt og fysisk i forb med datastrukturer?

Sist gang (1) IT1101 Informatikk basisfag. Sist gang (2) Oppgave: Lenket liste (fysisk) Hva menes med konseptuelt og fysisk i forb med datastrukturer? IT1101 Informatikk basisfag Plan de siste ukene: I dag: siste om datastruktuter (kap. 7) Mandag 17/11: dobbel forelesning om filstrukturer (kap. 8) Torsdag 20/11: øvingsforelesning med Inge Mandag 24/11:

Detaljer

Plan for dagen. Vprg 4. Dagens tema - filbehandling! Strømmer. Klassen FilLeser.java. Tekstfiler

Plan for dagen. Vprg 4. Dagens tema - filbehandling! Strømmer. Klassen FilLeser.java. Tekstfiler Plan for dagen Vprg 4 LC191D Videregående programmering Høgskolen i Sør-Trøndelag Avdeling for informatikk og e-læring Anette Wrålsen Del: Intro til tekstfiler Del II: Mer om tekstfiler, Scanner-klassen

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

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

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

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

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

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

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

Introduksjon til kurset og dets innhold

Introduksjon til kurset og dets innhold til kurset og dets innhold Lars Vidar Magnusson September 4, 2011 Oversikt Forelesninger Kursets fagsider Øvingstimer Kunnskap Ferdigheter 1 Forelesninger Kursets fagsider Øvingstimer Kunnskap Ferdigheter

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

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Eksamensdato: 26. mai 25 Varighet: 3 timer ( 9: 2: ) Avdeling for informatikk og e-læring Fagnummer: Fagnavn: LO249D Operativsystemer med Linux Klasser: BADR. ING FU Studiepoeng:

Detaljer

HØGSKOLEN I SØR-TRØNDELAG

HØGSKOLEN I SØR-TRØNDELAG HØGSKOLEN I SØR-TRØNDELAG Eksamensdato: 21. desember 2005 Varighet: 3 timer ( 9:00 12:00 ) Avdeling for informatikk og e-læring Fagnummer: Fagnavn: LO249D Operativsystemer med Linux Klasser: FU (1. ING)

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

Oversikt. Historie Struktur Moderne UNIX systemer Moderne UNIX kernel struktur 1 UNIX. 2 Linux. 3 Process. 4 Process models

Oversikt. Historie Struktur Moderne UNIX systemer Moderne UNIX kernel struktur 1 UNIX. 2 Linux. 3 Process. 4 Process models Oversikt UNIX 1 UNIX Historie Struktur Moderne UNIX systemer Moderne UNIX kernel struktur 2 Linux 3 Process 4 Process models 5 Hvordan kjøre operativsystemet 6 Prosesshåndtering i UNIX SVR4 Lars Vidar

Detaljer

Operativsystemer og nettverk

Operativsystemer og nettverk Løsningsforslag til eksamen i Operativsystemer og nettverk 04.06.2015 Oppgave 1: Generelt om Linux a) Det grunnleggende brukergrensesnittet i Linux er et tastaturbasert CUI (Commandline User Interface),

Detaljer

Fullstendig ytelsesbehandling

Fullstendig ytelsesbehandling Fullstendig ytelsesbehandling Fungerer også med Windows XP og Windows Vista 2013 Oppgrader og ta ansvar for datamaskinens ytelse med et kraftig og raskt program. Nedlasting og installasjon av Powersuite

Detaljer

public static navn_til_prosedyre() { // implementasjon av prosedyren

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en

Detaljer

Indeksering. Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Treliknende strukturer Hashliknende strukturer Bitmapindekser

Indeksering. Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Treliknende strukturer Hashliknende strukturer Bitmapindekser UNIVERSITETET I OSLO Indeksering Konvensjonelle indekser B-trær og hashing Flerdimensjonale indekser Treliknende strukturer Hashliknende strukturer Bitmapindekser Institutt for Informatikk INF30 3.3.2014

Detaljer

Hendelser Apprentice ComputerCraft PDF

Hendelser Apprentice ComputerCraft PDF Helser Apprentice ComputerCraft PDF Introduksjon I denne leksjonen skal vi se nærmere på hvordan datamaskinene bruker såkalte helser for å reagere på ting som tastetrykk, museklikk og så videre. Etterhvert

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

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

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Eksamensdato: 26. mai 2004 Varighet: 0900-200 Fagnummer: LO249D Fagnavn: Operativsystemer med Linux Klasse(r): ing, hk, fu Studiepoeng: 6

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

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

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 5 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforslag til EKSAMENSOPPGAVE I FAG TDT4186 OPERATIVSYSTEMER Versjon: 17.jan 2013 Faglig

Detaljer

Opprydding og Vedlikehold av Windows

Opprydding og Vedlikehold av Windows Opprydding og Vedlikehold av Windows Innledning Hvis du synes at PC en går tregt kan det være på sin plass med en diskopprydding. Windows selv og de fleste programmer som arbeider under Windows benytter

Detaljer

TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak ( exceptions ) - 3rd edition: Kapittel 6. Professor Alf Inge Wang

TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak ( exceptions ) - 3rd edition: Kapittel 6. Professor Alf Inge Wang 1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Filer og unntak ( exceptions ) - 3rd edition: Kapittel 6 Professor Alf Inge Wang 2 Læringsmål og pensum Mål Lære bruk av inn- og utoperasjoner i Python

Detaljer

Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7)

Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7) Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7) Repetisjon Språk med rekursjon (C3) og blokker (C4) Statisk link Dynamisk allokering (C5) Parameteroverføring 1/25 Forelesning 11 5.11.2003 Repetisjon:

Detaljer

Internminnet. Håkon Tolsby. 22.09.2014 Håkon Tolsby

Internminnet. Håkon Tolsby. 22.09.2014 Håkon Tolsby Internminnet Håkon Tolsby 22.09.2014 Håkon Tolsby 1 Innhold: Internminnet RAM DRAM - SDRAM - DDR (2og3) ROM Cache-minne 22.09.2014 Håkon Tolsby 2 Internminnet Minnebrikkene som finnes på hovedkortet. Vi

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

AlgDat 12. Forelesning 2. Gunnar Misund

AlgDat 12. Forelesning 2. Gunnar Misund AlgDat 12 Forelesning 2 Forrige forelesning Følg med på hiof.no/algdat, ikke minst beskjedsida! Algdat: Fundamentalt, klassisk, morsomt,...krevende :) Pensum: Forelesningene, oppgavene (pluss deler av

Detaljer

Hashtabeller. Lars Vidar Magnusson Kapittel 11 Direkte adressering Hashtabeller Chaining Åpen-adressering

Hashtabeller. Lars Vidar Magnusson Kapittel 11 Direkte adressering Hashtabeller Chaining Åpen-adressering Hashtabeller Lars Vidar Magnusson 12.2.2014 Kapittel 11 Direkte adressering Hashtabeller Chaining Åpen-adressering Dictionaries Mange applikasjoner trenger dynamiske sett som bare har dictionary oparsjonene

Detaljer

Liste som abstrakt konsept/datatype

Liste som abstrakt konsept/datatype Lister Liste som abstrakt konsept/datatype Listen er en lineær struktur (men kan allikevel implementeres ikke-lineært bak kulissene ) Hvert element har en forgjenger, unntatt første element i listen Hvert

Detaljer

Algoritmer og datastrukturer A.1 Filbehandling på bit-nivå

Algoritmer og datastrukturer A.1 Filbehandling på bit-nivå Vedlegg A.1 Filbehandling på bit-nivå Side 1 av 9 Algoritmer og datastrukturer A.1 Filbehandling på bit-nivå A.1 Filbehandling på bit-nivå A.1.1 Sammendrag Klassen BitInputStream gjør det mulig å lese

Detaljer

Installere JBuilder Foundation i Windows XP

Installere JBuilder Foundation i Windows XP Installere JBuilder Foundation i Windows XP Installasjon av JBuilder Foundation på Windows (dekker her spesifikt fremgangen ved bruk av Microsoft Windows XP Professional, men det vil mest trolig ikke være

Detaljer

Oppgave 8.1 fra COD2e

Oppgave 8.1 fra COD2e Oppgave 8.1 fra COD2e To systemer brukes for transaksjonsprosessering: A kan utføre 1000 I/O operasjoner pr. sekund B kan utføre 750 I/O operasjoner pr. sekund Begge har samme prosessor som kan utføre

Detaljer

Hva er en liste? Hvert element har en forgjenger, unntatt første element i listen. Hvert element har en etterfølger, unntatt siste element i listen

Hva er en liste? Hvert element har en forgjenger, unntatt første element i listen. Hvert element har en etterfølger, unntatt siste element i listen Lister Hva er en liste? Listen er en lineær datastruktur Hvert element har en forgjenger, unntatt første element i listen Hvert element har en etterfølger, unntatt siste element i listen I motsetning til

Detaljer

IT1101 Informatikk basisfag, dobbeltime 18/9. Kommunikasjon med perifere enheter. Kontrollere. Kontrollere (2) I/O-instruksjoner

IT1101 Informatikk basisfag, dobbeltime 18/9. Kommunikasjon med perifere enheter. Kontrollere. Kontrollere (2) I/O-instruksjoner IT1101 Informatikk basisfag, dobbeltime 18/9 I dag: Kommunikasjon med perifere enheter (på maskinspråknivå) Kommunikasjonsrater Kommunikasjonsfeil Feildetektering Feilkorrigering (Hammingdistanse) Operativsystemer

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

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring

HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring Eksamensdato: 16. desember 2004 Varighet: 3 timer Fagnummer: LO247D Fagnavn: Praktisk Linux Klasse(r): Studiepoeng: 6 Faglærer(e): Geir Maribu,

Detaljer

Fakultet for informasjonsteknologi, Løsning på eksamen i TDT4190 Distribuerte systemer Torsdag 9. juni 2005, 0900 1300

Fakultet for informasjonsteknologi, Løsning på eksamen i TDT4190 Distribuerte systemer Torsdag 9. juni 2005, 0900 1300 Side 1 av 10 NTNU Norges teknisk naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsning på eksamen i

Detaljer

Filbehandling. Begreper

Filbehandling. Begreper Filbehandling Her kan du lese om filbehandling, mappestruktur og betydningen av hvor vi lagrer filer (dokumenter). Tilslutt en gjennomgang av filbehandlingsprogrammet Windows Utforsker. Begreper Filer:

Detaljer

Filer og filsystemer i Linux

Filer og filsystemer i Linux Filer og filsystemer i Linux Det globale filsystemet Alle Unix-lignende OS har et virtuelt filsystem som er globalt: Alle filer på hele systemet ser ut til å ligge i ett enkelt hierarkisk katalogtre Det

Detaljer

Forelesning 3.11. Hurtigbuffer Kap 4.5

Forelesning 3.11. Hurtigbuffer Kap 4.5 TDT4160 Datamaskiner Grunnkurs Forelesning 3.11 Hurtigbuffer Kap 4.5 Dagens tema Hurtigbuffer (4.5) Repetisjon: Hva, hvorfor og hvordan Avbildning Skriveoperasjoner Hurtigbuffer ( cache ): Hvorfor? Hurtigbuffer:

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

Effektiv eksekvering av spørsmål

Effektiv eksekvering av spørsmål UNIVERSITETET I OSLO Effektiv eksekvering av spørsmål Basert på foiler av Hector Garcia-Molina, Ragnar Normann Oversikt Spørsmålshåndtering Modell for kostnadsberegning Kostnad for basis-operasjoner Implementasjons-algoritmer

Detaljer

Sikkerhet: Virus Sikkerhet i operativsystemet Maskinstøtte for sikkerhet Trojanske hester Ormer. IN 147 Program og maskinvare.

Sikkerhet: Virus Sikkerhet i operativsystemet Maskinstøtte for sikkerhet Trojanske hester Ormer. IN 147 Program og maskinvare. Sikkerhet: Virus Sikkerhet i operativsystemet Maskinstøtte for sikkerhet Trojanske hester Ormer Ark 1 av 14 Sikkerhet og virus Virus Virus er programmer som «infiserer» andre programmer slik at de endrer

Detaljer

Kapittel 3. The fun starts

Kapittel 3. The fun starts Kapittel 3 The fun starts Introduksjon I dette kapittelet vil jeg prøve å gjøre ting på en annen måte. Siden vi nå skal begynne å faktisk lage noe, tenkte jeg at jeg vil gjøre det slik at kapittelet blir

Detaljer

Stack. En enkel, lineær datastruktur

Stack. En enkel, lineær datastruktur Stack En enkel, lineær datastruktur Hva er en stack? En datastruktur der vi til enhver tid kun har tilgang til elementet som ble lagt inn sist Et nytt element legges alltid på toppen av stakken Skal vi

Detaljer

Lablink 2.x brukerveiledning

Lablink 2.x brukerveiledning Lablink 2.x brukerveiledning Innledning Lablink er et program for å motta bestillinger som dine kunder gjør via Netlifes bestillings tjenester. Når en bestilling er gjort av en kunde, vil ordren være tilgjengelig

Detaljer

N o r T r i m. Hurtighjelp / Hvordan gjør jeg... Heftet er revidert: 12. August 2004

N o r T r i m. Hurtighjelp / Hvordan gjør jeg... Heftet er revidert: 12. August 2004 N o r T r i m Hurtighjelp / Hvordan gjør jeg... Heftet er revidert: 12. August 2004 Innholdsfortegnelse Hva gjør jeg ved mottakelsen av programmet?... 2 Hvordan registrerer jeg kundedata?... 3 Hvordan

Detaljer

Ordliste. Obligatorisk oppgave 1 - Inf 1020

Ordliste. Obligatorisk oppgave 1 - Inf 1020 Ordliste. Obligatorisk oppgave 1 - Inf 1020 I denne oppgaven skal vi tenke oss at vi vil holde et register over alle norske ord (med alle bøyninger), og at vi skal lage operasjoner som kan brukes til f.

Detaljer

Forelesning Instruksjonstyper Kap 5.5

Forelesning Instruksjonstyper Kap 5.5 TDT4160 Datamaskiner Grunnkurs Forelesning 22.11 Instruksjonstyper Kap 5.5 Dagens tema Instruksjonstyper (5.5) Datatransport Datamanipulering Betingede hoppinstruksjoner Prosedyrekall Løkker I/O Eksempler

Detaljer

Fakultet for informasjonsteknologi, Løsning på kontinuasjonseksamen i TDT4190 / SIF8042 Distribuerte systemer August 2005, 0900 1300

Fakultet for informasjonsteknologi, Løsning på kontinuasjonseksamen i TDT4190 / SIF8042 Distribuerte systemer August 2005, 0900 1300 Side 1 av 11 NTNU Norges teknisk naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsning på kontinuasjonseksamen

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

Det matematisk-naturvitenskapelige fakultet

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

Detaljer

Installere JBuilder Foundation i Mandrake Linux 10.0

Installere JBuilder Foundation i Mandrake Linux 10.0 Installere JBuilder Foundation i Mandrake Linux 10.0 Installasjon av JBuilder Foundation på Linux (dekker her spesifikt fremgangen ved bruk av Mandrake Linux 10.0, men distribusjon vil gjøre liten eller

Detaljer

ZFS. Siste ord innen filsystemer. Trond Endrestøl. 23. desember Fagskolen Innlandet, IT-avdelingen

ZFS. Siste ord innen filsystemer. Trond Endrestøl. 23. desember Fagskolen Innlandet, IT-avdelingen ZFS Siste ord innen filsystemer Trond Endrestøl Fagskolen Innlandet, IT-avdelingen 23. desember 2013 T. Endrestøl (FSI/IT) ZFS 23. desember 2013 1 / 19 Foredragets filer I Filene til foredraget er tilgjengelig

Detaljer

Kap 9 Tre Sist oppdatert 15.03

Kap 9 Tre Sist oppdatert 15.03 Kap 9 Tre Sist oppdatert 15.03 Definere et tre som en datastruktur. Definere begreper knyttet til tre. Diskutere mulige implementasjoner av tre Analysere implementasjoner av tre som samlinger. Diskutere

Detaljer

Fakultet for informasjonsteknologi, Løsning på kontinuasjon i TDT4190 Distribuerte systemer Onsdag 4. august 2004, 0900 1300

Fakultet for informasjonsteknologi, Løsning på kontinuasjon i TDT4190 Distribuerte systemer Onsdag 4. august 2004, 0900 1300 Side 1 av 9 NTNU Norges teknisk naturvitenskapelige universitet Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap Løsning på kontinuasjon

Detaljer

en komplett kopi av harddisken sånn! Med en kopi av Windows og programmene dine kan du få i gang pc-en igjen hvis den blir ustabil eller ikke starter.

en komplett kopi av harddisken sånn! Med en kopi av Windows og programmene dine kan du få i gang pc-en igjen hvis den blir ustabil eller ikke starter. sånn! Med en kopi av Windows og programmene dine kan du få i gang pc-en igjen hvis den blir ustabil eller ikke starter. dette trenger du Ekstern harddisk, dvd-er eller tilgang til en NAS. utgifter Ingen

Detaljer

DBS16: Disklagring, filstrukturer, hashing

DBS16: Disklagring, filstrukturer, hashing Side 1 for Databaser DBS16: Disklagring, filstrukturer, hashing onsdag 11. mai 2016 21.26 Pensum: Kapittel 16.116.8, side 541580, men ikke fra dynamic hashing og forover. 16.1 Introduksjon 16.1.1 Minnehierarki

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

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

Installasjonsbeskrivelse for CAB Service Plattform med CABInstall

Installasjonsbeskrivelse for CAB Service Plattform med CABInstall Installasjonsbeskrivelse for CAB Service Plattform med CABInstall INNLEDNING... 2 INSTALLASJON... 3 AVANSERT INSTALLASJON... 10 YTTERLIGERE INFORMASJON... 11 Proxy... 11 Side 1 av 11 Innledning Denne beskrivelsen

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

EKSAMENSOPPGAVE I FAG TDT4186 OPERATIVSYSTEMER. Faglig kontakt under eksamen: Svein Erik Bratsberg og Arvid Staupe

EKSAMENSOPPGAVE I FAG TDT4186 OPERATIVSYSTEMER. Faglig kontakt under eksamen: Svein Erik Bratsberg og Arvid Staupe Side 1 av 8 Norges teknisk-naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforslag til EKSAMENSOPPGAVE I FAG TDT4186 OPERATIVSYSTEMER Versjon: 20. nov 2012 Faglig

Detaljer

1. Å lage programmer i C++

1. Å lage programmer i C++ Avdeling for informatikk og e-læring, Høgskolen i Sør-Trøndelag Å lage programmer i C++ Tore Berg Hansen og Else Lervik Rividert siste gang 29. august 2005 1. Å lage programmer i C++ Resymé: Dette notatet

Detaljer

Installasjonsveiledning for Ordnett Pluss

Installasjonsveiledning for Ordnett Pluss Installasjonsveiledning for Ordnett Pluss Systemkrav Alle systemer Windows Linux Nedlasting/distribusjon Installasjon Windows Programtillegg Chrome Silent install/msiexec Datafiler Ubuntu Terminal/Kilent

Detaljer