Kapittel 1. Datasystem. 1.1 Behandling



Like dokumenter
Datamaskinens oppbygning og virkemåte

Hovedkort, brikkesett og busser

Internminnet. Håkon Tolsby Håkon Tolsby

Del 2. Bak skallet. Avsette minne til et spesifikt OS Teste harddisk under oppstart Sette opp system logger

Vi anbefaler at du setter deg litt inn i maskinen på forhånd. Det er en DELL Optiplex 620.

2. Hvor mye Internminne har den? Svar: 2GB

Internminnet. Håkon Tolsby Håkon Tolsby

Memory Access) Figure: DMA kommuniserer med disk-controlleren og sørger for at det OS ønsker blir kopiert mellom harddisken og internminnet.

! Ytelsen til I/O- systemer avhenger av flere faktorer: ! De to viktigste parametrene for ytelse til I/O er:

Martin Olsen, Lars- Petter Ahlsen og Jon- Håkon Rabben

Kjenn din PC (Windows 7)

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

Datamaskinens oppbygning

Setup programmet brukes til å endre konfigurasjonen av BIOS og til å vise resultatene fra

Clock speed 3.20GHz Bus Speed 800MHz L2 Cache 4MB 2 Cores Ikke Hyperthreading 64 BIT

Hvorfor lære om maskinvare*?

Oppgave lab. 2. Hvor mye Internminne har den? - Maskinen har 2GB internminne.

INF2270. Input / Output (I/O)

Oppsummering av digitalteknikkdelen

Oppgave 8.1 fra COD2e

Dagens temaer. Mer om cache-hukommelse (kapittel 6.5 i Computer Organisation and Architecture ) RAM ROM. Hukommelsesbusser

Dagens tema. Flere teknikker for å øke hastigheten

Dagens temaer. Cache (repetisjon) Cache (repetisjon) Cache (repetisjon)

Nadine Pedersen GRIT Datamaskinen- kjenn din Mac

Laboppgave. Sondre Gulichsen, Li Lisan Linder. 1. Hva slags CPU har maskinen? Beskriv de tekniske egenskapene ved CPU en.

Dagens temaer. Fra kapittel 4 i Computer Organisation and Architecture. Kort om hurtigminne (RAM) Organisering av CPU: von Neuman-modellen

Tonje Thøgersen, Daniel Svensen Sundell, Henrik Smedstuen

Marius Rogndalen Karlsen, Informatikk Lab oppgave

INF2270. Input / Output (I/O)

Del 1 Setup - BIOS Oppgaver: 1. Hva slags CPU har maskinen? Beskriv de tekniske egenskapene ved CPU en.

Kjenn din pc (Windows Vista)

Dagens temaer. Kort repetisjon. Mer om cache (1) Mer om cache (2) Read hit. Read miss. Write hit. Hurtig minne. Cache

Bits&Bytes Om datamaskinens oppbygging og virkemåte. TOS - IKT Tirsdag 4. desember 2012 Seksjon for digital kompetanse

Del1: Setup: BIOS. 2. Hvor mye Internminne har den? 3GB DDR2

Dagens temaer. Dagens emner er hentet fra Englander kapittel 11 (side ) Repetisjon av viktige emner i CPU-design.

Dataeskeleser med databrikke

Fahad Said Data ingeniør 2015 GRIT

Generelt om operativsystemer

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Patrick Fallang (Dataingeniør) Lab Oppgave: Kjenn Din Egen PC (XP)

DEL 1 Setup BIOS Stian A. Johansen Terje Bratlie Espen Torås

Lab oppgave gruppe 2 IT-ledelse (Jonas F, Robin PN, Aksel S, Magnus M, Erik I)

Fakultet for informasjonsteknologi, Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 %

LAB OPPGAVE. Del 1 Setup Bios

Tildeling av minne til prosesser

NorthIce videobriller

Innhold. Oversikt over hukommelseshierakiet. Ulike typer minne. Innledning til cache. Konstruksjon av cache Hukommelseshierarki-1 1

1. Systemsikkerhet Innledning. Innhold

JahtiJakt videobriller

Singletasking OS. Device minne Skjerm minne. Brukerprogram. Brukerdata/heap. Stack. Basis for flerprosess-systemer.

D: Ingen trykte eller håndskrevne hjelpemiddel tillatt. Bestemt, enkel kalkulator tillatt.

Våre tekniske konsulenter kan bistå slik at din bedrift får en best mulig tilpasset Handyman installasjon ut fra deres infrastruktur.

Into da BIOS<3. Bak Skallet

Kjenn din PC (Windows7, Vista)

1)Gjør om desimal tallene til binære: a) 4 =0100. b) 17 = c) 34 = d) 128 = e) 255 =

Funksjonalitet og oppbygning av et OS (og litt mer om Linux)

Tildeling av minne til prosesser

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

Kjenn din PC (Windows7)

VMware ESX og krav til hardware

1. Arduino Bluetooth 2 HC-05 modul

Input/Output. når tema pensum. 13/4 busser, sammenkobling av maskiner /4 PIO, DMA, avbrudd/polling

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Kjenn din PC(windows7)

4. Prøv om du kan finne en tastatur-snarvei for å komme til dette kontrollpanelet.

Introduksjon til kurset og dets innhold

Generelt om operativsystemer

Kjenn din PC (Windows vista)

6105 Windows Server og datanett Jon Kvisli, HSN Skriveradministrasjon - 1. Utskrift i nettverk

Her velger dere først System and Security og deretter System.

Kjenn din PC (Windows7)

Bussar. Tilgong til buss (Three state buffer) Synkron / Asynkron Serielle bussar Parallelle bussar Arbitrering: Kven kontrollerar bussen

Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 %

Dagems temaer. kapittel 4 i Computer Organisation and Architecture. av CPU: von Neuman-modellen. Transfer Language (RTL) om hurtigminne (RAM)

HURTIGVEILEDNING FOR. Installasjon av Nokia Connectivity Cable Drivers

6105 Windows Server og datanett

Hukommelseshierarki. 16/3 cache /3 virtuell hukommelse in 147, våren 1999 hukommelseshierarki 1

Eksterne enheter. Dokumentdelenummer: Denne håndboken beskriver hvordan du bruker eksterne enheter med maskinen.

BIPAC-711C2 / 710C2. ADSL Modem / Router. Hurtigstartguide

3. - Corsair Vengeance DDR3 1600MHz 8GB CL9 Prøv om du kan finne en tastatur-snarvei for å komme til dette kontrollpanelet.

Løsningsforslag for utvalgte oppgaver fra kapittel 9

Side 1 av 5. post@infolink.no. Infolink Datatjenester AS Ensjøveien 14, 0655 Oslo. Telefon Telefax

Filsystemet fra innsiden

Oppgave 1 & 2: Først gå inn på «Min Datamaskin/ Computer» Høyreklikk på vinduet uten å være nær noen dokumenter o.l.

i en enebolig MÅL Praktisk oppgave Etter at du har arbeidet med dette kapitlet, skal du kunne

Innhold. Innledning til Input/Output. Ulike typer Input/Output. Input/Output internt i datamaskinen. Input/Output mellom datamaskiner

Kjenn din PC (Windows Vista)

hvor mye hurtigminne (RAM) CPU en kan nyttiggjøre seg av. mens bit ene betraktet under ett kalles vanligvis et ord.

LabOppgave. 1. Hva slags CPU har maskinen? Beskriv de tekniske egenskapene ved CPU en.

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Servere. Katalog Åpningstid: 09:00-17:00 alle hverdager.

Samsung Universal Print Driver Brukerhåndbok

Oppløsning vil si antallet pixler det er i skjermen, i min skjerm er det 2560x1600px.

TDT4258 Eksamen vår 2013

COLOR LASERJET ENTERPRISE CM4540 MFP-SERIEN. Installeringsveiledning for programvare

Dagens temaer. Praktisk anvendelse: Satellittkommunikasjon. eksempler på bruk av assembler/c/arkitektur teknikker for å øke hastigheten

Fakultet for informasjonsteknologi, Oppgave 1 Flervalgsspørsmål ( multiple choice ) 15 %

SOLICARD ARX. Adgangssystemet som gir deg ubegrenset frihet. An ASSA ABLOY Group company

