Input / output
description
Transcript of Input / output
![Page 1: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/1.jpg)
Operativsystemer
![Page 2: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/2.jpg)
En datamaskin er gjerne koblet til utstyr som skjerm, tastatur, mus, harddisk, CD/DVD enheter, printer, …
En viktig oppgave for et operativsystem er å kommunisere med enheter tilkoblet datamaskinen.
Operativsystemer
![Page 3: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/3.jpg)
Input/output utstyr kan deles i to kategorier etter hvordan det overfører data
Blokk utstyr
Bokstav utstyr
Operativsystemer
![Page 4: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/4.jpg)
Blokk utstyr (block devices) lagrer data i blokker.
Hardisker, CD-ROM og USB-penner er eksempler på blokk utstyr.
Operativsystemer
![Page 5: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/5.jpg)
Hver blokk har en adresse.
Vanlig størrelse på en blokk er mellom 512 bytes og 32768 bytes.
Operativsystemer
![Page 6: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/6.jpg)
Bokstav utstyr (Character Devices) er en annen type input/output utstyr.
Bokstav utstyr sender og mottar data som bokstaver.
Operativsystemer
![Page 7: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/7.jpg)
Eksempler på bokstav utstyr er tastatur, mus, skrivere og nettverktilkoblinger.
Utstyr som ikke er disker er oftest bokstav utstyr.
Operativsystemer
![Page 8: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/8.jpg)
Input og output har vært et problem innen operativsystemer.
En årsak er den store forskjellen i hastigheter i et datamaskinsystem.
Operativsystemer
![Page 9: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/9.jpg)
Hastigheter for ulikt utstyr
Tastatur 10 bytes / sekundMus 100 bytes / sekund72x CD-ROM 11 Mb / sekundSAS disk 129 Mb / sekundUSB 3.0 400 MB/ sekundPCI buss 528 MB / sekund
Operativsystemer
![Page 10: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/10.jpg)
I prosessor og minne behandles data veldig raskt.
Kommunikasjon med perifere enheter går til sammenligning svært langsomt.
Operativsystemer
![Page 11: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/11.jpg)
Å skrive til skjerm er en langsom prosess.
Å skrive til fil er en langsom prosess.
En bruker som skriver på et tastatur venter ofte flere sekunder før han taster et tegn.
Operativsystemer
![Page 12: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/12.jpg)
Å vente på input/output enheter er for prosessor dårlig utnyttelse av tiden.
For å unngå venting brukes derfor mekanismer som bufring og direkte tilgang til minne.
Operativsystemer
![Page 13: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/13.jpg)
Enheter som knyttes til en datamaskin er av mange forskjellige fabrikater.
For eksempel er det mange typer skjermer og skrivere.
Operativsystemer
![Page 14: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/14.jpg)
Det ville være tungvint hvis programmerere skulle lage kode for hver type skjerm eller skriver som skulle bruke programmet.
For at det ikke skal bli tungvint for programmer å kommunisere med I/O enheter tar operativsystemet seg av dette.
Operativsystemer
![Page 15: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/15.jpg)
En programmerer kan for eksempel bruke WriteLine() i et program uten å behøve tenke på hva slags type skjerm som er knyttet til datamaskinen.
Operativsystemer
![Page 16: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/16.jpg)
Operativsystemet tar seg av kommunikasjonen med skjerm, filer, printere og liknende.
Programmere behøver ikke tenke på dette når de lager programmer.
Programmer skal fungere på forskjellige maskiner som har ulikt utstyr tilkoblet.
Operativsystemer
![Page 17: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/17.jpg)
Operativsystemet tar seg også av feil som kan oppstå ved kommunikasjon med input/output enheter.
Operativsystemet bør kunne
1. Oppdage feil.2. Rette opp feil.
Operativsystemer
![Page 18: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/18.jpg)
Det er mange feil som kan oppstå ved bruk av input/output enheter.
Operativsystemet bør for eksempel kunne oppdage om et program forsøker å skrive til en fil som er åpnet for lesing.
Operativsystemet bør også kunne gjenkjenne korrupte data.
Operativsystemer
![Page 19: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/19.jpg)
Iblant lykkes operativsystemet med å rette opp feil som oppstår.
Klarer operativsystemet å rette opp en feil vil det normalt ikke gi beskjed om dette til programmet hvor feilen oppsto.
Operativsystemer
![Page 20: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/20.jpg)
Kommunikasjon mellom programmer og perifert utstyr blir tatt hånd om av I/O subsystem.
I/O subsystem kalles den del av operativsystemet som tar seg av kommunikasjonen med skjerm, skrivere, filer, osv.
Operativsystemer
![Page 21: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/21.jpg)
Før et program kan benytte en input/output enhet må det åpnes en forbindelse til den (Stream).
For eksempel skal et program åpne en fil benyttes funksjonskall som
open(pathname, flags);
Operativsystemer
![Page 22: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/22.jpg)
Følgende gir en oversikt over hva som skjer når en fil åpnes
1. Lete opp katalogen filen er på.2. Hvis filen ikke fins, opprette den.3. Sjekke rettigheter tilknyttet filen.4. Sjekke om filen allerede er åpnet.5. Lage datastrukturer som representerer.6. Gi brukerprogram en peker til filen.
Operativsystemer
![Page 23: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/23.jpg)
Når en datastrøm (Stream) er åpnet kan den være åpen så lenge vi ønsker.
Operativsystemet må imidlertid holde rede på datastrømmer som er åpne.
Operativsystemet har derfor en datastruktur for å holde rede på dette.
Operativsystemer
![Page 24: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/24.jpg)
Før operativsystemet kan åpne en fil må det undersøke hvilken tilgang brukeren har til filen.
Det er mange forskjellige rettigheter som kan være til filer
Skrive, lese, endre, slette, …
Operativsystemer
![Page 25: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/25.jpg)
Når et program åpner en fil blir dette registrert i en fildeskriptor.
Prosessen og alle tråder tilhørende prosessen har tilgang til denne fildeskriptoren.
Operativsystemer
![Page 26: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/26.jpg)
Fildeskriptoren er en tabell som holder rede på åpne filer.
Hver gang et program åpner en fil blir det opprettet en ny rad i tabellen som har informasjon om filen som er åpnet.
Operativsystemer
![Page 27: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/27.jpg)
Når en ny prosess starter blir det automatisk opprettet tre datastrømmer for prosessen.
Standard input // Tastatur Standard output // Skjerm Standard error // Skjerm
Operativsystemer
![Page 28: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/28.jpg)
I forbindelse med filer har systemet to tabeller.
Lokal filtabell
Global filtabell
Operativsystemer
![Page 29: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/29.jpg)
Systemet har en array med datastrukturer som kalles lokal filtabell.
Den lokale filtabellen innholder data om filen som er gitt med åpningen av filen.
Den lokale filtabellen inneholder data som er relevante for prosessen som har åpnet filen.
Operativsystemer
![Page 30: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/30.jpg)
Det er også informasjon om åpne filer som ikke er av interesse for prosessen som har åpnet filen.
Slike data lagres i en global filtabell.
Operativsystemer
![Page 31: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/31.jpg)
Input og output er langsomme prosesser. Dette innebærer at systemet må vente ved input/output.
Hvor lenge systemet må vente varierer.
Fra noen millisekunder for å lagre til disk og opp til flere minutter for å vente på tegn fra tastaturet.
Operativsystemer
![Page 32: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/32.jpg)
Istedenfor å vente på input/output operasjoner ville det kanskje være bedre for en tråd å gjøre noe annet.
Men dette lar seg i mange tilfeller ikke gjøre.
Har man for eksempel i et program skrevet ReadLine(), kan ikke programmet forsette før det har lest inn dataene.
Operativsystemer
![Page 33: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/33.jpg)
Ved output går det gjerne noe bedre.
Har vi skrevet WriteLine() i et program kan programmet som oftest fortsette uten å vente til utskriften har skjedd.
Operativsystemer
![Page 34: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/34.jpg)
Det er to måter for en tråd å forholde seg til input/output.
Blokkering
Ikke blokkering
Operativsystemer
![Page 35: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/35.jpg)
Ved blokkering vil et program vente med å fortsette inntil en input/output operasjon er utført.
Denne ventingen kan skje ved at tråden sover. Som ved Thread::Sleep().
Blokkering kalles på engelsk for Synchronous I/O eller Wait I/O.
Operativsystemer
![Page 36: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/36.jpg)
Ved ikke blokkering fortsetter programmet å kjøre uten å vente på at input/output operasjonen er utført.
Dette kalles på engelsk for Asynchronous I/O eller Nowait I/O.
Operativsystemer
![Page 37: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/37.jpg)
Ikke blokkering krever synkronisering i programkoden til programmet.
Synkronisering kan for eksempel skje ved hjelp av en semafor, som får programmet til å vente til det får et signal fra driveren.
Operativsystemer
![Page 38: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/38.jpg)
Bruk av semafor ved ikke blokkering gir gjerne samme effekt som blokkering.
Men det er mulig at programmet utfører noe programkode før semaforen stopper programmet, for å vente på en input/output operasjon.
Operativsystemer
![Page 39: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/39.jpg)
Ved output benyttes ofte et buffer.
Skal man for eksempel skrive til en skriver og skriveren er opptatt kan man skrive utskriften til et buffer isteden.
Programmet kan da fortsette og skriveren kan skrive ut innholdet i bufret når den er klar med andre oppgaver.
Operativsystemer
![Page 40: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/40.jpg)
Fordelen ved å bruke buffer er at det sparer tid.
Straks et program har skrevet til bufret kan det fortsette.
En ulempe med bufring er at det krever plass på en harddisk.
Operativsystemer
![Page 41: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/41.jpg)
Når en prosess skriver til en fil kan det være nødvendig å lukke tilgang til den for andre prosesser.
Mekanismer som lukker en fil eller en del av en fil kalles på engelsk for Locks.
Operativsystemer
![Page 42: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/42.jpg)
Vi skal nå se på hvordan operativsystemet kommuniserer med hardware.
Det som skal skje er at signaler fra perifert utstyr som for eksempel tastatur skal overføres til datamaskinens minne.
Operativsystemer
![Page 43: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/43.jpg)
En måte å ta vare på data fra tastaturet på er å legge det i et register.
Da kan prosessor sjekke registeret ved jevne mellomrom og oppdatere programmer med disse dataene.
Denne metoden kalles Polling.
Operativsystemer
![Page 44: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/44.jpg)
Å bruke et register til å ta vare på tastatur trykk har den ulempen at lesing og skriving til registeret ikke er synkronisert.
Skrivingen til registeret kan gå fortere enn lesingen eller omvendt.
Operativsystemer
![Page 45: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/45.jpg)
Et tastetrykk kan bli overskrevet fordi det kommer to trykk etter hverandre før prosessor har lest registeret.
Eller prosessor kan lese inn det samme tastetrykket to ganger fordi det ikke har kommet noe nytt.
Operativsystemer
![Page 46: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/46.jpg)
For å løse dette problemet brukes to registre
1. Et register som tar vare på tastetrykket.
2. Et register som viser status. Det vil si om prosessor har lest registeret eller ikke.
Operativsystemer
![Page 47: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/47.jpg)
Ved Polling kontrollerer prosessor registrene med jevne mellomrom.
Dette er imidlertid en tungvint metode fordi det er mange registre.
Hver perifer enhet har registre.
Operativsystemer
![Page 48: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/48.jpg)
Polling metoden er ikke god fordi det mangler synkronisering.
Prosessor kan sjekke på feil tidspunkt. Enten er det ikke noe i registrene eller de er overfylt.
Operativsystemer
![Page 49: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/49.jpg)
Derfor benyttes avbruddssignaler (Interrupts).
Interrupts gjør at hver perifer enhet kan gi beskjed til prosessor om at nå er det noe nytt i registeret.
Operativsystemer
![Page 50: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/50.jpg)
Ved å bruke avbruddssignaler kan prosessor holde på med sitt uten å tenke på perifere enheter.
De perifere enhetene gir beskjed til prosessor, når de har data til prosessor.
Operativsystemer
![Page 51: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/51.jpg)
Når prosessor får et avbruddssignal slutter den med det som den holder på med og leser registeret.
Operativsystemer
![Page 52: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/52.jpg)
Polling med avbruddssignaler fungerer for tastetrykk og liknende.
Dette systemet går ikke ved lesning av fil hvor mye data skal leses inn i minnet.
Derfor benyttes noe som kalles DMA.
Operativsystemer
![Page 53: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/53.jpg)
DMA tillater visse hardware undersystemer å få direkte tilgang til minnet uavhengig av prosessor.
DMA = Direct Memory Access.
Operativsystemer
![Page 54: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/54.jpg)
Metoden DMA bruker liksom polling et status register og har et avbruddsystem.
Men DMA bruker ikke noe dataregister.
Dataene overføres direkte fra filen til minnet.
Operativsystemer
![Page 55: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/55.jpg)
Ved en vanlig input/output overføring vil prosessor være opptatt hele tiden som overføringen pågår, og vil da ikke kunne utføre andre operasjoner.
Ved å bruke DMA vil prosessor sette i gang input/output overføringen, gjøre andre oppgaver mens overføringen skjer, og motta et avbruddssignal når overføringen er ferdig.
Operativsystemer
![Page 56: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/56.jpg)
DMA gjør det mulig for utstyrsenheter å overføre data uten belaste prosessor særlig mye.
DMA er derfor en viktig egenskap ved moderne datamaskinsystemer.
Operativsystemer
![Page 57: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/57.jpg)
Hver fysisk enhet som er knyttet til en datamaskin har behov for programvare som er spesielt laget for den og dens oppgaver.
Denne programvaren kalles en driver.
Operativsystemer
![Page 58: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/58.jpg)
En driver er enten en del av operativsystemet eller en programbit laget for å kunne kommunisere med operativsystemet.
Operativsystemer
![Page 59: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/59.jpg)
Operativsystemet kaller en driver ved hjelp av en Device Switch.
Device Switch er en array. Hver driver har en indeks i denne arrayen.
Hver indeks i arrayen inneholder en samling pekere som peker til metoder som benyttes til å bruke driveren.
Operativsystemer
![Page 60: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/60.jpg)
En datastruktur som kalles IORB er viktig for en driver.
IORB = Input Output Request Block
Denne datastrukturen inneholder parametere for I/O driveren.
Operativsystemer
![Page 61: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/61.jpg)
Informasjon i en IORB kan være
Flagg som indikerer lese, skrive, … Metode som indikerer om ferdig. Plassering av data minnet. Antall bytes som skal overføres. Den perifere enhetens nummer. Start blokk for enhet.
Operativsystemer
![Page 62: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/62.jpg)
Når et program skal benytte en driver kaller den metoder som tilhører operativsystemets bibliotek.
Operativsystemet kaller så koden til driveren.
Når den perifere enheten er klar sender den et avbruddsignal til prosessor.
Operativsystemer
![Page 63: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/63.jpg)
Forskjellige operativsystemer behandler drivere forskjellig.
1. Driveren er i minnet bestandig slik at den sover når den ikke er i bruk.
2. Driveren kalles og lastes inn i minnet når det er bruk for den.
Operativsystemer
![Page 64: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/64.jpg)
Vi skal se litt på organisering av harddisker.
En oppgave for operativsystemet er å holde orden på harddisker.
Dette kan gjøres på ulike måter.
Operativsystemer
![Page 65: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/65.jpg)
En harddisk består av en rekke blokker med samme størrelse.
Størrelsen på blokkene har vært fra 2 til 8 kbyte.
Blokkene er nummerert fra 0 og oppover.
Operativsystemer
![Page 66: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/66.jpg)
Når en ny fil skal lagres må operativsystemet allokere plass til den på harddisken.Dette kan gjøres på flere måter
Sammenhengende allokering. Linket liste. File Map. Indeksert allokering.
Operativsystemer
![Page 67: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/67.jpg)
Sammenhengende allokering vil si at filen lagres på blokker som ligger etter hverandre. For eksempel 1, 2, 3 …
Da behøver operativsystemet bare holde rede på startblokken og antall blokker som filen opptar.
Operativsystemer
![Page 68: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/68.jpg)
Problemer med sammenhengende allokering
1. Det er ikke alltid det er sammenhengende blokker tilgjengelig.
2. Hvis en fil skal utvides er kanskje ikke blokkene etter ledige, slik at utvidingen ikke kan gjøres sammenhengende.
Operativsystemer
![Page 69: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/69.jpg)
En måte å holde rede på en fil er å benytte en linket liste.
Hver blokk har en peker som peker til den neste blokken som filen består av.
Da behøver ikke blokkene ligge etter hverandre.
Operativsystemer
![Page 70: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/70.jpg)
En ulempe med linket liste er at om en peker ikke er riktig plassert mister man alle blokkene som kommer etter.
File map er en forbedring av linket liste ved at alle pekerne er plassert på et sted. På denne måten får man et kart (Map) over filen.
Operativsystemer
![Page 71: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/71.jpg)
Indeksert allokering er også en forbedring av linket liste ved at alle pekerne plasseres på et sted.
Pekerne nås ved hjelp av indekser istedenfor en peker som peker til den neste slik som ved linket liste.
Operativsystemer
![Page 72: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/72.jpg)
For å ta seg av filer og filbehandling har operativsystemet en File Manager.
Oppgaven til filbehandleren er å organisere filer slik at bruker kan få tak i disse raskt og lett.
Operativsystemer
![Page 73: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/73.jpg)
RAID-teknologien er en serie av forskjellige metoder for lagring av data til flere disker.
RAID = Redundant Arrays of Inexpensive Disks
Operativsystemer
![Page 74: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/74.jpg)
Opprinnelig var det fem forskjellige nivå av RAID, kalt level 1-5.
I dag tas også med RAID level 0 og det har også kommet et nivå 6.
Det er derfor nå 7 nivåer av RAID.
Operativsystemer
![Page 75: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/75.jpg)
RAID level 5 er den RAID-teknologien som har vært mest brukt.
Den kombinerer god feiltoleranse med høy utnyttelse av lagringskapasitet.
I tillegg får vi høy lese og skrive hastighet, spesielt fra applikasjoner som leser/skriver små filer.
Operativsystemer
![Page 76: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/76.jpg)
I et filsystem med RAID 5 kan man ta ut en disk mens serveren kjører og erstatte den med en annen blank disk.
Serveren vil oppdage det og sette opp en prosess som bygger opp den nye disken automatisk.
Operativsystemer
![Page 77: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/77.jpg)
Operativsystemer
![Page 78: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/78.jpg)
Programmer har iblant bruk for å kommunisere med hverandre.
Interprosess kommunikasjon er en måte for en tråd i en prosess, å dele informasjon med en tråd i en annen prosess.
Operativsystemer
![Page 79: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/79.jpg)
Interprosess kommunikasjon vil si at forskjellige programmer kommuniserer med hverandre.
Dette gjelder både når
Programmene er på samme PC. Programmene er på forskjellige PC-er.
Operativsystemer
![Page 80: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/80.jpg)
Interprosess kommunikasjon på en og samme PC er ganske greit.
Operativsystemet kan kopiere informasjon fra minnet til den sendende tråden over til minnet til den mottaende tråden.
Operativsystemer
![Page 81: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/81.jpg)
Interprosess kommunikasjon mellom forskjellige PC-er skjer på følgende måte
1. Operativsystemet til PC-en som sender vil kopiere informasjonen fra minnet til en kommunikasjons enhet.
2. Kommunikasjonsenheten vil så sende informasjonen til mottakerens maskin.
Operativsystemer
![Page 82: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/82.jpg)
Windows operativsystem støtter Interprosess kommunikasjon.
Følgende mekanismer i Windows kan benyttes til Interprosess kommunikasjon.
Operativsystemer
![Page 83: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/83.jpg)
Clipboard Component Object Model (COM) Data Copy Dynamic Data Exchange (DDE) File Mapping Mailslots Pipes Remote Procedure Call (RPC) Windows Sockets
Operativsystemer
![Page 84: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/84.jpg)
Utklippstavla (Clipboard) er en mye brukt til å overføre data fra et program til et annet.
Når en bruker klipper ut noe fra et program, kan det overføres til andre programmer ved lim inn.
Operativsystemer
![Page 85: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/85.jpg)
Et program som bruker COM kan kommunisere med en rekke andre komponenter.
COM = Component Object Model
Operativsystemer
![Page 86: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/86.jpg)
OLE (Object Linking and Embedding) bygger på COM.
OLE har innebygde tjenester som gjør det lett for programmer å benytte andre programmer til å editere data.
Operativsystemer
![Page 87: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/87.jpg)
Data Copy gjør det mulig for et program å sende informasjon til et annet program.
Data Copy krever imidlertid samarbeid mellom programmet som sender og programmet som mottar.
Programmet som mottar må kjenne formatet på dataene og avsenderen.
Operativsystemer
![Page 88: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/88.jpg)
DDE (Dynamic Data Exchange) er en protokoll som gjør det mulig for programmer å utveksle data.
DDE kan brukes også når data skal utveksles mellom forskjellige datamaskiner i et nettverk.
DDE bruker samme dataformater som utklippstavla.
Operativsystemer
![Page 89: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/89.jpg)
File Mapping er en måte for en prosess å behandle innholdet på en fil som om den var i minnet til prosessen.
File Mapping er en enkel måte for to eller flere prosesser å dele data på, men metoden krever synkronisering. Operativsystemer
![Page 90: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/90.jpg)
Mailslots gir anledning til enveis kommunikasjon.
En prosess som oppretter en Mailslot kalles en Mailslot server. Andre prosesser (klienter) kan da sende meldinger til server.
Mailslots gir en enkel metode til å sende og motta korte meldinger.
Operativsystemer
![Page 91: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/91.jpg)
RPC (Remote Procedure Call) gjør at programmer kan kalle funksjoner som er på en annen maskin.
RPC gjør derfor Interprosess kommunikasjon så enkelt som et funksjonskall.
RPC opererer mellom prosesser på forskjellige maskiner i et nettverk.
Operativsystemer
![Page 92: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/92.jpg)
Windows Sockets er et system for å kommunisere over nettverk.
Windows Sockets er uavhengig av protokoller.
Et program som benytter Windows Sockets kan kommunisere med programmer på andre maskiner som benytter Windows Sockets.
Operativsystemer
![Page 93: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/93.jpg)
Pipes er en enkel modell for Interprosess kommunikasjon.
Data skrives til en buffer av en prosess slik at en annen prosess kan lese dataene.
Operativsystemer
![Page 94: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/94.jpg)
Det er to typer Pipes
Anonymous Pipes
Named Pipes
Operativsystemer
![Page 95: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/95.jpg)
Anonymous Pipes benyttes til å overføre data mellom en Parent Process og en Child Process.
Anonymous Pipes brukes derfor til å overføre data mellom tråder i samme program.
Operativsystemer
![Page 96: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/96.jpg)
Named Pipes har et navn som gjør at andre prosesser kan finne dem via navnet.
Named Pipes kan derfor benyttes til overføre data mellom forskjellige programmer.
Operativsystemer
![Page 97: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/97.jpg)
Anonymous Pipes er alltid lokal. De kan ikke overføre data fra en maskin til en annen i et nettverk.
Named Pipes derimot kan overføre data fra en maskin til en annen i et nettverk.
Operativsystemer
![Page 98: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/98.jpg)
Anonymous Pipes er en effektiv måte å overføre data mellom relaterte prosesser i samme program.
Operativsystemer
![Page 99: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/99.jpg)
Named Pipes er en enkel måte å overføre data mellom to prosesser på.
Prosessene kan være på samme maskin eller på forskjellige maskiner i et nettverk.
Operativsystemer
![Page 100: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/100.jpg)
Operativsystemer
![Page 101: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/101.jpg)
Tre forskjellige typer sikkerhet som er ønskelig på et datamaskinsystem
1. Unngå at noen leser hemmelige data.
2. Unngå at noen kan endre på data.
3. Unngå at noen kan komme inn på systemet og misbruke det.
Operativsystemer
![Page 102: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/102.jpg)
Data som skal være hemmelig for utenverdenen kan være
Personlige opplysninger. Opplysninger om bedrifter. Opplysninger om land. Militære hemmeligheter.
Operativsystemer
![Page 103: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/103.jpg)
Man må unngå at noen kan endre data. Eksempler er
Data om lønnstrinn.
Data om karakterer.
Operativsystemer
![Page 104: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/104.jpg)
Man må unngå at noen kan komme inn på et datasystem og misbruke det.
Et eksempel på dette er å gjøre hjemmemaskiner til zombies.
Operativsystemer
![Page 105: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/105.jpg)
Maskiner som er gjort til zombies kan kontrolleres av utenverdenen.
Ofte benyttes zombies til å sende Spam.
På denne måten kan ikke de som står bak spores opp.
Operativsystemer
![Page 106: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/106.jpg)
Vanlige årsaker til at noen vil trenge inn på datasystemer er Noen ønsker å lese andres e-post eller
filer i et nettverk de er knyttet til.
Noen ser det som en personlig utfordring å knekke sikkerhetssystemet på nettverket de er knyttet til.
Forsøk på å få tak i penger fra kontoer.
Spionasje på militær eller industri.
Operativsystemer
![Page 107: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/107.jpg)
Sikkerhet innbærer også tap av data. Tap av data kan ha mange årsaker
Brann, jordskjelv, oversvømmelser, krig, hærverk, rotter, …
Hardware feil: Harddisk som ryker, programfeil, feil med CPU, …
Menneskelige feil: Mistet CD-ROM eller USB penn, gitt feil data til et program, …
Operativsystemer
![Page 108: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/108.jpg)
Datamaskiner må også beskyttes mot programmer som kan infiltrere og gjøre skade på datasystemer.
Slike programmer er virus, trojanske hester, ormer og spionprogramvare.
Operativsystemer
![Page 109: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/109.jpg)
Spionprogramvare (Spyware) er programmer som kjører i bakgrunnen på datamaskinen og gjør ting som brukere av maskinen ikke er klar over.
Operativsystemer
![Page 110: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/110.jpg)
Spionprogramvare forsøker å få tak i informasjon som det kan sende tilbake til opphavsmannen over Internett.
Operativsystemer
![Page 111: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/111.jpg)
Spionprogramvare kan man få på maskinen bare ved å besøke en eller annen webside på internett.
Operativsystemer
![Page 112: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/112.jpg)
Sikkerhet er viktig i et nettverk.
Når det gjelder sikkerhet er det to ting som er sentralt
Å ta vare på og beskytte data.
Å sørge for at nettverket ikke er ute av drift.
Operativsystemer
![Page 113: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/113.jpg)
Datamaskiner i bedrifter inneholder ofte viktig og sensitiv informasjon.
Det kan bli en katastrofe om data går tapt.
Det er derfor en viktig oppgave for en driftsansvarlig å sørge for at data ikke går tapt.
Operativsystemer
![Page 114: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/114.jpg)
Operativsystemer
![Page 115: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/115.jpg)
Med Windows NT kom følgende sikkerhet i Windows operativsystem.
Sikker logg inn. Adgangskontroll for filer. Adresseromsforsvar for hver prosess. Nullstilling av data for sider (pages). Avlytting av datasystemer.
Operativsystemer
![Page 116: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/116.jpg)
Sikker login betyr at alle brukere benytter passord for å logge inn.
Innlogging skjer med Ctrl+Alt+Delete.
Hensikten med Ctrl+Alt+Delete er at ikke noen skal kunne legge inn egne innloggingsvinduer for å kunne fange opp brukeres passord.
Operativsystemer
![Page 117: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/117.jpg)
Adgangskontroll for filer gjør at brukere som eier en fil, selv kan bestemme hvilke andre som skal få tilgang til filen.
Operativsystemer
![Page 118: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/118.jpg)
Adresseromsforsvar for hver prosess betyr at hver prosess har beskyttede adresser.
Dette innebærer at andre prosesser ikke har tilgang til prosessen.
Operativsystemer
![Page 119: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/119.jpg)
Nullstilling av data for sider (pages).
Dette medfører at nye sider som lastes inn i minnet ikke vil kunne finne data fra forrige side.
Operativsystemer
![Page 120: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/120.jpg)
Avlytting av datasystemer (Auditing) vil si at systemet skriver hendelser til fil som kan ha betydning for sikkerheten.
Administrator vil da kunne orientere seg om hva som skjer på systemet ved å lese en logg.
Operativsystemer
![Page 121: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/121.jpg)
Microsoft har satt mye ressurser inn på å gjøre Windows mer sikkert.
Årsaken er at det de siste årene har vært gjort flere og flere angrep mot datasystemer omkring i verden.
Operativsystemer
![Page 122: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/122.jpg)
Noen av disse angrepene på datasystemer har vært suksessfulle.
Disse angrepene har klart å sette ut av spill datasystemene til hele land eller store bedrifter.
Slike angrep kan koste samfunnet milliarder av kroner.
Operativsystemer
![Page 123: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/123.jpg)
Windows operativsystem har fått et høyt utviklet sikkerhetssystem.
Dette sikkerhetssystemet er basert på adgangskontroll og integritetsnivåer.
Operativsystemer
![Page 124: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/124.jpg)
Det er behov for å kunne identifisere enheter (for eksempel tråder) som kan utføre handlinger på systemet.
Dette for å kunne bestemme hvilke handlinger en tråd har lov til å utføre.
Operativsystemer
![Page 125: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/125.jpg)
Istedenfor å bruke navn til å identifisere slike enheter bruker Windows operativsystem en SID (Security ID) som er et nummer.
Hver SID er tenkt å være unik i hele verden.
Operativsystemer
![Page 126: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/126.jpg)
En SID tilordnes enten en bruker eller en gruppe av brukere (i nettverk).
Når en prosess starter vil prosessen og trådene kjøre under brukerens SID.
Andre tråder vil ikke kunne få tilgang til prosessen med mindre de har en SID med spesiell autorisasjon til dette.
Operativsystemer
![Page 127: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/127.jpg)
Hver prosess har en informasjon om pålitelighet, som forteller om bruker og hvilke privileger som prosessen har.
Operativsystemer
![Page 128: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/128.jpg)
Hvert objekt har en sikkerhetsdeskriptor knyttet til seg.
Denne sikkerhetsdeskriptoren inneholder adgangsopplysninger som kan nekte adgang for brukere eller grupper av brukere.
Operativsystemer
![Page 129: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/129.jpg)
Sentralt i sikkerheten i Windows er beskyttelse av objekter og adgang til objekter.
Objekter som blir beskyttet i Windows operativsystem inkluderer filer, prosesser, tråder, hendelser, mutexer, semaforer, delt minne, input/output porter, printere, med mer.
Operativsystemer
![Page 130: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/130.jpg)
Sikkerhetsmodellen i Windows krever at for at en tråd skal få adgang til et objekt, må den først oppgi hvilke handlinger den vil utføre på objektet.
Operativsystemer
![Page 131: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/131.jpg)
Microsoft oppdaterer sikkerheten i Windows operativsystem ved hjelp av Windows Update en gang i måneden.
Ved hjelp av automatiske oppdateringer oppgraderes Windows operativsystem av seg selv over nettet uten å behøve å bruke en nettleser.
Operativsystemer
![Page 132: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/132.jpg)
Windows Defender er et program fra Microsoft som har som oppgave å forhindre, fjerne og isolere spionprogrammer i Microsoft Windows.
Microsoft Anti Spyware er et annet navn på Windows Defender.
Operativsystemer
![Page 133: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/133.jpg)
Spionprogrammer er en type programvare som infiltrerer et datamaskinsystem uten at eieren er klar over det.
Spionprogrammer kan plukke opp personlig informasjon om brukere på PC-en og sende den over Internett tilbake til opphavsmannen til spionprogrammet.
Operativsystemer
![Page 134: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/134.jpg)
Operativsystemer
![Page 135: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/135.jpg)
Et filsystem er et system for å lagre og organisere filer på en harddisk.
Det er ønskelig at det skal være lett å finne og få tak i filer.
Filsystemer lages derfor med tanke på dette.
Operativsystemer
![Page 136: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/136.jpg)
I Windows er det tre filsystemer som kan benyttes på harddisker. Det er
NTFS FAT32 FAT
Operativsystemer
![Page 137: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/137.jpg)
FAT står for File Allocation Table og er et filsystem som ble brukt i MS-DOS og tidlige versjoner av Windows.
Det er flere versjoner av FAT.
Det er FAT12, FAT16, FAT32 og exFAT.
Operativsystemer
![Page 138: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/138.jpg)
FAT12 var et 12 bit adressesystem som var laget for disketter.
FAT16 ble utviklet når det kom PC-er med harddisk.
FAT12 og FAT16 er ikke lengre i bruk.
Operativsystemer
![Page 139: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/139.jpg)
FAT32 ble brukt i tidligere versjoner av Windows operativsystem.
Dette er Windows 95, Windows 98 og Windows Millennium.
Den eneste grunnen til å bruke FAT32 i dag er at du har en datamaskin som iblant vil benytte disse eldre Windows versjonene.
Operativsystemer
![Page 140: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/140.jpg)
exFAT som også er kalt FAT64 er nyere versjon av FAT.
exFAT er laget med tanke på mindre lagringsenheter som USB penner.
Operativsystemer
![Page 141: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/141.jpg)
NTFS er filsystemet som dagens versjoner av Windows benytter.
NTFS har flere fordeler fremfor FAT32.
Muligheten til automatisk å rette opp diskfeil.
Forbedret støtte for store harddisker. Bedre sikkerhet.
Operativsystemer
![Page 142: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/142.jpg)
Sikkerheten er forbedret ved at man i NTFS kan gi bestemte brukere tilgang til bestemte filer.
I FAT32 kunne alle brukere få tilgang til alle filer på harddisken.
Operativsystemer
![Page 143: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/143.jpg)
Filnavn i NTFS kan være opp til 255 tegn lange.
Filnavn er i unicode noe som gjør at man kan benytte filnavn i andre tegnsett enn det latinske, for eksempel gresk, kinesisk, russisk m.m.
Operativsystemer
![Page 144: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/144.jpg)
Windows støtter et filsystem for CD-ROM som kalles CDFS.
CDFS = Compact Disk File System
CDFS er en filsystemstandard for optiske disk medier.
Operativsystemer
![Page 145: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/145.jpg)
Windows har også støtte for filsystemet UDF (Universal Disk Format).
UDF er et filsystem benyttes mest for DVD-er og nyere optiske medier.
For eksempel Blu-ray og DVD-video bruker ulike versjoner av UDF.
Operativsystemer
![Page 146: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/146.jpg)
Operativsystemer
![Page 147: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/147.jpg)
Lagringsstyring definerer hvordan operativsystemer samspiller med disker og lagringsmedia.
Lagringsstyring = Storage Management.
Operativsystemer
![Page 148: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/148.jpg)
Windows gir støtte for mange typer lagringsmedia. Det er
Harddisker USB-penner Bånddrev (Tape Drive)
Operativsystemer
![Page 149: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/149.jpg)
Windows gir også støtte for nettverkslagring som
SAN (Storage Area Networks).
iSCSI (Internet Small Computer System Interface).
Operativsystemer
![Page 150: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/150.jpg)
En oppgave for et operativsystem er å holde orden på harddisker.
Vi skal se på lagring på harddisker, da harddisker har vært det primære lagringsmediet for PC-er.
Operativsystemer
![Page 151: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/151.jpg)
En disk er delt inn i sektorer.
En sektor er en blokk med en bestemt størrelse som har en adresse.
En harddisk består av en rekke blokker. Størrelsen på blokkene har vært fra 2 til 8 kbyte. Blokkene er nummerert fra 0 og oppover.
Operativsystemer
![Page 152: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/152.jpg)
Når en ny fil skal lagres må operativsystemet allokere plass til den på harddisken. Dette kan gjøres på flere måter.
1. Sammenhengende allokering.2. Linket liste.3. Fil kart.4. Indeksert allokering.
Operativsystemer
![Page 153: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/153.jpg)
Sammenhengende allokering vil si at filen lagres på blokker som ligger etter hverandre. For eksempel 4, 5, 6, 7, 8, …
Da behøver operativsystemet bare å holde rede på startblokken og antall blokker som filen opptar.
Operativsystemer
![Page 154: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/154.jpg)
Problemet med sammenhengende allokering er at
1.Det er ikke alltid det er sammenhengende blokker tilgjengelig på harddisken når en fil opprettes.
2.Hvis en fil skal utvides er kanskje ikke blokkene etter ledige, slik at en utviding ikke kan gjøres sammenhengende.
Operativsystemer
![Page 155: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/155.jpg)
En annen måte å holde rede på en fil er å benytte en linket liste.
Hver blokk har en peker som peker til den neste blokken som filen består av.
Da behøver ikke blokkene ligge etter hverandre.
Operativsystemer
![Page 156: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/156.jpg)
En ulempe med linket liste er at om en peker ikke er riktig plassert mister man alle blokkene som kommer etter.
Fil kart (File Map) er en forbedring av linket liste ved at alle pekerne er plassert på et sted. På denne måten får man et kart over filen.
Operativsystemer
![Page 157: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/157.jpg)
Indeksert allokering er også en forbedring av linket liste ved at alle pekerne plasseres på et sted.
Pekerne nås ved hjelp av indekser istedenfor en peker som peker til den neste slik som ved linket liste.
Operativsystemer
![Page 158: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/158.jpg)
Lagring av data i et datamaskinsystem kan organiseres på forskjellige måter.
En vanlig PC vil vanligvis kun ha et volum på en harddisk.
Men det kan organisatorisk være gunstig å dele opp harddisker i flere volumer.
Operativsystemer
![Page 159: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/159.jpg)
Volumer brukt av servere vil ofte strekke seg over flere harddisker.
Hensikten med å bruke flere harddisker er å øke lesehastigheten og sikkerheten.
Operativsystemer
![Page 160: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/160.jpg)
En harddisk kan deles opp i partisjoner.
En partisjon er en del av en harddisk.
Hver partisjon kan fungere som en egen disk.
Operativsystemer
![Page 161: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/161.jpg)
En partisjon er en samling av sammenhengende sektorer på en disk.
En partisjonstabell eller andre databaser for disk behandling lagrer start sektor og størrelsen til partisjonene.
Operativsystemer
![Page 162: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/162.jpg)
Partisjonsbehandleren (Partition Manager) har som oppgave å lage, slette og behandle partisjoner.
Partisjonsbehandleren sørger for at alle partisjoner har en unik ID.
Operativsystemer
![Page 163: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/163.jpg)
Lagerplassen til en datamaskin kan deles opp i volumer som betegnes med en bokstav som for eksempel C, D, eller E.
Et enkelt volum er kun en partisjon, men volumer kan organiseres slik at de består av flere partisjoner på en eller flere harddisker.
Operativsystemer
![Page 164: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/164.jpg)
Et enkelt volum bruker kun en harddisk. Dette medfører at om harddisken ryker er volumet ute av bruk.
Dette kan unngås ved å bruke flere volumer og flere disker. Da kan man fortsatt få tilgang til data selv om en av harddiskene er ute av drift.
Operativsystemer
![Page 165: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/165.jpg)
Det er to typer volumer
1. Enkle volumer som representerer sektorer fra en enkel partisjon.
2. Fler partisjon volumer som representerer sektorer fra flere partisjoner.
Operativsystemer
![Page 166: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/166.jpg)
Fordeler med fler partisjon volumer er ytelse, pålitelighet og størrelse på volumer.
Operativsystemer
![Page 167: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/167.jpg)
Noen typer fler partisjon volumer er
Spredt volum Stripet volum RAID 1 volum RAID 5 volum
Operativsystemer
![Page 168: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/168.jpg)
Når et volum består av flere partisjoner kalles det et spredt volum.
Spredt volum = Spanned Volume
Operativsystemer
![Page 169: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/169.jpg)
Fordelen ved å bruke et spredt volum er at vi kan utvide volumet uten å måtte skifte ut disken med en ny større disk.
Ulempen ved et spredt volum er større fare for diskfeil når partisjonene ligger på forskjellige disker.
Operativsystemer
![Page 170: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/170.jpg)
Et stripet volum (Striped Volume) består av flere partisjoner på flere disker.
Når det skrives til et stripet volum vil dataene bli fordelt over alle diskene.
Operativsystemer
![Page 171: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/171.jpg)
Fordelen med et stripet volum er at lesehastigheten øker fordi man kan lese data fra diskene parallelt.
Ulempen med stripet volum er at det lettere kan oppstå diskfeil.
Operativsystemer
![Page 172: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/172.jpg)
Et RAID 1 volum består av to disker.
Samme data ligger på begge diskene.
Det vil si at den ene disken er en kopi av den andre.
Operativsystemer
![Page 173: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/173.jpg)
Fordelen med RAID 1 volum er sikkerhet. Hvis den ene disken går i stykker har man fortsatt den andre.
Ulempen er at det tar dobbelt så mye lagringsplass.
Operativsystemer
![Page 174: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/174.jpg)
RAID 5 volum har vært mye brukt i servere da det øker både lesehastigheten og sikkerheten.
Data skrives til flere disker. Sikkerheten blir bedre da ekstra
informasjon om dataene (paritetsdata) ligger på flere disker.
Operativsystemer
![Page 175: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/175.jpg)
RAID 5 medfører økt lesehastighet da man kan lese data fra diskene parallelt.
RAID 5 medfører imidlertid litt langsommere skrivehastighet, da man også må skrive paritetsdata.
Operativsystemer
![Page 176: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/176.jpg)
RAID 5 tåler at en av diskene ryker. De andre diskene vil fortsette å fungere slik at man kan hente data der.
Om en disk ryker vil imidlertid lesehastigheten bli langsommere, da man må bruke paritetsdataene.
Operativsystemer
![Page 177: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/177.jpg)
Windows skiller mellom to typer disker
Standard disker (Basic Disks). Dynamiske disker (Dynamic Disks).
Operativsystemer
![Page 178: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/178.jpg)
En standard disk har en fast størrelse og er på kun en fysisk harddisk.
En standard disk kan deles opp i flere partisjoner.
Det kan også være flere volumer på en utvidet partisjon.
Operativsystemer
![Page 179: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/179.jpg)
Dynamiske disker er mer fleksible enn standard disker.
En fordel med dynamiske disker er at man kan forandre størrelsen til en disk uten å måtte starte Windows på nytt.
Operativsystemer
![Page 180: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/180.jpg)
Det er nødvendig å bruke dynamiske disker om man skal bruke fler partisjon volumer som spredt volum, stripet volum og RAID 5 volum.
Operativsystemer
![Page 181: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/181.jpg)
Å knytte sammen datamaskiner i nettverk gir nye muligheter for lagring av data.
Lagring av data på servere er gjerne organisert på en annen måte enn for en enkelt PC.
Operativsystemer
![Page 182: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/182.jpg)
Et SAN (Storage Area Network) er et lagringsmedium som er tilgjengelig for servere via et nettverk slik at det ser ut som om lagringsmediet er plassert lokalt på serveren.
Operativsystemer
![Page 183: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/183.jpg)
En fordel med å bruke SAN er at flere servere kan bruke et og samme lagringsmedium.
Dette betegnes som lagringsdeling (Storage Sharing).
Lagringsdeling er økonomisk, forenkler administrasjon, og er mer effektivt om en server krasjer.
Operativsystemer
![Page 184: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/184.jpg)
iSCSI er en nettverksstandard basert på IP (Internet Protocol) for å få tilgang til lagringsmedia via et nettverk.
iSCSI = Internet Small Computer System Interface
Operativsystemer
![Page 185: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/185.jpg)
Hensikten med iSCSI er å forenkle dataoverføring over nettverk og behandle lagring av data over lange avstander.
iSCSI kan benyttes til å overføre data over LANs (Local Area Network), WANs (Wide Area Network) og Internett.
Operativsystemer
![Page 186: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/186.jpg)
iSCSI har blitt en populær måte å lagre data på i nettverk.
Dette fordi man kan lagre data på en fjernt stående server på samme måte som om det skjer på en lokal maskin.
Operativsystemer
![Page 187: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/187.jpg)
Operativsystemer
![Page 188: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/188.jpg)
Windows kan krasje av mange forskjellige årsaker.
At Windows krasjer vil si at Windows stopper opp og viser den blå skjermen.
Operativsystemer
![Page 189: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/189.jpg)
Den vanligste årsaken til at Windows krasjer er lagringsfeil.
Lagringsfeil kan skje når En driver får problemer på grunn av et
bufferlager ikke har plass til alle dataene det mottar.
Om en driver skriver til et lager som den har hatt, men som den har gitt fra seg.
Operativsystemer
![Page 190: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/190.jpg)
En adgangsovertredelse (Access Violation) kan få Windows til å krasje.
En adgangsovertredelse kan inntreffe
1.Hvis det forsøkes å skrive til en side i minnet som bare er tillatt å lese.
2.Hvis systemet forsøker å lese en adresse som ikke eksisterer.
Operativsystemer
![Page 191: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/191.jpg)
Ulike årsaker til at Windows kan krasje
En feil på en side i minnet kan føre til systemkrasj.
En feil på hardware kan føre til systemkrasj.
En fatal feil på filsystemet kan føre til systemkrasj.
Dårlig eller manglende strømtilførsel.
Operativsystemer
![Page 192: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/192.jpg)
Den blå skjermen (The Blue Screen of Death) vil vises i Windows når det har oppstått en kritisk systemfeil.
Systemet går da ned for å forhindre at det oppstår alvorlige feil som kan skade systemet.
Operativsystemer
![Page 193: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/193.jpg)
I følge Microsoft er årsaken til at den blå skjermen vises i Windows en følge av
1.Dårlig programmerte drivere.
2.Hardware som ikke fungerer som den skal.
Operativsystemer
![Page 194: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/194.jpg)
Den blå skjermen kan også være en følge av
Feil i strømforsyningen. Over oppvarmede komponenter. Hardware som benyttes på feilaktig
måte. Feil med minnet.
Operativsystemer
![Page 195: Input / output](https://reader033.fdocuments.net/reader033/viewer/2022061614/56815715550346895dc4b3c7/html5/thumbnails/195.jpg)
Windows er satt opp til å forsøke å gi informasjon om status for systemet når systemet krasjer.
Dette gjøres ved å skrive innholdet i minnet til fil (Memory Dump).
Operativsystemer