40
Forelesning 7 Operativsystemer 1 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. Typer input/output utstyr Input/output utstyr kan deles i to kategorier etter hvordan det overfører data 1. Blokk utstyr 2. Bokstav utstyr 1. Blokk utstyr Blokk utstyr (Block Devices) lagrer data i blokker. Harddisker, CD-ROM og USB-penner er eksempler på blokk utstyr. Hver blokk har en adresse. Vanlig størrelse på en blokk har vært mellom 512 bytes og 32768 bytes. 2. Bokstav utstyr Bokstav utstyr (Character Devices) er en annen type input/output utstyr. Bokstav utstyr sender og mottar data som bokstaver. Eksempler på bokstav utstyr er tastatur, mus, skrivere og nettverkstilkoblinger. Utstyr som ikke er disker er oftest bokstav utstyr.

Input / output - hiof.noeinark/itf22506mod2/Opsys_foreles7_2012.pdf · 2013. 11. 20. · 1. Å skrive til skjerm er en langsom prosess. 2. Å skrive til fil er en langsom prosess

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

  • Forelesning 7 Operativsystemer

    1

    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.

    Typer input/output utstyr

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

    data

    1. Blokk utstyr

    2. Bokstav utstyr

    1. Blokk utstyr

    Blokk utstyr (Block Devices) lagrer data i blokker.

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

    Hver blokk har en adresse.

    Vanlig størrelse på en blokk har vært mellom 512 bytes og 32768 bytes.

    2. Bokstav utstyr

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

    Bokstav utstyr sender og mottar data som bokstaver.

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

    nettverkstilkoblinger.

    Utstyr som ikke er disker er oftest bokstav utstyr.

  • Forelesning 7 Operativsystemer

    2

    Problemet med input/output

    Input og output har vært et problem innen operativsystemer.

    En årsak er den store forskjellen i hastigheter i et datamaskinsystem.

    Noen hastigheter for ulikt utstyr

    Tastatur 10 bytes / sekund

    Mus 100 bytes / sekund

    72x CD-ROM 11 Mb / sekund

    SAS disk 129 Mb / sekund

    USB 3.0 400 MB/ sekund

    PCI buss 528 MB / sekund

    I prosessor og minne behandles data veldig raskt.

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

    langsomt.

    1. Å skrive til skjerm er en langsom prosess.

    2. Å skrive til fil er en langsom prosess.

    3. En bruker som skriver på et tastatur venter ofte flere sekunder

    før han taster et tegn.

    Må unngå venting ved 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.

  • Forelesning 7 Operativsystemer

    3

    Forskjellige fabrikater

    Enheter som knyttes til en datamaskin kan være av mange forskjellige

    fabrikater.

    For eksempel er det mange typer skjermer og skrivere.

    Det ville være tungvint hvis programmerere skulle lage kode for hver type

    skjerm eller skriver som skulle bruke programmet.

    Operativsystemet tar seg av kommunikasjon med input/output

    enheter

    For at det ikke skal bli tungvint for programmer å kommunisere med I/O

    enheter tar operativsystemet seg av dette.

    En programmerer kan for eksempel bruke

    WriteLine()

    i et program uten å behøve tenke på hva slags type skjerm som er knyttet

    til datamaskinen.

    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.

  • Forelesning 7 Operativsystemer

    4

    Operativsystemet tar seg av feil ved kommunikasjon

    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.

    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.

    Noen feil som kan oppstå ved kommunikasjon

    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.

    I/O subsystem

    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.

  • Forelesning 7 Operativsystemer

    5

    Datastrømmer

    Før et program kan benytte en input/output enhet må det åpnes en

    forbindelse til den som kalles en datastrøm (Stream).

    For eksempel skal et program åpne en fil benyttes funksjonskall som

    open(pathname, flags);

    Pathname er stien til katalogen. Flags angir for eksempel om man skal

    lese eller skrive til filen.

    Tre datastrømmer

    Når en ny prosess starter blir det automatisk opprettet tre datastrømmer

    for prosessen.

    1. Standard input // Tastatur

    2. Standard output // Skjerm

    3. Standard error // Skjerm

    Åpning av en filer

    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.

  • Forelesning 7 Operativsystemer

    6

    Behandling av åpne filer

    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.

    Rettigheter til filer

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

    Fildeskriptor

    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.

    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.

  • Forelesning 7 Operativsystemer

    7

    To typer fil tabeller

    I forbindelse med filer har systemet to typer tabeller.

    1. Lokal fil tabell

    2. Global fil tabell

    1. Lokal fil tabell

    Systemet har en array med datastrukturer som kalles lokal fil tabell.

    Den lokale fil tabellen inneholder data om filen som er gitt med åpningen

    av filen.

    Den lokale fil tabellen inneholder data som er relevante for prosessen som

    har åpnet filen.

    2. Global fil tabell

    Det er også informasjon om åpne filer som ikke er av interesse for

    prosessen som har åpnet filen.

    Slike data lagres i en global fil tabell.

    Input/output medfører venting

    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.

    Istedenfor å vente på input/output operasjoner ville det kanskje være

    bedre for en tråd å gjøre noe annet.

  • Forelesning 7 Operativsystemer

    8

    Venting ved input

    Men å la en tråd gjøre noe annet ved venting på input lar seg i mange

    tilfeller ikke gjøre.

    Har man for eksempel i et program skrevet ReadLine() for å få inn noen

    data, kan ikke programmet fortsette før det har lest inn dataene.

    Venting ved 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.

    Måter å forholde seg til input/output

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

    1. Blokkering

    2. Ikke blokkering

    1. Blokkering

    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.

    2. Ikke blokkering

    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.

  • Forelesning 7 Operativsystemer

    9

    «Ikke blokkering» krever synkronisering

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

    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.

    Bruk av buffer

    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.

    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.

    Lukking av tilgang

    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.

  • Forelesning 7 Operativsystemer

    10

    Polling

    Vi skal nå se på hvordan operativsystemet kommuniserer med

    maskinvare.

    Det som skal skje er at signaler fra perifert utstyr som for eksempel

    tastatur skal overføres til datamaskinens minne.

    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 på engelsk for Polling.

    Ulemper ved Polling

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

    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.

    Kan bruke to registre

    For å løse dette problemet brukes to registre

    Et register som tar vare på tastetrykket.

    Et register som viser status. Det vil si om prosessor har lest

    registeret eller ikke.

    Ved Polling kontrollerer prosessor registrene med jevne mellomrom.

    Dette er imidlertid en tungvint metode fordi det er mange registre.

    Hver perifer enhet har registre.

  • Forelesning 7 Operativsystemer

    11

    Polling mangler synkronisering

    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.

    Derfor benyttes avbruddssignaler (Interrupts).

    Avbruddssignaler

    Avbruddssignaler (Interrupts) gjør at hver perifer enhet kan gi beskjed til

    prosessor om at nå er det noe nytt i registeret.

    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.

    Når prosessor får et avbruddssignal slutter den med det som den holder

    på med og leser registeret.

    DMA

    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.

    DMA tillater visse hardware undersystemer å få direkte tilgang til minnet

    uavhengig av prosessor.

    DMA = Direct Memory Access.

    Metoden DMA bruker liksom Polling et statusregister og har et

    avbruddsystem.

    Men DMA bruker ikke noe dataregister.

    Dataene overføres direkte fra filen til minnet.

  • Forelesning 7 Operativsystemer

    12

    Fordeler med DMA

    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.

    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.

    Drivere

    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.

    En driver er enten en del av operativsystemet eller en programbit laget for

    å kunne kommunisere med operativsystemet.

    Device Switch

    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.

  • Forelesning 7 Operativsystemer

    13

    IORB

    En datastruktur som kalles IORB er viktig for en driver.

    IORB = Input Output Request Block

    Denne datastrukturen inneholder parametere for I/O driveren.

    Informasjon i en IORB kan være

    1. Flagg som indikerer om lese, skrive, …

    2. Metode som indikerer om ferdig.

    3. Plassering av data minnet.

    4. Antall bytes som skal overføres.

    5. Den perifere enhetens nummer.

    6. Start blokk for enhet.

    Kall på driver

    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.

    Organisering av drivere

    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.

  • Forelesning 7 Operativsystemer

    14

    Organisering av harddisker

    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.

    Harddisker består av blokker

    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.

    Filbehandleren

    For å ta seg av filer og filbehandling har operativsystemet en filbehandler

    (File Manager).

    Oppgaven til filbehandleren er å organisere filer slik at bruker kan få tak i

    disse raskt og lett.

  • Forelesning 7 Operativsystemer

    15

    RAID

    RAID-teknologien er en serie av forskjellige metoder for lagring av data til

    flere disker.

    RAID = Redundant Arrays of Inexpensive Disks

    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.

    RAID 5

    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.

    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.

  • Forelesning 7 Operativsystemer

    16

    Interprosess kommunikasjon

    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.

    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.

    Programmene er på samme PC

    Interprosess kommunikasjon på en og samme PC er ganske greit.

    Operativsystemet kan kopiere informasjon fra minnet til tråden som

    sender over til minnet til den mottakende tråden.

    Programmene er på forskjellige PC-er

    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.

  • Forelesning 7 Operativsystemer

    17

    Mekanismer som støtter Interprosess kommunikasjon

    Windows operativsystem støtter Interprosess kommunikasjon.

    Følgende mekanismer i Windows kan benyttes til Interprosess

    kommunikasjon.

    1. Clipboard

    2. Component Object Model (COM)

    3. Data Copy

    4. Dynamic Data Exchange (DDE)

    5. File Mapping

    6. Mailslots

    7. Pipes

    8. Remote Procedure Call (RPC)

    9. Windows Sockets

    Utklippstavla

    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.

    COM

    Et program som bruker COM kan kommunisere med en rekke andre

    komponenter.

    COM = Component Object Model

    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.

  • Forelesning 7 Operativsystemer

    18

    Data Copy

    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.

    DDE

    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.

    File Mapping

    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.

    Mailslots

    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.

  • Forelesning 7 Operativsystemer

    19

    RPC

    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.

    Windows Sockets

    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.

    Pipes

    Pipes er en enkel modell for Interprosess kommunikasjon.

    Data skrives til en buffer av en prosess slik at en annen prosess kan lese

    dataene.

    Det er to typer Pipes

    Anonymous Pipes

    Named Pipes

  • Forelesning 7 Operativsystemer

    20

    Anonymous Pipes

    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.

    Named Pipes

    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.

    Sammenligning Anonymous Pipes og Named Pipes

    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.

    Anonymous Pipes er en effektiv måte å overføre data mellom relaterte

    prosesser i samme program.

    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.

  • Forelesning 7 Operativsystemer

    21

    Sikkerhet

    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.

    Hemmelige data

    Data som skal være hemmelig for utenverdenen kan være

    1. Personlige opplysninger.

    2. Opplysninger om bedrifter.

    3. Opplysninger om land.

    4. Militære hemmeligheter.

    Unngå endring av data

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

    1. Data om lønnstrinn.

    2. Data om karakterer.

  • Forelesning 7 Operativsystemer

    22

    Eksempel på misbruk av datasystemer

    Man må unngå at noen kan komme inn på et datasystem og misbruke det.

    Et eksempel på dette er å gjøre hjemmemaskiner til zombies.

    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.

    Årsaker til at noen trenger inn på datasystemer

    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.

    Årsaker til tap av data

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

  • Forelesning 7 Operativsystemer

    23

    Beskyttelse av data

    Datamaskiner må også beskyttes mot programmer som kan infiltrere og

    gjøre skade på datasystemer.

    Slike programmer er virus, trojanske hester, ormer og spionprogramvare.

    Spionprogramvare

    Spionprogramvare (Spyware) er programmer som kjører i bakgrunnen på

    datamaskinen og gjør ting som brukere av maskinen ikke er klar over.

    Spionprogramvare forsøker å få tak i informasjon som det kan sende

    tilbake til opphavsmannen over Internett.

    Spionprogramvare kan man få på maskinen bare ved å besøke en eller

    annen webside på internett.

    Sikkerhet er viktig

    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.

    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.

  • Forelesning 7 Operativsystemer

    24

    Sikkerhet i Windows

    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.

    Sikker logg inn

    Sikker log inn 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.

    Adgangskontroll for filer

    Adgangskontroll for filer gjør at brukere som eier en fil, selv kan

    bestemme hvilke andre som skal få tilgang til filen.

    Adresseroms forsvar for hver prosess

    Adresseroms forsvar for hver prosess betyr at hver prosess har

    beskyttede adresser.

    Dette innebærer at andre prosesser ikke har tilgang til prosessen.

  • Forelesning 7 Operativsystemer

    25

    Nullstilling av data

    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.

    Auditing

    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.

    Forbedring av sikkerhet

    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.

    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.

    Høyt utviklet sikkerhetssystem

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

    Dette sikkerhetssystemet er basert på adgangskontroll og

    integritetsnivåer.

  • Forelesning 7 Operativsystemer

    26

    SID

    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.

    Istedenfor å bruke navn til å identifisere slike enheter bruker Windows

    operativsystem en SID (Security Identitet) som er et nummer.

    Hver SID er tenkt å være unik i hele verden.

    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.

    Sikkerhetsdeskriptor

    Hver prosess har en informasjon om pålitelighet, som forteller om bruker

    og hvilke privileger som prosessen har.

    Hvert objekt har en sikkerhetsdeskriptor knyttet til seg.

    Denne sikkerhetsdeskriptoren inneholder adgangsopplysninger som kan

    nekte adgang for brukere eller grupper av brukere.

    Sentralt i sikkerheten i Windows er beskyttelse av objekter og adgang til

    objekter.

    Objekter

    Objekter som blir beskyttet i Windows operativsystem inkluderer filer,

    prosesser, tråder, hendelser, mutexer, semaforer, delt minne,

    input/output porter, printere, med mer.

    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.

  • Forelesning 7 Operativsystemer

    27

    Microsoft Update

    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.

    Windows Defender

    Windows Defender er et program fra Microsoft som har som oppgave å

    forhindre, fjerne og isolere spionprogrammer i Microsoft Windows.

    Microsoft Anti Spyware

    Microsoft Anti Spyware er et annet navn på Windows Defender.

    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.

  • Forelesning 7 Operativsystemer

    28

    Filsystemer i Windows

    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.

    Fil systemer i Windows

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

    Det er

    NTFS

    FAT32

    FAT

    FAT

    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.

    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.

  • Forelesning 7 Operativsystemer

    29

    FAT32

    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.

    exFAT

    exFAT som også er kalt FAT64 er nyere versjon av FAT.

    exFAT er laget med tanke på mindre lagringsenheter som USB penner.

    NTFS

    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.

    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.

    Filnavn i NTFS

    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.

  • Forelesning 7 Operativsystemer

    30

    CDFS

    Windows støtter et filsystem for CD-ROM som kalles CDFS.

    CDFS = Compact Disk File System

    CDFS er en filsystemstandard for optiske disk medier.

    UDF

    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.

  • Forelesning 7 Operativsystemer

    31

    Lagringsstyring i Windows

    Lagringsstyring definerer hvordan operativsystemer samspiller med disker

    og lagringsmedia.

    Lagringsstyring = Storage Management.

    Støtte for lagringsmedia

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

    Harddisker

    USB-penner

    Bånddrev (Tape Drive)

    Støtte for nettverkslagring

    Windows gir også støtte for nettverkslagring som

    SAN (Storage Area Networks).

    iSCSI (Internet Small Computer System Interface).

    Harddisker

    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.

    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.

  • Forelesning 7 Operativsystemer

    32

    Allokering av plass

    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.

    Sammenhengende allokering

    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.

    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.

    Linket liste

    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.

    En ulempe med linket liste er at om en peker ikke er riktig plassert mister

    man alle blokkene som kommer etter.

  • Forelesning 7 Operativsystemer

    33

    File Map og indeksert allokering

    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.

    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.

    Organisering av data

    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.

    Flere harddisker

    Volumer brukt av servere vil ofte strekke seg over flere harddisker.

    Hensikten med å bruke flere harddisker er å øke lesehastigheten og

    sikkerheten.

    Partisjoner

    En harddisk kan deles opp i partisjoner.

    En partisjon er en del av en harddisk.

    Hver partisjon kan fungere som en egen disk.

    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.

  • Forelesning 7 Operativsystemer

    34

    Partisjonsbehandleren

    Partisjonsbehandleren (Partition Manager) har som oppgave å lage, slette

    og behandle partisjoner.

    Partisjonsbehandleren sørger for at alle partisjoner har en unik ID.

    Volumer

    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.

    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.

    Typer volumer

    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.

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

    volumer.

  • Forelesning 7 Operativsystemer

    35

    Typer fler partisjon volumer

    Noen typer fler partisjon volumer er

    Spredt volum

    Stripet volum

    RAID 1 volum

    RAID 5 volum

    Spredt volum

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

    Spredt volum = Spanned Volume

    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.

    Stripet volum

    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.

    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.

  • Forelesning 7 Operativsystemer

    36

    RAID 1 volum

    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.

    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.

    RAID 5 volum

    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.

    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.

    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.

  • Forelesning 7 Operativsystemer

    37

    Typer disker

    Windows skiller mellom to typer disker

    Standard disker (Basic Disks).

    Dynamiske disker (Dynamic Disks).

    Standard disk

    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.

    Dynamisk disk

    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.

    Det er nødvendig å bruke dynamiske disker om man skal bruke fler

    partisjon volumer som spredt volum, stripet volum og RAID 5 volum.

    Lagring av data i nettverk disk

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

  • Forelesning 7 Operativsystemer

    38

    SAN

    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.

    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.

    iSCSI

    iSCSI er en nettverksstandard basert på IP (Internet Protocol) for å få

    tilgang til lagringsmedia via et nettverk.

    iSCSI = Internet Small Computer System Interface

    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.

    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.

  • Forelesning 7 Operativsystemer

    39

    Na r Windows krasjer

    Windows kan krasje av mange forskjellige årsaker.

    At Windows krasjer vil si at Windows stopper opp og viser den blå

    skjermen.

    Lagringsfeil

    Den vanligste årsaken til at Windows krasjer er lagringsfeil.

    Lagringsfeil kan skje når

    1. En driver får problemer på grunn av et bufferlager ikke har

    plass til alle dataene det mottar.

    2. Om en driver skriver til et lager som den har hatt, men

    som den har gitt fra seg.

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

    Årsaker til krasj

    Ulike årsaker til at Windows kan krasje

    En feil på en side i minnet kan føre til systemkrasj.

    En feil på maskinvare kan føre til systemkrasj.

    En fatal feil på filsystemet kan føre til systemkrasj.

    Dårlig eller manglende strømtilførsel.

  • Forelesning 7 Operativsystemer

    40

    Den blå skjermen

    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.

    Den blå skjermen vil vises når

    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.

    Den blå skjermen kan også være en følge av

    1. Feil i strømforsyningen.

    2. Over oppvarmede komponenter.

    3. Hardware som benyttes på feilaktig måte.

    4. Feil med minnet.

    Dumping av minne til fil

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