Eksterne enheter. Brukerhåndbok

TDT4160 Datamaskiner Grunnkurs Gunnar Tufte

Transkript:

Kapittel 1 Datasystem Datamaskinen er sentral i et IT-anlegg. Den finnes i mange varianter, store og små; for ingen, en eller flere sluttbrukere (personer); for ett, få eller mange formål. Dette kapittel gir en gjennomgang av typiske datasystem og hva som er interessant når det gjelder drift av disse. 1.1 Behandling En datamaskin består av programvare og maskinvare. Ved ankomst til organisasjonen er maskinen et resultat av produsentens og deretter leverandørens vilje. Deretter kan en etter behov, ressurser (penger, evne) og vanligvis innenfor garantiavtalenes begrensning, endre og tilpasse maskinen: Legge til, endre, fjerne både programvare og maskinvare. Selve behandlingen (prosesseringen) skjer i det som vi ikke ser, i det som oftest er fastmontert maskinvare skjult inne boksen der alle kablene festes, altså kablene som leder til de ytre enheter. I det indre ligger en mengde sammenkoblede kretskort (circuit boards), hvert kort har en mengde integrerte kretser (integrated circuits). Kretsene er satt sammen slik at de utfører instruksjoner som igjen er ledd i et større program. Dette er altså kretser som er fastbrent fra produsent, som i liten grad kan endres, disse programmene og de fysiske enheter de er innbrent på kalles hardware. Fremdriften i integrerte kretser skapes av en klokke som ved hvert tikk gir signal til prosessorer som da kan gå videre. Klokken kan ikke tikke raskere enn prosessorene kan arbeide, men generelt gjelder at jo oftere, jo raskere vil arbeidet skje. I en maskin vil ulike prosessorer arbeide med ulik hastighet, slik at noen bare avanserer ved hvert n te tikk. De fleste komponenter, ytre og indre enheter, er avhengig av elektrisk strøm, så et datasystem har en eller annen form for strømtilførsel som underbygger all aktivitet i maskinen. 1

2 KAPITTEL 1. DATASYSTEM 1.2 Lager- og Programtyper integrerte kretser Det meste av maskinvaren er uforanderlig hardware. Logikken (logic) er fast (wired logic). Endringer i kretskortets utlegging krever at en endrer produksjonsutstyret. Effektiv produksjon krever at slike endringer skjer sjelden. En annen mindre fast type program ligger i ROM (Read Only Memory), som er minne som kun kan leses fra (ikke endres). Idet kortet produseres legges et program inn i de ROM som kortet innehar. Produsenten har mere fleksibilitet med ROM-basert program, da han underveis kan endre det programmet som legges i ROM-ene. Etter at kortet er produsert kan programmet ikke endres, bare leses. Hvis programmet skal kunne endres etter kortproduksjon, må det ligge i et Programmerbart ROM (PROM), slike program kalles firmware. En driftsansvarlig kan endre program i en maskin s PROM etter behov, noe som vanligvis krever at maskinen stoppes, endres og restartes. Under kjøring vil hverken ROM eller PROM kunne endre innhold. Under produksjon skal maskinen fungere som kontormaskin, tjelav produsent bruker stabilt ROM PROM RAM lager høy hvem justerer lagerinnhold? justerbarnet FIGUR 1.1: Lagertyper i en maskin. Innhold i krets, ROM og PROM bestemmes ved produksjon. Under bruk (kjøring) vil brukeren s aktivitet bestemme innhold i RAM og stabilt lager. Driftsansvarlig vil også ha kontroll på PROM og stabilt lager, samt at kretskort jo kan byttes ut etter behov. nermaskin i et større IT-anlegg eller annet, og må derfor kjøre ulike programmer. Disse vil ikke kunne ligge permanent i et ROM eller PROM, og legges derfor i et mye mer dynamisk minne som kalles RAM (Random Access Memory) som kan endres kontinuerlig, etter behov. RAM er vanligvis lokalisert på maskinens hovedkort (moderkort, motherboard) og fungerer som arbeidslager for maskinens hovedprosessor, CPU Central Processing Unit. Denne kategorien program som ligger i RAM, kalles mest presist for mykvare (software), fordi den er mykest, mest fleksibel i daglig bruk. 1 Blant mykvaren er det operativsystemet som starter først, men etterhvert startes også tjenere (servere) og andre systemprogram, samt sluttbrukernes program (tekstbehandlere, websurfere, chatteprogram), se Kap. 1.9 for detaljer om programfloraen i en maskin. Mykvaren ligger altså i RAM under kjøring. Ett problem med RAM er at innholdet ødelegges når strømforsyningen brytes, f.eks. ved at maskinen slås av 1 Selv om alle de nevnte program (hardware, firmware og software) egentlig kan kalles programvare, er det iallefall i Norge, mykvaren en tenker på når en sier programvare.

1.2. LAGER- OG PROGRAMTYPER 3 femto 10 15 billiard te-del pico 10 12 billion te-del nano 10 9 milliard te-del milli 10 6 million te-del mikro 10 3 tusen-del (base) 10 0 en deka 10 1 ti hekto 10 2 hundre kilo 10 3 tusen mega 10 6 million giga 10 9 milliard tera 10 12 billion TABELL 1.1: De mest brukte prefix ved opplesing av tall i datasystem. (RAM er volatile). ROM og PROM mister ikke innholdet tross strømbrudd (er non-volatile). Dette krever at mykvaren mellom kjøring, ligger lagret i et stabilt lager som ikke krever strøm (også non-volatile). Her brukes da ulike typer disker og tape som diskuteres litt senere. Mykvaren må flyttes fra slikt stabilt lager, inn til RAM, når den skal kjøres, mens programmene i ROM og PROM ligger direkte tilgjengelig. Stabile lager oppfattes ofte som ytre enheter til en maskin. Det kan være en fastmontert harddisk i en fast tilkoblet diskstasjon. De kan også være løse lager som floppydisker, CD-plater, DVD-plater og tapekassetter. Disse er tilgjengelig sålenge de er montert korrekt inn i en egnet lese- og/eller skrivestasjon. 1.2.1 Mengdebegrep For å studere kvalitetsvurderingen av datasystem fordres det at en behersker en rekke mengdebegrep som anvendes på data-munne. Mye er basert på binære system, annet er basert på titalls-systemet. Referansesystemet bruker også greske prefix for å forenkle opplesingen av store tall, se Tabell 1.1. Under vises tabell over 2 k, hvor stor mengde dette tilsvarer, og hvordan det omtales. Dette er relevant for diskusjoner om lager (cache, hurtigminne, disk og andre stabile lager). Her er 1 MB lik 1024 KB, eller 1048576 B; B står for Byte eller 8 bit. For kommunikasjonslinjer vil derimot 1 Mbit/s (megabit i sekundet) bety en million bit i sekundet, og ikke 1048576 bit i sekundet. En gigabit-linje sender 10 9 bit i sekundet. Omregnet til Byte blir dette henholdsvis 125,000 (125 tusen Byte, ikke 125 KB) og 1,250,000 (1.25 million byte, ikke 1.25 MB)

4 KAPITTEL 1. DATASYSTEM Titalls-systemet brukes også for prosessering. En prosessor for flyttalls-beregninger kan f.eks. utføre 1 megaflops. Dette betyr en million FLOPS (floating point operations per second), altså 1,000,000 FLOPS og ikke 1,048,576 FLOPS. Det samme gjelder andre prosessorer; behandlingsraten uttrykkes i hertz; dagens avis (2002) viser annonser med 2.2Ghz Intel prosessorer. Dette er 2.2 milliard (2.2 10 9 i scientific notation) svingninger (operasjoner) per sekund, og uttrykker den klokkerate som forsynes til prosessoren (det er klokketikkene som dytter prosessoren fremover). k 2 k betegnelse 0 1 1 2 2 4 3 8 8 256 9 512 10 1024 1 KB 11 2048 2 KB 12 4096 4 KB 13 8192 8 KB 14 16384 16 KB 15 32768 32 KB 16 65536 64 KB 17 131072 128 KB 18 262144 256 KB 19 524288 512 KB 20 1048576 1024 KB (1 MB) 21 2097152 2048 KB (2 MB) 22 4194304 4096 KB (4 MB) 23 8388608 8192 KB (8 MB) 24 16777216 16384 KB (16 MB) 25 33554432 32 MB 26 67108864 64 MB 27 134217728 128 MB 28 268435456 256 MB 29 536870912 512 MB 30 107374182 1024 MB (1 GB) forts. neste side...

