195
Operativsystemer

Input / output

  • Upload
    kapila

  • View
    66

  • Download
    0

Embed Size (px)

DESCRIPTION

Input / output. Operativsystemer. Input / output. 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. Input / output. - PowerPoint PPT Presentation

Citation preview

Page 1: Input / output

Operativsystemer

Page 2: Input / output

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

Input/output utstyr kan deles i to kategorier etter hvordan det overfører data

Blokk utstyr

Bokstav utstyr

Operativsystemer

Page 4: Input / output

Blokk utstyr (block devices) lagrer data i blokker.

Hardisker, CD-ROM og USB-penner er eksempler på blokk utstyr.

Operativsystemer

Page 5: Input / output

Hver blokk har en adresse.

Vanlig størrelse på en blokk er mellom 512 bytes og 32768 bytes.

Operativsystemer

Page 6: Input / output

Bokstav utstyr (Character Devices) er en annen type input/output utstyr.

Bokstav utstyr sender og mottar data som bokstaver.

Operativsystemer

Page 7: Input / output

Eksempler på bokstav utstyr er tastatur, mus, skrivere og nettverktilkoblinger.

Utstyr som ikke er disker er oftest bokstav utstyr.

Operativsystemer

Page 8: Input / output

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

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

I prosessor og minne behandles data veldig raskt.

Kommunikasjon med perifere enheter går til sammenligning svært langsomt.

Operativsystemer

Page 11: Input / output

Å 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

Å 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

I forbindelse med filer har systemet to tabeller.

Lokal filtabell

Global filtabell

Operativsystemer

Page 29: Input / output

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

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

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

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

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

Det er to måter for en tråd å forholde seg til input/output.

Blokkering

Ikke blokkering

Operativsystemer

Page 35: Input / output

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

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

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

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

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

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

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

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

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

Å 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

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

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

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

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

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

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

Når prosessor får et avbruddssignal slutter den med det som den holder på med og leser registeret.

Operativsystemer

Page 52: Input / output

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

DMA tillater visse hardware undersystemer å få direkte tilgang til minnet uavhengig av prosessor.

DMA = Direct Memory Access.

Operativsystemer

Page 54: Input / output

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

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

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

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

En driver er enten en del av operativsystemet eller en programbit laget for å kunne kommunisere med operativsystemet.

Operativsystemer

Page 59: Input / output

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Operativsystemer

Page 78: Input / output

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

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

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

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

Windows operativsystem støtter Interprosess kommunikasjon.

Følgende mekanismer i Windows kan benyttes til Interprosess kommunikasjon.

Operativsystemer

Page 83: Input / output

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

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

Et program som bruker COM kan kommunisere med en rekke andre komponenter.

COM = Component Object Model

Operativsystemer

Page 86: Input / output

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

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

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

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

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

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

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

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

Det er to typer Pipes

Anonymous Pipes

Named Pipes

Operativsystemer

Page 95: Input / output

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

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

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

Anonymous Pipes er en effektiv måte å overføre data mellom relaterte prosesser i samme program.

Operativsystemer

Page 99: Input / output

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

Operativsystemer

Page 101: Input / output

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

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

Man må unngå at noen kan endre data. Eksempler er

Data om lønnstrinn.

Data om karakterer.

Operativsystemer

Page 104: Input / output

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

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

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

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

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

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

Spionprogramvare forsøker å få tak i informasjon som det kan sende tilbake til opphavsmannen over Internett.

Operativsystemer

Page 111: Input / output

Spionprogramvare kan man få på maskinen bare ved å besøke en eller annen webside på internett.

Operativsystemer

Page 112: Input / output

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

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

Operativsystemer

Page 115: Input / output

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

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

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

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

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

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

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

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

Windows operativsystem har fått et høyt utviklet sikkerhetssystem.

Dette sikkerhetssystemet er basert på adgangskontroll og integritetsnivåer.

Operativsystemer

Page 124: Input / output

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

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

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

Hver prosess har en informasjon om pålitelighet, som forteller om bruker og hvilke privileger som prosessen har.

Operativsystemer

Page 128: Input / output

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

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

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

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

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

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

Operativsystemer

Page 135: Input / output

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

I Windows er det tre filsystemer som kan benyttes på harddisker. Det er

NTFS FAT32 FAT

Operativsystemer

Page 137: Input / output

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

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

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

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

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

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

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

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

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

Operativsystemer

Page 147: Input / output

Lagringsstyring definerer hvordan operativsystemer samspiller med disker og lagringsmedia.

Lagringsstyring = Storage Management.

Operativsystemer

Page 148: Input / output

Windows gir støtte for mange typer lagringsmedia. Det er

Harddisker USB-penner Bånddrev (Tape Drive)

Operativsystemer

Page 149: Input / output

Windows gir også støtte for nettverkslagring som

SAN (Storage Area Networks).

iSCSI (Internet Small Computer System Interface).

Operativsystemer

Page 150: Input / output

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Fordeler med fler partisjon volumer er ytelse, pålitelighet og størrelse på volumer.

Operativsystemer

Page 167: Input / output

Noen typer fler partisjon volumer er

Spredt volum Stripet volum RAID 1 volum RAID 5 volum

Operativsystemer

Page 168: Input / output

Når et volum består av flere partisjoner kalles det et spredt volum.

Spredt volum = Spanned Volume

Operativsystemer

Page 169: Input / output

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

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

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

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

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

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

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

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

Windows skiller mellom to typer disker

Standard disker (Basic Disks). Dynamiske disker (Dynamic Disks).

Operativsystemer

Page 178: Input / output

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

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

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

Å 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

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

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

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

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

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

Operativsystemer

Page 188: Input / output

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

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

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

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

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

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

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

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