Input / output
description
Transcript of Input / output
Operativsystemer
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
Input/output utstyr kan deles i to kategorier etter hvordan det overfører data
Blokk utstyr
Bokstav utstyr
Operativsystemer
Blokk utstyr (block devices) lagrer data i blokker.
Hardisker, CD-ROM og USB-penner er eksempler på blokk utstyr.
Operativsystemer
Hver blokk har en adresse.
Vanlig størrelse på en blokk er mellom 512 bytes og 32768 bytes.
Operativsystemer
Bokstav utstyr (Character Devices) er en annen type input/output utstyr.
Bokstav utstyr sender og mottar data som bokstaver.
Operativsystemer
Eksempler på bokstav utstyr er tastatur, mus, skrivere og nettverktilkoblinger.
Utstyr som ikke er disker er oftest bokstav utstyr.
Operativsystemer
Input og output har vært et problem innen operativsystemer.
En årsak er den store forskjellen i hastigheter i et datamaskinsystem.
Operativsystemer
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
I prosessor og minne behandles data veldig raskt.
Kommunikasjon med perifere enheter går til sammenligning svært langsomt.
Operativsystemer
Å 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
Å 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
Enheter som knyttes til en datamaskin er av mange forskjellige fabrikater.
For eksempel er det mange typer skjermer og skrivere.
Operativsystemer
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
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
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
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
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
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
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
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
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
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
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
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
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
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
I forbindelse med filer har systemet to tabeller.
Lokal filtabell
Global filtabell
Operativsystemer
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
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
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
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
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
Det er to måter for en tråd å forholde seg til input/output.
Blokkering
Ikke blokkering
Operativsystemer
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
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
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
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
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
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
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
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
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
Å 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
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
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
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
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
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
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
Når prosessor får et avbruddssignal slutter den med det som den holder på med og leser registeret.
Operativsystemer
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
DMA tillater visse hardware undersystemer å få direkte tilgang til minnet uavhengig av prosessor.
DMA = Direct Memory Access.
Operativsystemer
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
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
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
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
En driver er enten en del av operativsystemet eller en programbit laget for å kunne kommunisere med operativsystemet.
Operativsystemer
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
En datastruktur som kalles IORB er viktig for en driver.
IORB = Input Output Request Block
Denne datastrukturen inneholder parametere for I/O driveren.
Operativsystemer
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
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
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
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
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
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
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
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
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
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
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
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
RAID-teknologien er en serie av forskjellige metoder for lagring av data til flere disker.
RAID = Redundant Arrays of Inexpensive Disks
Operativsystemer
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
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
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
Operativsystemer
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
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
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
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
Windows operativsystem støtter Interprosess kommunikasjon.
Følgende mekanismer i Windows kan benyttes til Interprosess kommunikasjon.
Operativsystemer
Clipboard Component Object Model (COM) Data Copy Dynamic Data Exchange (DDE) File Mapping Mailslots Pipes Remote Procedure Call (RPC) Windows Sockets
Operativsystemer
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
Et program som bruker COM kan kommunisere med en rekke andre komponenter.
COM = Component Object Model
Operativsystemer
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
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
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
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
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
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
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
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
Det er to typer Pipes
Anonymous Pipes
Named Pipes
Operativsystemer
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
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
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
Anonymous Pipes er en effektiv måte å overføre data mellom relaterte prosesser i samme program.
Operativsystemer
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
Operativsystemer
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
Data som skal være hemmelig for utenverdenen kan være
Personlige opplysninger. Opplysninger om bedrifter. Opplysninger om land. Militære hemmeligheter.
Operativsystemer
Man må unngå at noen kan endre data. Eksempler er
Data om lønnstrinn.
Data om karakterer.
Operativsystemer
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
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
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
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
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
Spionprogramvare (Spyware) er programmer som kjører i bakgrunnen på datamaskinen og gjør ting som brukere av maskinen ikke er klar over.
Operativsystemer
Spionprogramvare forsøker å få tak i informasjon som det kan sende tilbake til opphavsmannen over Internett.
Operativsystemer
Spionprogramvare kan man få på maskinen bare ved å besøke en eller annen webside på internett.
Operativsystemer
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
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
Operativsystemer
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
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
Adgangskontroll for filer gjør at brukere som eier en fil, selv kan bestemme hvilke andre som skal få tilgang til filen.
Operativsystemer
Adresseromsforsvar for hver prosess betyr at hver prosess har beskyttede adresser.
Dette innebærer at andre prosesser ikke har tilgang til prosessen.
Operativsystemer
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
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
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
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
Windows operativsystem har fått et høyt utviklet sikkerhetssystem.
Dette sikkerhetssystemet er basert på adgangskontroll og integritetsnivåer.
Operativsystemer
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
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
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
Hver prosess har en informasjon om pålitelighet, som forteller om bruker og hvilke privileger som prosessen har.
Operativsystemer
Hvert objekt har en sikkerhetsdeskriptor knyttet til seg.
Denne sikkerhetsdeskriptoren inneholder adgangsopplysninger som kan nekte adgang for brukere eller grupper av brukere.
Operativsystemer
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
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
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
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
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
Operativsystemer
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
I Windows er det tre filsystemer som kan benyttes på harddisker. Det er
NTFS FAT32 FAT
Operativsystemer
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
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
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
exFAT som også er kalt FAT64 er nyere versjon av FAT.
exFAT er laget med tanke på mindre lagringsenheter som USB penner.
Operativsystemer
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
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
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
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
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
Operativsystemer
Lagringsstyring definerer hvordan operativsystemer samspiller med disker og lagringsmedia.
Lagringsstyring = Storage Management.
Operativsystemer
Windows gir støtte for mange typer lagringsmedia. Det er
Harddisker USB-penner Bånddrev (Tape Drive)
Operativsystemer
Windows gir også støtte for nettverkslagring som
SAN (Storage Area Networks).
iSCSI (Internet Small Computer System Interface).
Operativsystemer
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
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
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
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
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
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
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
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
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
Volumer brukt av servere vil ofte strekke seg over flere harddisker.
Hensikten med å bruke flere harddisker er å øke lesehastigheten og sikkerheten.
Operativsystemer
En harddisk kan deles opp i partisjoner.
En partisjon er en del av en harddisk.
Hver partisjon kan fungere som en egen disk.
Operativsystemer
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
Partisjonsbehandleren (Partition Manager) har som oppgave å lage, slette og behandle partisjoner.
Partisjonsbehandleren sørger for at alle partisjoner har en unik ID.
Operativsystemer
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
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
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
Fordeler med fler partisjon volumer er ytelse, pålitelighet og størrelse på volumer.
Operativsystemer
Noen typer fler partisjon volumer er
Spredt volum Stripet volum RAID 1 volum RAID 5 volum
Operativsystemer
Når et volum består av flere partisjoner kalles det et spredt volum.
Spredt volum = Spanned Volume
Operativsystemer
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
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
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
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
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
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
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
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
Windows skiller mellom to typer disker
Standard disker (Basic Disks). Dynamiske disker (Dynamic Disks).
Operativsystemer
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
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
Det er nødvendig å bruke dynamiske disker om man skal bruke fler partisjon volumer som spredt volum, stripet volum og RAID 5 volum.
Operativsystemer
Å 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
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
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
iSCSI er en nettverksstandard basert på IP (Internet Protocol) for å få tilgang til lagringsmedia via et nettverk.
iSCSI = Internet Small Computer System Interface
Operativsystemer
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
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
Operativsystemer
Windows kan krasje av mange forskjellige årsaker.
At Windows krasjer vil si at Windows stopper opp og viser den blå skjermen.
Operativsystemer
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
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
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
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
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
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
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