1.3. LAGERKVALITETER 5... forts. fra forrige side k 2 k betegnelse 31 214748364 2048 MB (2 GB) 32 429496728 4096 MB (4 GB) 33 858993456 8192 MB (8 GB) 34 1717986912 16384 MB (16 GB) 35 3435973824 32 GB 36 6871947648 64 GB 37 13743895296 128 GB 38 27487790592 256 GB 39 54975581184 512 GB 40 109951162368 1024 GB (1 TB) 41 219902324736 2048 GB (2 TB) 42 439804649472 4096 GB (4 TB) 43 879609298944 8192 GB (8 TB) 44 1759218597888 16384 GB (16 TB) 45 3518437195776 32 TB 46 7036874391552 64 TB 47 14073748783104 128 TB 48 28147497566208 256 TB TABELL 1.2: Tabellen viser 2 k med k fra 0 til 48. Tredje kolonne viser betegnelsen for en slik mengde. F.eks. for minneadressering vil en 48 bit adresse adressere 256 TB. Tallene i kolonne to er tungleste, samtidig ser en fagpressen beskrive system som behandler, lagrer eller sender x millioner eller billioner enheter i sekunder. Omregningen til disse enheter og det en kaller vitenskapelig notasjon (scientific notation) eksemplifiseres under. En gigabits kommunikasjonslinje kan sende 1 10 9 bit i sekunder. For k = 48 får en 281.47 10 12, altså over 281 billioner (Byte, hvis det er lagring det dreier seg om). 1.3 Lagerkvaliteter Kvalitetsvurderinger for arbeidslager og stabilt lager er mye likt. Et lager har en viss kapasitet C i antall bit eller i vanlig data-tale, Byte (en Byte er 8 bit, se oversikt i Kap. 1.2.1). Under bruk blir det lagt inn nye objekt, det blir endret på eksisterende, og det blir fjernet data; til enhver tid er lageret belagt med a C. Fyllingsgraden er da 0 a/c 1

6 KAPITTEL 1. DATASYSTEM Hurtigminnet og stabilt lager er k-av-n system (jfr. diskusjonen om pålitelighet i parallelle system). Lageret deles inn i blokker på B Byte hver, det er altså C/B mulige blokker for lagring. Et program på X enheter lagres i L = X/B av disse. 2 Alle L lagerblokker må fungere, men det er isolert sett uinteressant hvilke L som benyttes av de C/B som totalt er tilgjengelig. Dette er det samme for alle lager. Typiske blokkstørrelser er B=1KB, 2KB, 4KB, 8KB... det er en ytelsesmessig vurdering hva denne bør være. Til lageret skal det skrives og leses. Mellom operativsystem og stabilt lager utveksles det blokker, muligens av samme størrelse som i lageret, men ikke nødvendigvis. Overføringsblokken er B o Byte, for å skille disse. Ytelsesmessig er det en fordel at B o er et multippel av B slik at en lagringsblokk (B stor) kan overføres med eksakt B o /B overføringer (kaster ikke bort overføringskapasitet). Overføringen skjer altså med B o -Byte blokker med data, ikke bit-for-bit. Aksesstiden omfatter den tid det tar å hente (retrieve) data ut av lageret, altså lesing (read). Lagerstedet har en lagerkontroller (RAM-kontroller, disk-kontroller, tapekontroller) som utfører arbeidet mot lageret, mens overføringen mellom prosessor og lager skjer via busser (beskrives senere). skriving, write Ved skriving må kontrolleren finne plass til blokkene. Er det ren utbytting (overskriving) er det greit; er det derimot tillegging (nye data) må ledige blokker lokaliseres og lenkes inn. Data som hører blir altså splittet opp (fragmentert). Sjansen for fragmentering øker altså med størrelsen på det som skal lagres, og lagerets fyllingsgrad. Små datamengder vil lettere få sammenhengende lagring. lesing, read Kontrolleren må (ved lesing) først lokalisere de ulike datablokkene, som ikke nødvendigvis ligger sammen eller nær hverandre, og deretter sende de tilbake til operativsystemet. Lokaliseringen kan ta lang tid, det er maskinutstyr (lesehoder) som skal flyttes, en tidkrevende prosess. Lagerets responstid (aksesstid) øker med fragmenterings-grad, som igjen er proporsjonal med fyllingsgraden. Lesehastigheten er det antall bit eller Byte som leses per tidsenhet, gjerne MB/s, MegaByte per sekund (igjen, se Kap. 1.2.1 for definisjoner rundt dette). Feilraten er sjansen for at en lagret enhet (bit, Byte, eller større) har blitt feilaktig endret neste gang den skal leses. Lagerkontroller kan også feile, hvilket gjør selve disken ubrukbar hvis den ikke flyttes over til en annen fungerende kontroller. En driftsansvarlig må selvsagt følge med at det er tilstrekkelig lagerplass og ha en viss peiling på hvor mye av lageret som er brukbart (feilfritt). 2 Med X/B menes at en bruker laveste heltall over X/B, altså at 5/2 = 2.5 = 2. Det resterende blir ubenyttet.

1.3. LAGERKVALITETER 7 ingen RAID RAID-0 (striping) RAID-1 (speiling) P(ingen)=p P(RAID-0)=pp P(RAID-1)=1 (1 p)(1 p) = 2p pp TABELL 1.3: Enkel RAID-sammenligning, hva angår pålitelighet. 1.3.1 RAID Harddisk er den vanligste form for stabil lagring, den har raskest respons og høy pålitelighet. Ytelse og pålitelighet kan likevel forbedres med enkle midler, ved å kombinere flere ordinære (billige, inexpensive) disker sammen til et sett (array) som samlet gir bedre kvalitet. Teknologien kalles RAID, Redundant Array of Inexpensive Disks og ble tenkt ut ved universitet i California tidlig på 80-tallet. Hovedide er at N disker (RAID er pr. i dag kun vanlig med harddisker) settes sammen og organiseres til et enhetlig lagersted med bedre kvaliteter enn om en hadde brukt N uavhengige disker. Det er definert mange ulike RAID-nivå; her diskuteres kun nivå 0, 1 og 5. I RAID-0 deles en datablokk opp i N striper som legges til hver disk slik at lesing av samme blokk kan skje i parallell, i beste fall N gang raskere. Utnyttelsen er 1.0, ingenting går tapt. I RAID-1 er skrives en og samme datablokk til N disker; en får N separat lagrede (ikke på samme disk) kopier av blokken. Dette kalles ofte for speiling (mirroring). Hvis én disk feiler merkes det ikke, diskkontroller opererer da på en av de gjenværende disker. Skriving kan gå endel senere, lesing tar uendret tid, og en utnytter bare 1/N av lagerplassen. I RAID-5 vil en datablokk stripes og legges til N 1 disker, mens paritet (feilkontroll) legges til den N te disk. Ulike datablokker vil ha data og paritet stripet til ulike kombinasjoner av disker. Ved bitfeil i en stripe eller en enkelt diskfeil kan hele datablokken rekonstrueres. I snitt brukes kun 1/N av samlet lagerplass til paritet; utnyttelsen er da (N 1)/N. Ofte vil en bytte ut en disk uten å stoppe lagertjenesten, såkalt hotswap. Merk, at utnyttelsesgraden er beregnet under den forutsetning av at alle lager er like store. Anta at en har like disker, alle med pålitelighet p. Dette er et eksempel på bruk av modellene for pålitelighet som ble diskutert tidligere. Man kan ha en enkelt disk (ingen RAID), RAID-0 eller RAID-1. Påliteligheten for disse alternativene blir som i Tabell 1.3.1. En ser at P(RAID-1)-P(RAID-0)=2p pp pp = 2p > 0, altså er RAID-1 mer pålitelig enn RAID-0. Videre, er P(RAID-0)-P(ingen)=pp p = p(1 p) > 0 fordi p > 0 og 1 p > 0; en enkeltdisk er mer pålitelig enn RAID- 0. Eneste grunnen til å bruke RAID-0 er ytelse. Analysen tar ikke i betraktning plassutnyttelsen, dog.

8 KAPITTEL 1. DATASYSTEM 1.4 Mellomlagring Mellomlagring, eller caching, er en teknikk som er mye brukt overalt i datamaskinen for ytelsesforbedring: I en cache legges de objekt (instruksjoner eller data) som har størst sjanse for å bli etterspurt i nærmeste fremtid; når cache er full får nye objekt plass ved å fjerne de objekt med minst sjanse for å bli etterspurt. Dette kalles cacheadministrasjon som i hovedsak vil si å periodisk eller ved spesielle hendelser kjøre en cachealgoritme som bestemmer hvilke objekt som bør forbli i cache. 1.4.1 Ytelse En forutsetning for at cache skal bli nyttig er at aksesstiden til cache er endel lavere enn til stabilt lager. Hvis et objekt som skal leses ikke befinner seg i cache må det hentes inn (cache-in), noe som tar tid. Er det samtidig fullt i cache må et eksisterende objekt fjernes, som vanligvis betyr at det må skrives tilbake til stedet der det kom fra (cache-out). Både cache-in og cache-out er ekstraarbeid som gir høy aksesstid for akkurat det objektet det gjelder, men spesielt cache-out er en alvorlig tilstand, da man ofte må dytte ut objekt som gjerne trenges igjen om kort stund. Mye cache-out er en indikasjon på at cache er for liten, det gir mye ekstraarbeid og lang aksesstid som gir lavere nytte for brukerne. Ulempene kan reduseres ved å redusere presset, ved å la færre bruke cache, eller øke størrelsen på cache. I enkelte tilfelle kan en økning i kapasiteten til selve cacheadminstrator også hjelpe, men dette er ikke alltid mulig. 1.4.2 Pålitelighet Det er viktig å forstå at innholdet i en cache er en kopi av objekt som befinner seg andre steder, en original i forhold til kopien. Selv om aksesstiden ved lesing og skriving går ned, vil en måtte tenke på at dette er en midlertidig kopi. Hvis man vil endre objektet er det viktig at originalen blir oppdatert, altså at objektet skrives fra cache til stabilt lager tilstrekkelig ofte. Hvis strømmen forsvinner vil de fleste cachetyper ødelegges umiddelbart, noe som levner usikkerhet for forfatteren : Ble originalen endret, eller må arbeidet gjøres om igjen? Bruk av kopier og cache åpner for slik usikkerhet rundt hva som er faktisk tilstand. Andre benevnelser som er relatert til dette er integritet (selvkontroll): Objektets integritet er redusert. En balanserer altså mellom ytelse og integritet. I flerbrukssystem kan flere kopiere originalen til sine egne cache, noe som øker versjonsproblematikken. Sålenge originalen er intakt vil alle kopiene være samme versjon som originalen. Hvis imidlertid en av kopiene endres av A og endringen registreres hos original, vil en annen samtidig brukere B arbeide med en tidligere

1.4. MELLOMLAGRING 9 versjon. Hvis B endrer objektet og dette registreres hos original, vil A sitte med feil oppfatning av hva som har skjedd. Arbeidet med å sikre at alle cache har korrekt versjon av en original kalles versjonskontroll. Et annet likeverdig begrep er replikering, man har flere kopier av samme objekt spredt omkring av ytelseshensyn (og sikkerhetshensyn). Kjært barn har mange navn: Integritetskontroll, konsistenskontrol... er også brukt, i ulike sammenhenter relatert til cache. Det å oppdatere en cache kalles ofte oppfrisking, eller cache refresh, man sikrer at alle objekt hos alle interessenter er like fersk. 1.4.3 Noen eksempler Instruksjonscache Under kjøring skal prosessor forsynes med objekt (instruksjoner og data) den trenger, og jo nærmere objektene er når de trengs, jo bedre utnyttes prosessoren. Prosessorer kan ha n = 0, 1,..., N nivå av instruksjonscache mellom seg og RAM. Hver nivå n benevnes Level-n, eller Ln, der nivå n er mindre, men gir raskere aksess enn n + 1. Prosessoren henter da objekt fra cache n + 1 hvis det ikke ligger i n, samtidig som objektet legges i cache n da det antakeligvis vil bli etterspurt om kort tid. RAM fungerer prinsipelt som siste nivå, cache nivå N + 1. I dag finner vi at L1 i flere år har vært å finne integrert i alle prosessorbrikker. En cache som er integrert på prosessorbrikken vil være ikke-forsinkende, like rask som selve prosessoren. L2 er vanlig på egen brikke montert på systemkortet, eller på tilleggskort, der prosessorbrikke har L1 cache innebygd. Aksesstid til slike eksterne cache er endel høyere. Den senere tid har L1 og L2 blitt integrert på prosessorbrikke eller moderkort, slik at en cache montert i ekstrakort forskyves og tilsvarer L3. Litt om størrelsesordener: L1 <128 KB; L2 <256 KB; L3 <2 MB; RAM <1 GB; disk <1 TB. Programcache Instruksjoner er deler av et program og prosessoren vil ved bom i L1 eller L2 hente fra RAM. Men, med RAM-bom må objektet hentes fra disk, som i denne sammenheng vil være den uheldigste situasjon, da diskaksess er vesentlig tregere enn aksess til L1 eller L2. I denne forbindelse flyttes større blokker med objekt mellom RAM og disk. Disse blokkene kalles sider (pages) og arbeidet her benevnes sideutskifting (paging) og utføres av en sideutskifter (pager). RAM er altså en cache der sideutskifteren forsøker å lagre de sider som vil bli brukt av prosessoren. Dette er altså de sider som inneholder de objekt (instruksjon og data) som prosessoren vil trenge. Hvis prosessoren skal bruke objekt som ikke ligger i RAM må en ny side hentes inn fra stabilt lager til RAM (page-in), noe som (kan ikke sies ofte nok) er uheldig, spesielt hvis en også må dytte ut sider for den nye siden (page-out).

10 KAPITTEL 1. DATASYSTEM En maskin med stadig sideutskifting har for lite RAM i forhold til behovet. Prosessoren vil det meste av tiden, arbeide med denne sideutskiftingen som har høyere prioritet enn arbeide som gjelder selve brukerne. Ergo får brukerne gjort lite, de merker litem fremdrift i arbeidet sitt. Systemet er treigt, sier sluttbrukerne systemfolka kaller dette thrashing; ressursene i prosessor går i søpla. Tiltak som kan treffes for å redusere thrashing er å fjerne prosesser som er mindre viktig (be brukerne om å logge av eller avslutte prosesser), eller reprioritere prosessene slik at de viktigste blir ferdig. Over tid må systemansvarlig enten redusere belastningen (antall brukere eller interessante program), øke ressurstilgangen (RAM), eller omfordele belastningen slik at eventuell ledig kapasitet i andre maskiner blir utnyttet bedre. Diskcache Nyere maskiner har innført diskcache som mellomledd mellom RAM og disk. Et diskcache skal inneholde de diskblokker som med størst sannsynlighet vil bli brukt i nærmeste fremtid, enten for lesing eller skriving. Administrasjonen av diskcache kan gjøres av selve diskkontroller som da her eget hurtigminne til dette formål. Enkelte operativsystem kan også selv administrere diskcache, men bruker da RAM som hurtigminne for diskcache. Effekten blir da at man ved RAMbom (instruksjon er hverken i L1, L2 eller RAM) går til diskcache som er i eget hurtigminne hos diskkontroller eller i... RAM (flytter fra RAM til RAM!). Webcache Ved diskbom må objektene hentes fra andre disker, på andre maskiner, men dette er en problemstilling som ikke vedrører det nivå vi ser på her. Lokalnett og Internett gjør det mulig med sanntids distribusjon og innhenting av objekt over store avstander. Ulempen er aksesstiden til objektene som kan bli for stor til at den er akseptabel. Webcaching er en slik cachestruktur for objekt i et stort Internett. Webcache brukes i en organisasjon eller hos en Internett-leverandør. I en webcache ligger webobjekt (tekst, bilder, multimedia) som blir mye etterspurt av websurferne. Fordelen er de som er nevnt, at man reduserer aksesstiden og derved gir raskere respons til brukerne som derigjennom får bedre nytte fra IT-tjenesten. 1.5 Terminal Det er vanskelig å si hva som er viktigst i en maskin. De fleste maskiner i dag skal dog brukes av mennesker. Like viktig blir da terminalen, sluttpunktet eller overgangen som isolerer den digitale maskinen og den omsluttende analoge verden. Datamaskinen, slik de fleste ser den, har altså en brukerterminal som brukeren kan jobbe mot, som danner kontaktflaten (user interface) mellom menneske og maskin (man-machine interface). En slik terminal består av tastatur (keyboard) og

1.6. 3-LAGSARKITEKTUR 11 pekeutstyr (pointer) av ulike typer, slik at brukeren kan gi meldinger (kommandoer) ned til maskinen og. Den har også en skjerm (monitor), høyttaler (loudspeaker) og kanskje en skriver (printer), slik at maskinen kan gi meldinger (respons) opp til bruker. En ser ofte at maskinen kan ekstrautrustes slik at man kan spille musikk, ta opp og redigere fotografi og video. Dette er da også terminalutstyr. Vi kan flytte data mellom maskiner via disketter eller nettverk. Via disse kan maskinen kommunisere med omverdenen, slik at meldinger fra mennesker og andre naturlige fenomen kan oppfattes og behandles i maskinen. 1.6 3-lagsarkitektur Lagringssiden oppfattes som det nederste laget i 3-lagsarkitekturen for programsystem: Her skjer prosesseringen i midten, det krever et stabilt lagersystem under seg og bruker et stabilt terminalsystem over seg for å få kontakt med brukerne, se Figur 1.2. Akkurat hvorfor dette er en viktig arkitektur for programvare (software architecture) er ikke hovedtema i denne tekst, men det er beslektet med behovet for modularisering av arbeid. En kan ikke la samme program være ansvarlig for å vite hvordan en skal skrive til terminalutstyret (det er utrolig mange terminaltyper og kompleksitet rundt det), forretningslogikken (hvordan programmet foretar verdiskapende beregninger) og lagring (igjen, det finnes et utall lagersystem med tilhørende kompleksitet). kommando kommando terminal (brukergrensesnitt) svar prosessor (forretningslogikk) svar disker, tape (stabilt lager) FIGUR 1.2: 3-lagsarkitektur for programsystemer. Begrepet ytre enheter eller perifere enheter (peripheral devices) brukes ofte om fysiske enheter (physical devices) som ligger utenfor prosesseringen, databehandlingen. Disse enhetene inngår i maskinvaren (de er hardware devices). All databehandling krever at prosessene forsynes med data, enten øyeblikkets momentære data fra terminalsiden, eller historiske data fra stabilt lager. Videre, vil mye databehandling være uinteressant hvis en ikke øyeblikkelig fikk vite om det via terminalen, eller i ettertid kunne lese om det fra stabilt lager der historien skrives av databehandleren. Fysisk sett ligger terminaler og lager både innenfor og utenfor datamaskinens deksel. Dette har med driftsmessige kvaliteter å gjøre. Hvis deksel kan låses av og

12 KAPITTEL 1. DATASYSTEM ytre enheter gjemmes innenfor dette deksel, reduseres sjansene for at de ytre enhetene forstyrres og kanskje går ned (blir utilgjengelig) eller mer alvorlig, fjernes eller byttes ut med uvedkommende imitatorer. Enkelte enheter må likevel befinne seg utenfor, da de skal i inngrep med en person (skjerm, tastatur, pekeutstyr, høyttaler, kamera) eller andre deler av miljøet (sensorer for temperatur o.l.) 1.7 Kommunikasjon Enheter må snakke sammen, integrerte kretser, prosessorer og RAM, indre og ytre enheter. Kommunikasjonen mellom disse enhetene skjer i form av at meldinger (messages) utveksles over egnede linjer. 3 Prosedyren med hvilke meldinger som sendes mellom partene er definert på forhånd i form av en protokoll (protocol). Meldingene er kodet binært, med 0 og 1 som basis. Hver melding har en meningsfull sammensetning av 0 og 1; et innhold (format) som partene forstår ut av konteksten meldingen opptrer i. 4 1.7.1 Senderate og Forsinkelse Senderate (transmission rate) oppgis vanligvis i antall bit per sekund som sender vil dytte ut på linjen. Vanligvis sendes en bit for hvert klokketikk, men enkelte sender oftere, for eksempel to ganger i løpet av et klokketikk. Seriell sending betyr at en melding sendes bit for bit, ut på linjen; parallell betyr at linjen kan overføre k bit i gangen på samme linje. Klokkefrekvens angis (som tidligere diskutert) i hertz, 40 Mhz tilsvarer 40 millioner tikk i sekundet. Som eksempel, hvis k = 4 og klokkefrekvens er 10 Mhz sendes 40 Mbit i sekundet (Mbit/s) som tilsvarer 5 MByte i sekundet (MB/s). Sendes det to bit per tikk dobles senderaten til 80 Mbit/s. Bit sendes ut som signaler i et fysisk medium (physical medium) som kan være elektrisk eller fotonisk ledende kabel (kopper, koaksial eller fiberglass), eller bare gjennom luften, eteren. Signalet vil følge kabelens vei, mens det i eteren sprer seg på ulike måter. Dette avgjør hvor lang tid det tar før det ankommer mottakeren. Forsinkelsen (delay, latency) er den tid det tar fra utsendelse starter til ankomst registreres hos mottaker. 3 Meldingene mellom enheter betegnes i ulike kontekster med ulikt navn: Signaler, kommandoer/forespørsler og svar (request og response), og pakker. 4 I diplomatiet er det mange protokoller som bestemmer diplomatenes meldingsutveksling. En melding som enig kan ha ulik betydning, noe som avhenger av i hvilken fase av protokollen partene er.

1.7. KOMMUNIKASJON 13 1.7.2 Linjeforstyrrelser og Feil Linjeforstyrrelser kan gjøre at mottaker oppfatter en bit feilaktig: Logisk 1 blir oppfattet som null, eller motsatt. Linjens feilrate er en viktig faktor her, da den begrenser suksessraten, altså hvor stor andel av det utsendte som mottas feilfritt. Feilraten f oppgis vanligvis som en verdi mellom null og 1 og angir sjanse for feil, at en bit oppfattes feil hos mottaker. For en senderate på S vil suksessraten statistisk sett da bli R = (1 f)s S. En kaller R for gjennomstrømingsrate (throughput rate). For at en bit skal ankomme mottaker må den gjennom ett eller flere fysiske kabler, ofte gjennom flere maskiner og gjerne bli behandlet av ulike prosesser for at ruting gjennom store nettverk skal fungere. Alle disse ledd utgjør en kjede, et serielt system. Jamfør tidligere diskusjon om serielle system vet en da at en multipliserer hvert ledd s feilrate for å få ende-til-ende feilrate. Har en N ulike element blir f = i N f i. Jo lengre et signal må gå, jo flere som skal behandle signalet, jo større er sjansen for at feil skjer. Fiberglass har mye lavere feilrate enn kopper som fanger opp ekstern støy, og er i dag såpass vanlig at kabelbaserte system sjelden har feil på det fysiske lag. Trådløse system har mye større feilrate, delvis grunnet svakheter i luften. Feil opptrer i mye større grad i programvare som følge av utslitthet, eksterne forhold eller rett og slett menneskelig feil (av driftspersonalet og brukere). 1.7.3 Linjetyper Binære meldinger er 0 og 1. Disse lager senderen ved å modulere en bærebølge i en elektrisk kabel, en laser eller fotodiode i en fiberoptisk kabel, eller en antenne i et trådløst samband. Signalet sprer seg deretter i mediet og når andre som er tilkoblet. Motstand i mediet gjør at mottakerne ikke må være for langt unna hvis signalet med god sikkerhet skal kunne detekteres korrekt. Flere kan sende samtidig uten å forstyrre hverandre hvis de sender i ulike frekvensområder. Områdene må være tilstrekkelig separert for å unngå forstyrrelse mellom nabokanaler. Mottakerne må da være innstilt på korrekt frekvens for å motta. Senderaten kan økes ved å øke moduleringshastigheten hos sender, hvor ofte signalet kan skifte. Raskere sending krever imidlertid mer bandbredde da det er mer informasjon som skal overføres per tidsenhet. Sender en for raskt overgår en tilgjengelig bandbredde, med den risiko at en enten forstyrrer nabokanaler eller at nabosignaler (de som kommer etter hverandre) flyter over i hverandre og umuliggjør korrekt detektering hos mottaker. Felles for alle linjer er at jo lengre en vil, jo saktere sender en for en gitt feilrate. Dette gjelder uansett sendemedium; kobber, glass, plastikk og friluft. Interne linjer inne i maskinen vil være korte, og derfor langt raskere enn linjer til ytre en-

14 KAPITTEL 1. DATASYSTEM bus... mesh ring stjerne tre FIGUR 1.3: Topologier for sammenkobling av enheter (noder). Bus er flerpunkts linje, resten er en eller flere punkt-til-punkt. heter langt borte. En tapestasjon skal overføre mye og bør få raske linjer, en vil derfor bruke raske linjer som igjen betyr nærhet. Når enhetene fysisk er langt fra hverandre må en bruke linjetyper som rekker så langt, men da regne med lavere rate. Teknologien flytter jo grensene for hva som er mulig: For en gitt feilrate kan en i dag gå mye lengre enn for 15 år siden. 1.7.4 Topologier og Tilkobling En bus er en flerpunkts (multipoint) kabel som kobler flere til samme sendemedium; alle hører det som sendes. Den må termineres med terminator for å unngå forstyrrelse grunnet refleksjon idet signal treffer enden av buskabel. Punkt-til-punkt (p2p, eng.: point-to-point) linjer er en topunkts bus. En kan koble mange enheter sammen med mange p2p-linjer til et nettverk av enheter (noder) av type mesh, ring, stjerne eller tre. Pålitelighet Påliteligheten i en topologi ligger i sjansen for at kommunikasjonen består tross brudd. Et mye brukt begrep her er overlevelsesdyktigheten, og reflekterer da sjansen for to noder når hverandre hvis en, to eller flere linjer eller noder bryter sammen. Merk, at en node kan nå en annen via en tredje (indirekte kobling). For N noder er antall nodepar lik s(n) = N 1 i=1 Overlevelsesdyktigheten regnes da ut som i = 1 + 2 + + (N 1) v(topologi) = antall overlevende nodepar. s(n)

1.7. KOMMUNIKASJON 15 Enkelt linjebrudd (single link failure) er enklest å studere. En ser at en ring er en serie der endene er koblet sammen, og at ringen er sterkest fordi den lar alle snakke sammen tross ett enkelt linjebrudd; ring er derfor mye brukt. v(ring) = s(n) s(n) = 1 1 2 v(serie) < 1 Hvis en node bryter sammen brytes også ringen. Stjernen bryter fullstendig sammen hvis senteret (navet) brytes. Ett linjebrudd eller ett nodebrudd gjør at alle andre N 1 noder mister ett par v(stjerne) = s(n) (N 1) s(n) = 1 N 1 s(n) Overlevelsesdyktigheten i mesh og tre er vanskeligere å analysere, men generelt sett vil en mesh ha flere veier til målet (som er å sammenkoble to noder direkte eller indirekte). For treet, bussen, serien og stjernen ser en jo det alvorlige i at det bare er en mulig vei mellom to noder, mens ringen har to veier. Ytelse Enhetene i en datamaskin sammenkobles via flere typer linjer. Hver linjetype har ulike kvaliteter og kan bare brukes av enheter som er tilpasset linjetypen, som har en linje-egnet tilkobling. En datamaskin inneholder de linjetyper som er mest hensiktsmessig for den meldingstrafikk en forventer mellom enhetene. Har linjen for liten kapasitet (maximum senderate) i forhold til enhetenes belastning (faktiske senderate, som vil variere over tid) blir det kødannelser og varmgang (mer om dette senere). Her kan en merke seg at alle noder i en bus vil dele kapasiteten i bussen og må bruke endel kapasitet til administrering av dette felles mediet. Slik administrasjon kalles aksesskontroll og er viktig for alle topologier, men vanskeligst for en buss fordi det er flere enn to som skal samkjøre linjebruken. I en bus vil imidlertid alle høre det som sendes, mens i de andre vil det alltid være noen som er avskåret fra en gitt melding. Dette er også en sikkerhetsmessig fordel. Flere slike lokal-linjer kobles sammen med broer (bridges) hvis de er av ulike type (ulik kapasitet, utforming, m.m.). Enheter kan sende til enheter på andre lokallinjer via disse broene, som da isolerer ulike ukompatible (incompatible) lokalnett fra hverandre. Slik brobasert isolasjon gjøres da for å redusere trafikkmengden i hvert enkelt nett, men krever at en på forhånd vet hvem som snakker mest sammen og kobler de til samme nett. Isolasjon kan også være et resultat av sikkerhetskrav, at en vil hindre uønsket avlytting av meldinger.

16 KAPITTEL 1. DATASYSTEM 1.7.5 Adresser og Tilkobling Når nye enheter tilkobles en linje er det viktig at de andre får vite om denne og hvilken adresse den har. Det å kjenne til andre enheter og hvilke funksjoner de tilbyr, er viktig da andre enheter kan ha interesse av å benytte disse funksjonene direkte, eller indirekte på vegne av andre. Adressen er viktig i og med at meldinger til en enhet vanligvis vil sendes sammen med en adresse, slik at meldingen kommer til korrekt mottaker. Enhetene som er tilkoblet samme linje må ha unik lokal adresse skal en nå enheter i andre lokallinjer må enhetene også inneha unike globale adresser slik at det ikke er tvil om hvem som er mottaker. 5 For tidlige linjetyper måtte datamaskinen stoppes, endring foretas (fjerning eller tillegg av enheter), innstillinger hos andre enheter endres, og maskinen startes igjen. Informasjon om nye enheter måtte manuelt programmeres inn hos andre enheter. I dag kan enheter fjernes, byttes eller tillegges uten videre. Enheters informasjon hentes automatisk av andre enheter slik at disse kan utnytte tilgjengelige funksjoner. Enheter kan også ta pause, da etter å ha varslet andre enheter om dette. Et populært navn på slike linjetyper er plug-and-play (PnP). man plugger inn eller ut uten at leken (les: produksjonen) forstyrres. Slik avbruddsfri kobling av enheter i en enkelt datamaskin er viktig både for brukervennlighet, produksjons- og driftsvennlighet. Der det er akseptabelt vil brukere kunne ta med seg enheter til arbeidsplassen uten restarte maskinen eller å bekymre seg for om den passer. Driftsmessig har avbruddsfri drift av sentrale maskiner vært vanskelig i forbindelse med fjerning, tillegg eller utbytting av enheter; slikt arbeid måtte gjerne skje i stille tider, noe det blir mindre av. Begrepet hotswap og hotplug er forøvrig mye brukt om avbruddsfrie og selv-konfigurerende (self-configuring) system; det antyder at en kan koble til og bytte ut enheter avbruddsfritt (swap betyr at en fjerner noe og setter inn noe annet, to enheter bytter plass en hot ombytting betyr ikke annet enn at det skjer mens systemene er i gang. Det finnes sikkert et coldswap begrep som antyder det motsatte). Sømløs (seamless) integrasjon er forøvrig et annet uttrykk som blir brukt: Man slipper altså å sy sammen manuelt, sømmen skjer automatisk. Med PnP tenker en helst på sømløs integrasjon av enheter som tilkobles en datamaskin via en av de (ofte mange) ulike internlinjetyper som maskinen har innebygd. Universal PnP (UPnP) er en standard under utvikling som skal sikre PnP mellom enheter på forskjellige datamaskiner med forskjellige operativsystem. Det blir en såkalt Internett standard, så et kamera på en maskin kan selv oppdage nærmeste skriver på en annen maskin. Vanlig PnP vil i dag fungere kun over de nett som en datamaskin 5 Lokalt i Molde har man gateadressen Mekvegen 15, og sender post til Fabrikkvegen 4. Skulle man derimot sende til Fabrikkvegen 4 i Sarpsborg måtte en legge til stedsinformasjon. Unik adresse (iallefall innen Norge) blir da (gate, sted). Internasjonal post adresseres i dag med navn, gate, gatenummer, postboks, sted, nasjon, etc. for å sikre at meldingen (brevet, pakken) kommer frem.

1.7. KOMMUNIKASJON 17 er tilkoblet. Til slutt: Andre mer og mindre brukte begrep om det samme som er diskutert her, er zero configuration, auto-configuration og self-configuration; det kommer an på hvem som skriver om det, hvilken produsent det dreier seg om. I salgssammenheng vil en produsent ofte ta i bruk nye begrep om det samme gamle konsept for å tiltrekke seg oppmerksomhet og gi inntrykk av innovasjon. 6 1.7.6 Parallelle linjer Internt i en maskin vil flere uavhengige parallelle busser sammenkoble ulike prosessorer, minne og ytre enheter. Med parallell menes at bussen har k linjer, når hver linje klokkes til m Mhz vil bussens hastighet være km Mhz. Hvert klokketikk vil vanligvis dytte en bit avgårde. Bussen med k bit i parallell sender da km Mbit/s Den typiske Intel-baserte PC vil ha CPU direktekoblet til L1 cache og klokke, men går via en systembus til RAM og eventuelle L2 cache. Alt dette er på maskinens hovedkort, moderkort (motherboard). Systembus vil være den absolutt korteste og raskeste i datamaskinen: 32 bit tidligere, etterhvert 64 bit med 100 til 333 Mhz. Fartsdata om de lokalbussene som nevnes videre, finnes i Tabell 1.4. Ytre enheter er tilkoblet moderkortet via en vanligvis tregere input-output (I/O) bus. Minnet har likevel ofte en Direct Memory Access (DMA) kontroller med tilhørende DMA-bus som kan gi ytre enheter direkte tilgang til minnet, istedetfor å gå via I/O-bus til prosessor. En nyere løsning er Dual Independent Bus (DiB) der systembus er delt i to; en frontside som kobler CPU til RAM og I/Obusser, samt en backside som kobler CPU til Ln cache. Det har tidvis vært tilløp til å la kapasitetskrevende ytre enheter som grafikk-kort til skjerm, få direktekobling til minnet via en local bus. Harddisk-kontrollere har også fått direkte innpass på moderkortet av slike ytelseshensyn. Industry Standard Architecture (ISA, 1982) var en tidligere vanlig bus, med 16 bit i parallel. En arvtaker til denne var Extended ISA (EISA, 1988) som sender 32 bit. Typisk for disse var mangel på Plug-and-play: Nye ytre enheter krevde mengder med manuelle innstillinger, samt at maskinen måtte omstartes. Peripheral Component Interconnect (PCI, 1992) er en I/O bus med 32 eller 64 bit i parallell sendt med moderkortets klokkerate (20 til 33 Mhz). PCI v2.0 bruker egen klokke med 33.3 eller 66.6 Mhz rate, eller opptil 133.3 Mhz i PCI-eXtended 6 Ønsket om avbruddsfrihet, vedlikeholdsfrihet og sømløshet gjelder også for programvare, ikke bare for innsetting, fjerning eller endring av enheter som skal snakke sammen. I et nettbasert datasystem vil programvare være avhengig av tjenester fra andre for å fungere. F.eks. vil websurfing være avhengig av tjenester fra et navnesystem (slik at du kan skrive www.vg.no istedetfor kryptiske tall) driftspersonalet kan endre surfeprogrammet eller navnetjenesten uten å henholdsvis avbryte produksjon (avbruddsfrihet), uten å foreta spesifikke innstillinger hos noen parter (vedlikeholdsfritt).

18 KAPITTEL 1. DATASYSTEM (PCI-X). Plug-and-Play er endel bedre i PCI: Nye enheter kunne konfigureres automatisk, og tildels tilkobles avbruddsfritt. Windows 95 var et tidlig operativsystem som dro nytte av PCI og slik PnP. Small Computer System Interface (SCSI) (uttales skussi ) er en standard for sammenkobling av 8-16 enheter over 6-12 meter. Den bruker 8 eller 16 parallell-kabler som gir enhetene tilgang til fra 5 MB/s til 320 MB/s. Eldre SCSI krevde manuell nummerering, nyere er nærmere Plugand-Plag og nummererer automatisk. Bus må termineres, noe som tidligere var manuelt. SCSI benyttes mye for tilkobling av lagersystem (disk, tape, CD-ROM). Kabelen kan være løs hvilket lar en strekke den ut av maskinen, til ytre enheter. 1.7.7 Serielle linjer Serielle linjer er parallelle med k = 1. De parallelle linjer med k = 8, 16, 32, 64 blir veldig upraktiske når linjene blir lange; når enhetene er langt fra hverandre avstandsmessig. Nye serielle linjer Nye maskiner (hjemme, kontor, tjenere) i dag utstyres med serielle busser der nye enheter identifiserer seg selv med funksjon og unik adresse, der til- og frakobling av enheter skjer avbruddsfritt og faktisk vedlikeholdsfritt (uten noen administrativ justering). Nummerering av enhetene, etterhvert som de kommer og går bestemmes dynamisk, etter hva som er tilstanden ved tilkobling. Enheten annonseres sin tilstedeværelse, dette oppfanges av operativsystemet, som deretter starter lokalisering og lasting av en driver for enheten. Driveren hentes fra CD-ROM, internettet eller annet stabilt lager. Enheter kan hente strøm via bussen så rotenheten må følge med strømtilstanden hos de ulike enhetene. Dette passer for mus og lignende, men høye strømforbrukere (skrivere, scannere) vil nok hente strøm annensteds. ikke hos treets rot (f.eks. operativsystem). To viktige slike linjer er USB og Firewire. USB (Universal Serial Bus, 1997), er en 12 Mhz seriell bus organisert som et tre med prosessor og operativsystem som treets rot. USB v2.0 (2001) er en videreutvikling, med 400 Mhz bus. Adressen 7 bit lang, slik at 2 7 = 128 (i praksis 126) enheter kan tilkobles. Enhetene med sanntidskrav kan reservere kapasitet. Firewire er salgsnavnet på produkt laget av Apple Computer, og basert på IEEE1212- standarden (High Performance Serial Bus; et annet navn på samme teknologi er i.link). Den serielle buskabel er opptil 4.5 meter og består av tre tvunnede trådpar (ett par for strøm, to par for data). Dataoverføringen skjer ved 100, 200 eller 400 Mhz (3200 Mhz i den siste versjonen), adressene er 64 bit (10 for bus, 6 for enhet

1.8. OPERATIVSYSTEM 19 og 48 for lagersted). Nodeadresse er da bus-id pluss enhets-id (16 bit), altså kan opptil 2 10 = 1024 noder i 2 6 = 64 ulike nett, tilsammen 2 16 = 65536 enheter (noder) nå hverandre. Opptil 2 48 minne kan adresseres (256 TB) per enhet. Enheter kobles sammen i tre- eller stjernetopologier, og kablene trenger ikke manuell terminering. Maks avstand mellom to noder er 16 hopp og 16(4.5) = 72 meter. Enheter med sanntidskrav kan garanteres bandbredde (isochronous service), og er (til forskjell fra USB) likeverdige (peers), de kan snakke sammen direkte, f.eks. kamera til disk eller kamera til kamera, uten å gå via en tredjepart. Oppsummering De nevnte linjetyper er oppsummert under. OPPGAVE 1.1 Beregn MB/s og Mbit/s for de ulike standardene. 1.8 Operativsystem Alle maskiner har en form for operativsystem (OS), et mykvare-program som fordeler ressurser i maskinen. Selv om en maskin ofte kommer med operativsystem ferdig installert, vil det være nyttig for leseren å ta en vilkårlig maskin og installere et egnet operativsystem på denne. Med egnethet menes hovedsaklig at det er tilpasset de indre og ytre enheter som maskinen består av. En slik installasjon blir også et tema i det som følger. Et operativsystem er et program som (likt med alle andre program) er forfattet, kompilert og linket sammen med diverse bibliotek, til en kjørbar binærfil. Formatet på binærfilen må også her tilsvare det formatet som hovedprosessor (CPU) forstår. 1.8.1 Intel og Microsoft Intel Corp. i USA har i over 20 år laget de mest brukte prosessorer for kontormaskiner, servere og annet. Den maskin som leseren velger vil antakeligvis være utstyrt med en Intel prosessor. Operativsystem som kan kjøre på disse prosessorene er mange. Men, et nytt operativsystem i dag vil ofte ikke kunne kjøre på en 10 år gammel prosessor. Microsoft Corp. i USA har i over 20 år laget operativsystem som kan kjøre på Intel s prosessorer, f.eks. de tidlige tiders Microsoft DOS (MS-DOS, DOS betyr antakeligvis Disk Operating System). Rundt 1985 kom Microsoft Windows i første versjon, et operativsystem som ga et grafisk brukergrensesnitt 7 på skjermen, og 7 Dette med grafisk grensesnitt (vindu, pekerutstyr m.m.) var forsåvidt (nok) en kopi av da 10 år gammel teknologi, denne gangen fra Xerox Corp. og Apple Computers.

20 KAPITTEL 1. DATASYSTEM linje k m Mhz lengde antall original (1980) 8 4.77 ISA (1982) 16 8/5 EISA (1988) 32 8 PCI (1991) 32 33.3 PCI v2 (1993) 32 66.6 PCI 64 33.3 PCI v2.1 64 66.6 PCI-X (1999) 64 133.3 Async. SCSI-1 (1986) 8 5 6? 8 4Mb/s Wide SCSI-2 16 5 3 16 Fast SCSI-2 (1994) 8 10 3 8 Fast Wide SCSI-2 16 10 6 16 Ultra SCSI-3 8 20 1.5 8 Ultra Wide SCSI-3 16 20 1.5 8 Ultra-2 SCSI 8 40 12 8 Wide Ultra-2 SCSI 16 40 12 16 Ultra-3 (2000) 16 80 12 16 USB 1 12 5/30 127 USB v2 1 400 5/30 127 IEEE1394-1995 1 100 4.5/72 63 1023 IEEE1394a-2000 1 400 4.5/72 63 1023 P1394b 1 3200 4.5/72 63 1023 TABELL 1.4: Farts- og lengdedata for ulike busser. I fartskolonnen betyr x/y at bussen opererer med x Mhz men at hver enhet max oppnår ca. y Mhz. I lengdekolonnen vil a/b bety at avstand mellom to direktekoblede noder er max a, mens max avstand mellom to indirekte koblede er b. Max antall enheter er indikert.

1.8. OPERATIVSYSTEM 21 kunne kjøre på Intel 80286. Stadig nyere versjoner av Windows (opp til 3.0) var såpass omfattende å kjøre at de satte større og større krav til prosessorens kraft. En ny versjon av Intel s prosessorer betød raskere eksekvering (flere instruksjoner per sekund) samt forbedret instruksjonsett som hadde færre feil, var mer effektiv i sin bruk av strøm og tid, og som hadde nye instruksjoner (med nye feil, selvsagt alt har feil i seg). En ny versjon av Microsoft s operativsystem utnyttet samtidig den siste generasjonen av prosessorer fra Intel: Operativsystemet hadde grodd i størrelse (samme funksjon krevde mer prosessorkraft for å utføres raskt nok), hadde fjernet en del av de kjente feil (mer pålitelig) men la også til nye funksjoner og dermed nye feil. Denne runddansen pågår fremdeles: En forbedret prosessor er svar på økte krav fra operativsystemet og programvaren som brukerne kjører Et operativsystem som har grodd og derfor krever mere prosessorkraft er delvis et svar på krav fra brukerne om mer pålitelighet samt et tilbud om nye funksjoner for å holde interessen vedlike. Intel og Microsoft danner et implisitt samarbeidsorgan som faktisk samarbeider ofte om hvordan datasystemene skal være, og ofte kalles Wintel på data-munne. 1.8.2 Drivere for ytre enheter En ytre enhet er uinteressant hvis operativsystemet ikke kan snakke med den og hente data fra enheten, skrive til enheten og ellers kontrollere enhetens oppførsel. Dette krever at det er skrevet et driverprogram for enheten som kan kobles sammen med operativsystemet. En driver må være binærkompatibel med prosessor og være tilpasset det operativsystem som kjører. Dette kalles også hardware compatibility. I og med at Intel prosessor og Microsoft operativsystem (Wintel) dominerer vil de absolutt fleste ytre enheter være laget slik at de kan kobles sammen mot Wintel. OPPGAVE 1.1 Finn listen over kompatibel prosessor/systemarkitektur (kun indre, ikke ytre enheter) for Microsoft Windows 2000, NetBSD og siste versjon av Linux. Hint: hardware(3) og/eller søk www.google.com etter... Hardware Compatibility og hent listen. Hva er viktigste forskjell i hvordan oversikten er presentert? Hvor mange prosessorer/systemarkitekturer støttes for hver? UNIX ble utviklet tidlig i 70-årene og finnes i dag i bl.a. tre former: Linux, BSD og Solaris. Det var tidligere mest brukt til kontorbruk, men er i dag mer et alternativ til Windows. På tjenersiden er UNIX kanskje mer interessant enn Windows. FreeBSD og OpenBSD er laget i hovedsak for Intel s prosessor. Linux kjører på endel andre prosessorer, mens NetBSD per filosofi er kompatibel med 35 ulike prosessorer. Enkelte produsenter skriver drivere for UNIX, men i de fleste tilfeller vil driverne i UNIX være skrevet av ildsjeler som ønsker at enheten skal kunne brukes under UNIX. De ulike UNIX-varianter har ulikt grensesnitt mel-

22 KAPITTEL 1. DATASYSTEM lom operativsystem og driverlag derfor må det skrives ulike driver for Linux, NetBSD, FreeBSD etc. Utviklingen av nye ytre enheter skjer kontinuerlig. Derfor vil det alltid skrives nye drivere for disse, samt at drivere for eldre enheter vil forbedres så lenge driveren er interessant for bruk. Driverne distribueres på samme måte som operativsystemene og vil for enkelte operativsystem kunne byttes ut avbruddsfritt, d.v.s. at maskinen ikke må stanses, bearbeides og omstartes for at byttet skal skje. Avbruddsfrihet er et viktig og derfor tilbakevendende poeng i driftssammenheng; de fleste operativsystem tilbyr etterhvert slike muligheter for online utbytting av drivere. De parametre som skal settes for en ytre enhet, i forhold til operativsystemet, er IRQ Når enheten har melding til operativsystemet, bruker den en dedikert kanal for å signalisere dette. Et slikt signal kalles interrupt og vil oppdages av operativsystemet, som etterhvert vil ta seg av signalet og se hva det er (hva meldingen er). Hver ytre enhet skal ha et dedikert Interrupt ReQuest level (IRQ-nivå). I/O minneområde Meldinger mellom operativsystem og ytre enhet legges i et dedikert minneområde. DMA Direct Memory Access mellom enhet og hurtigminne betyr at CPU ikke involveres i overføringen (arbeidsbesparende, raskere utførelse). Bare enheter med dedikerte DMA-kanaler kan gjøre dette. Dedikasjon er viktig her. Flere enn en enheter oppsatt med samme/overlappende innstillinger vil skape surr og godtas ikke, vil oppdages ved oppstart og endringer. Igjen, det er en fordel om operativsystem og ytre enheter selv finner ut av hva som bør være den innstillingen som tilfredsstiller alle krav, uten konflikt. 1.8.3 Valg av OS En velger OS etter hva maskinen skal brukes til. En velger altså ikke et OS som gjør maskinen unyttig. I dag bruker de fleste organisasjoner programvare som kun kjører på Intel prosessorer og som kun kan kjøre under et av de senere Microsoft operativsystem (f.eks. 98, NT, 2000, XP). Hvis valger er klart her, vil en lett kunne finne ut hva som er minimumskrav til maskinen for å sikre fornøyde brukere, og deretter velge noe som er litt bedre. En dimensjonerer maskinen etter ytelseskravene som er satt av programvaren. En motsatt problemstilling er at en har en maskin med en gitt prosessor, maskinkraft og ytre enheter, og lurer på hva en kan bruke den til. En må da dimensjonere programvaren etter maskinens yteevne.