Operativsystemet Linux

I 1987 lanserte Andrew Tanenbaum operativsystemet MINIX, en mini-utgave av UNIX, beregnet på undervisningsformål. Basert på dette lanserte så Linus Thorvalds i 1991 Linux, versjon 0,02. Navn Linux laget han ved å kombinere ordene Linus og MINIX.

I motsetning til mange hva produsentene av andre operativsystemer gjorde, publiserte Thorvalds kildekoden Linux var bygget opp av, han gjorde det til åpen kildekode. Dette gjorde det mulig for brukere verden over å delta i videreutviklingen av Linux.

I august 2011 er siste stabile utgave av linuxkjernen versjon 3.0.1.

Mens den første utgaven bare hadde tekstskall, var primitiv, tung i bruk, og mest for spesielt interesserte, er moderne utgaver av Linux fullverdige, brukervennlige operativsystemer med et utvalg grafiske skall.

Linux-maskoten TUX
Linux-maskoten,
pingvinen TUX

Etter hvert har det kommet en mengde distributører av Linux. Felles for alle er at de tar utgangspunkt i en linuxkjerne, som de så gir sin egen innpakning. Noen er gratis, andre må en betale for.

Populære distribusjoner er RedHat, Debian, Mandriva (tidligere Mandrake), SUSE, Ubuntu, Caldera, Fedora og Knoppix. Knoppix er en spesiell variant som en ikke installeres, men startes direkte fra CD.

Skolelinux er en Debian-basert pakke som gjør det enkelt å installere et linuxbasert nettverk, ferdig konfigurert med tjenere og klienter. Skolelinux har også sin egen knoppixvariant, Snøfrix.

Linux distribusjoner
Diverse linuxdistribusjoner

Linux kontra Windows

Selv om det dominerende operativsystemet i PC-verdenen er Windows, er det en økende interesse for Linux.

En god grunn til å velge Linux er økonomi. Ikke bare kan en få systemet gratis, men fordi Linux krever mindre ressurser enn Windows, trenger en ikke skifte ut maskinparken så ofte.

En del velger også Linux som protest mot Microsofts dominerende rolle i verdensmarkedet.

Tradisjonelt har Linux vært kjent som et operativsystem for spesielt interesserte. Vanskelig å installere, og tungvint i bruk. I 2013 er dette avgjort ikke tilfelle. Det leveres distribusjoner av Linux som er svært enkle å installere, og Linux har grafiske grensesnitt som ikke står tilbake for Windows.

Standard programvare for kontorbruk følger med Linux. Eksempel på nettlesere er Konqueror og Firefox. Programpakka OpenOffice motsvarer Microsoft Office, og inneholder blant annet tekstbehandleren Writer, regnearket Calc, og presentasjonsprogrammet Impress. OpenOffice er kompatibelt med Microsoft Office, ved at det både kan åpne og lagre dokumenter på Office-format. OpenOffice er for øvrig tilgjengelig også for Windows og Mac.

Men generelt er utvalget av programvare mye mindre for Linux enn for Windows.

En kan gjerne ha både Linux og Windows installert på samme maskin. Ved oppstart velger en så hvilket av de to operativsystemene som skal startes. (Multi boot) Skolelinux gir imidlertid ikke mulighet for dette.

Administrering av prosessortid

Linux har, i motsetning til Windows og Mac, alltid benyttet preemptive multitasking, det vil si at mange programmer kan kjøre tilsynelatende samtidig, og at operativsystemet har det fulle ansvaret for at alle prosesser får sin rettmessige kjøretid. Det har også alltid vært mulig for flere brukere å være pålogget og kjøre programmer samtidig.

Prosessene kan gis varierende prioritet. Prioriteten kalles ′nice′ – ′snill′ i norskspråklig Linux, og kan variere fra -20 til 19, der 19 er laveste prioritet. Høyeste tall gir lavest prioritet, prosesser med høy snillhet overlater altså gjerne prosessoren til andre.

Ut over den prioriteten brukeren selv kan velge, har Linux et internt prioriteringssystem som sørger for at prosesser som krever kjapp respons, men ikke trenger kjøre lenge, blir prioritert høyt.

Overvåking av prosessor og internminne

I Linux kan en enkelt inspisere prosesser og minneforbruk. En kan også stoppe en prosess, eller endre prioriteten til den. Dette kan gjøres både i kommandoskall, og i grafiske skall.

I det grafiske skallet Gnome, for eksempel, finnes programmet «Systemmonitor». Når det startes, vises maskinens ressursbruk grafisk, som vist under. Her ser en at prosessoren for øyeblikket brukes 5 %, at bruken over tid ligger jevnt under 20 %, men med en topp på 60 %. 55,6 % av internminnet, og 3,9 % av sidevekslingsområdet er i bruk, og har nesten ikke endret seg de siste minuttene. En ser også hvor mye data maskinen har sendt og mottatt på nettverket.

Linux maskinressurser
Overvåking av maskinressurser

Klikker en på fanen «Prosesser», får en opp ei liste med informasjon om prosessene som kjører på maskinen. I utgangspunktet vises kolonner med prosessens navn, status, hvor mange prosent av prosessortiden den bruker, prioritet, id-nummer og minneforbruk. Men under menyvalget «Rediger» – «Brukervalg», kan en legge til mer informasjon, for eksempel hvem som eier prosessen.

I eksemplet under vises først en situasjon der supermann har startet tekstbehandlingsprogrammet Writer. Den tilhørende prosessen er i tilstand ′sover′, det vil si at den er suspendert, slik som illustrert i kapitlet Operativsystemer Generelt. Hver gang supermann trykker på en tast, vil den våkne til liv, og kjøre et lite øyeblikk.

En ser også en mengde andre prosesser som Linux har startet for supermann.

I neste bilde har supermann startet to programmer, tungjobb1 og tungjobb2, som krever mye prosessorkraft, og en ser at begge de tilhørende prosessene bruker 44 % av prosessorens totale kapasitet.

I siste bilde er ′nice′ for tungjobb1 økt, slik at prosessen får lavere prioritet. En ser da at tungjobb2 får tildelt prosessortid på bekostning av tungjobb1.

Linux-prosessen tilhørende "writer"
Prosessen til programmet «writer» sover mens det venter på et tastetrykk
To Linux-prosesser med samme prioritet
To prosesser med samme prioritet som får like mye prosessortid
to Linux-prosesser med ulik prioritet
To prosesser der den med lavest prioritet gir fra seg prosessortid til den andre

Filsystem

Linux støtter en mengde filsystemer. Det vanligste er ext4, ′fourth extended filesystem′, som har overtatt for forgjengeren ext3. Andre eksempler på Linux/Unix-baserte systemer er reiserfs og xfs. Linux er også i stand til å håndtere Windows filsystemer, og filsystemene på CD og DVD.

I et Linux filsystem har hver fil og katalog har en unik identifikator kalt inode. Inoden inneholder alle opplysninger om filen/katalogen, slik som størrelse, eier, sist endret, etc.

Flere filnavn kan referere til samme inode. Det vil si at Linux, i motsetning til Windows, kan referere til samme fil fra forskjellige plasser i katalogtreet. Slike filnavn kalles harde lenker. Linux har også myke lenker, som om lag tilsvarer snarveier i Windows.

Linux filsystemer er hierarkiske.

ext4 kan håndtere disker på opptil 1 EB (E = exa = 1018) , med en maksimal filstørrelse på 16 TB (T = tera = 1012).

I en standard Linux-installasjon vil en finne følgende kataloger:

/ Rot-katalogen.
/bin De viktigste kommandoene i operativsystemet.
/dev Drivere og lignende.
/etc Konfigurasjonsfiler.
/home Brukernes hjemmeområder.
/sbin Systemkommandoer.
/tmp Midlertidige filer.
/usr Forskjellige programmer.
/var Midlertidige filer som er mindre midlertidige enn /tmp. Loggfiler, utskriftsjobber, etc.

Skall

I utgangspunktet hadde Linux bare tekstskall, men i moderne utgaver kan en velge mellom flere grafiske skall, som i utseende og funksjonalitet likner svært mye på Windows.

De to mest populære er Gnome og KDE, vist i bildene under.

Linux Gnome grafisk skall
Det grafiske skallet Gnome
Linux KDE grafisk skall
Det grafiske skallet KDE

Tekstskall finnes det også mange av. De vanligste er bash – ′Bourne Again Shell′, tcsh – ′T-shell′ og zsh – ′Z-shell′, men noen Linux distribusjoner støtter også sh – ′Bourne shell′, csh – ′C-shell′ og ksh – ′Korn-shell′.

En kan kjøre et tekstskall uten å kjøre noe grafisk skall, men en kan også starte et tekstskall ved å velge «Systemverktøy» – «Terminal» i Gnome eller KDE.

En kan starte et tekstskall inni annet ved å skrive navnet på det, for eksempel «tcsh».

Grunnleggende tekstkommandoer likner mye på Windows tekstkommandoer.

Noen forskjeller er:

  • ls, ikke dir : Lister opp alle filer i ei mappe
  • cat, ikke type : Skriver ut innholdet av ei fil
  • cp, ikke copy : Lager en kopi av ei fil
  • mv, ikke ren : Navner om ei fil
  • rm, ikke del : Sletter ei fil

For å skille filer og mapper, brukes vanlig skråstrek ( / ), ikke baklengs skråstrek ( \ ) som i Windows. Et eksempel:

  • rm mappe1/mappe2/fil1 : Sletter «fil1» som ligger inni «mappe2» som ligger inni «mappe1».

For å avslutte tekstskallet, bruker en kommandoen exit.

Administrasjon av brukere og rettigheter

Linux har alltid hatt tilgangskontroll. For å kunne bruke systemet, må en logge inn med brukernavn og passord. En skiller på vanlige brukere med begrensede rettigheter, og superbruker som har alle rettigheter. Superbruker logger inn med brukernavnet ′root′. Vanlige brukere kan også opptre som superbrukere hvis de kjenner passordet. I et tekstskall blir en superbruker ved å skrive kommandoen ′su′, og deretter oppgi superbrukers passord. I et grafisk skall vil en bli spurt etter passord hvis en prøver å utføre en operasjon bare superbruker har tilgang til.

Alle brukere er medlemmer av ei eller flere grupper.

I filsystemet i Linux kan en tildele følgende rettigheter til filer og mapper:

Lese:
(r)
Lese ei fil, se innholdet i ei mappe.
Skrive:
(w)
Skrive til ei fil, opprette filer i ei mappe.
Kjøre:
(x)
Kjøre ei fil, gå inn i ei mappe.

Ei fil eller mappe vil alltid ha en eier, og tilhøre ei gruppe.

I et tekstskall vil rettighetene bli vist med «r» for leserettigheter, «w» for skriverettigheter, og «x» for rettigheter til å kjøre / se innhold. Ett sett med rettigheter for eieren, ett for medlemmer av gruppa, og ett for alle andre.

I bildet under ser en informasjon om fila «NyFil», som eies av «nilskh» og tilhører gruppe «studenter». «nilskh» har rettigheter til å lese og skrive, medlemmer av gruppa «studenter» kan lese, mens alle andre ikke har noen rettigheter overhodet.

Informasjon om fila NyFil i et tekstskall
Informasjon om fila NyFil i et tekstskall

Bildet under viser de samme rettighetene i det grafiske skallet Gnome.

Informasjon om fila NyFil i Gnome
Informasjon om fila NyFil i Gnome

 

Kilder

  • Arne B. Mikalsen og Per Borgesen: Drift av lokalnettverk. Design og sikkerhet. TISIP og TAPIR, 2005
  • John O′Gorman: Operating Systems with Linux. Palgrave 2001
  • David Elboth: Boken om Linux. IDG Norge Books AS, 2003
  • O′Reilly, 2000
  • Linux Kernel Archives

Operativsystemet Windows

Det dominerende operativsystemet i PC-verdenen er i 2013 Windows, som leveres av programvaregiganten Microsoft.

Historikk

Forløperen til Windows ble lansert i 1981 og het MS-DOS, en forkortelse for Microsoft Disk Operating System. MS-DOS hadde ikke noe grafisk skall, og brukerne måtte kommunisere med systemet ved hjelp av kommandoer i et tekstskall.

I 1985 kom den første utgave av Windows, Windows 1.0. I motsetning til MS-DOS, hadde Windows et grafisk skall, der brukerne kunne peke, klikke, dra, etc. Microsoft var allikevel ikke først ute med å lansere grafiske skall, konkurrenten Apple hadde gjort det året før, med sin Macintosh.

Windows 1.0 og etterfølgerne var trege, og ble aldri populære. Gjennombruddet kom med serien Windows 3.1x, lansert i 1992. Fremdeles startet imidlertid maskinene opp med tekstskallet til MS-DOS, og Windows opptrådte nærmest som et eget grafisk skall brukerne måtte kjøre. Dette ble endret i 1995 med Windows 95, der det grafiske skallet startet automatisk. MS-DOS fortsatte imidlertid å ligge i bunnen, også i etterfølgerne Windows 98, (1998) og Windows ME (2000).

En annen plattform uten MS-DOS var Windows NT, lansert for profesjonelt bruk i 1993, men først populær med versjonen NT 4.0 i 1996. Basert på NT kom Windows 2000, Windows XP (2001), Windows Server 2003, Windows Vista (2007), Windows Server 2008,  Windows 7 (2009), Windows Server 2012 og Windows 8 (2012). NT er forkortelse for New Technology.

Med NT-teknologien ble det vanlig å lansere flere utgaver av hvert operativsystem, til varierende grad av hjemme- og profesjonelt bruk. Windows Vista eksisterer således i seks utgaver. To av disse finnes attpå til i to varianter, med og uten Windows Media Player, fordi en EU-domstol har krevd at Microsoft åpner opp for konkurrerende programvare.

Windows-logoer
MS-DOS og Windows logoer gjennom tidene

Administrering av prosessortid

MS-DOS støttet i prinsippet ikke fleroppgavekjøring, men det lot seg allikevel gjøre å avbryte et kjørende program for å skifte over til et annet, som på forhånd var lagt klar i internminnet, for eksempel SideKick.

Med Windows kom muligheten for fleroppgavekjøring. I de første utgavene, før Windows 95 og Windows NT, var dette basert på samarbeid fra programmenes side. (Cooperative multitasking) Det vil si at programmene selv var ansvarlige for å gi fra seg kontrollen over prosessoren når deres kjøretid var over. Dette førte til lav stabilitet fordi et brukerprogram kunne låse maskinen fullstendig hvis det ikke ga fra seg kontrollen. I så fall måtte en slå av maskinen for å rydde opp.

Med Windows 95 og Windows NT ble ansvaret overtatt av operativsystemet selv. (Preemptive multitasking) Det betyr at Windows selv sørger for å tildele programmene kjøretid, og det er mulig å stanse et låst program uten å måtte slå av maskinen. Samtidig ble muligheten for flertrådet kjøring introdusert. Windows XP åpnet også for at flere brukere kan kjøre programmer samtidig.

Administrering av internminne

Den første utgaven av MS-DOS kunne maksimalt administrere et internminne på 64 kB, og microsoftgrunnleggeren Bill Gates skal visstnok tidlig på åttitallet ha sagt at ingen noen sinne ville trenge mer enn 640 kB. Moderne versjoner av Windows kan imidlertid håndtere 4 GB.

Windows sideveksler data mellom internminnet og fila pagefile.sys. Størrelsen på fila skal i utgangspunktet være satt til samme størrelse som internminnet + 12 MB, men kan endres av brukeren.

Overvåking av prosessor og internminne

I Windows kan en enkelt inspisere programmer, prosesser og minneforbruk. En kan også stoppe et program eller en prosess, eller endre prioriteten til en prosess.

Ved å klikke <ctrl><alt><del>, eller høyreklikke på oppgavelinjen nederst på skjermen, og velge «Oppgavebehandling», får en opp Windows Oppgavebehandling. Under fanen «Programmer» vises ei liste over alle brukerprogrammer, og deres status. Status er normalt «Kjører», men vil for et program som har låst seg være «Svarer ikke».

Klikker en på fanen «Prosesser», får en oversikt over alle prosesser som kjører, og hvem som eier dem. Prosessene kan være startet av brukerprogrammene, eller de kan være brukerprosesser som Windows starter i bakgrunnen. Operativsystemet Windows består også selv av en mengde prosesser, som dukker også opp i lista, eid av «SYSTEM». Oversikten viser også hvor mange prosent av prosessorens tid (CPU) en prosess bruker, og hvor mange kB internminne den legger beslag på.

Ved å høyreklikke på en prosess, kan en angi hva slags prioritet den skal ha, det vil si om Windows skal tildele den mer prosessortid (på bekostning av andre prosesser), eller mindre prosessortid (og la andre prosesser få mer tid).

Bildene under, der supermann har logget inn og startet Word illustrerer dette:

Windows programliste
Programliste
Windows prosessliste
Prosessliste
Windows prosessprioritet
Prosessprioritet
  • Øverst ser en at programmet Word kjører.
  • I midten ser en prosessen WINWORD.EXE som tilhører Word, men en også en mengde andre brukerprosesser som Windows har startet i bakgrunnen for supermann, for eksempel NalAgent.exe. Vi ser også tre av Windows egne prosesser, svchost.exe, wuauclt.exe og WMRUNDLL.EXE. Ingen av prosessene legger særlig beslag på prosessoren, tidsforbruket for CPU er rundet ned til 0 %. Kolonna til høyre, «Bruk av …», viser hvor mange kilobytes med internminne den enkelte prosessen legger beslag på.
  • Nederst er en i ferd med å endre prioriteten til WINWORD.EXE.

Klikker en på fanen «Ytelse», får en oversikt over total forbruk av prosessortid, samt minne og sideveksling. Et eksempel er vist i bildet under:

Windows ytelse, minneforbruk og sideveksling
Ytelse, minneforbruk og sideveksling
  • Øverst ser en til venstre at prosessene som kjører for øyeblikket bruker 4 % av prosessorens kapasitet. Til høyre ser en at prosessorbelastningen de siste minuttene har vært relativt lav, med unntak av en kort periode der belastningen plutselig går opp til 100 %. Kanskje startet supermann et nytt program akkurat da.
  • Nest øverst ser en til venstre at Windows har 283 MB fra internminnet liggende på sidevekslingsfila. Til høyre ser en at det ikke har vært noen særlig sidevekslingsaktivitet de siste minuttene.
  • Under «Totalt» ser en at det for øyeblikket kjører 39 prosesser som består av 465 tråder. Disse trådene benytter seg av totalt 8286 ressurser på maskinen, det vil si filer, nøkler i registeret, o.l.
  • «Fysisk minne» er internminne. En ser en at maskinen har 523808 kB = ca. 512 MB installert, 255476 kB av dette er ledig.
  • Under «Tildelt minne» ser en at 290292 kB av internminnet brukes – av supermann eller Windows. Tilgjengelig plass – i internminnet og sidevekslingsfila til sammen – er 2066972 kB, ca. 2 GB, altså fire ganger størrelsen på internminnet. Høyeste forbruk av minne siden maskinen startet har vært 301004 kB.
  • Under «Kjerneminne» ser vi at operativsystemkjernen i Windows bruker totalt 83932 kB minne, hvorav 76464 ligger i sidevekslingsfila, og 7468 kB i internminnet.

Filsystem

MS-DOS og eldre versjoner av Windows bruker et filsystem som heter FAT, File Allocation Table. Den første utgaven, FAT12, kunne ikke håndtere disker større enn 32 MB. Den siste utgaven, FAT32 kan imidlertid håndtere opp til 2 TB (1 TB = 1024 GB).

Nyere, NT-baserte versjoner av Windows, dvs. Windows 2000, Windows XP, Windows Vista og Windows Server, bruker imidlertid et filsystem som heter NTFS, New Technology File System. NTFS kan håndtere disker på opptil 256 TB, der hver enkelt fil kan være på opptil 2 TB. I motsetning til FAT gir NTFS mulighet for tilgangsrettigheter og kompresjon, det er mer pålitelig, og raskere på store disker.

Både FAT og NTFS er hierarkiske filsystemer.

En kan selv velge om en vil bruke FAT32 eller NTFS. Hvis en disk for eksempel skal være lesbar for Windows 98, kan en ikke benytte NTFS.

Med NTFS kan en innenfor visse grenser bestemme filsystemets klyngestørrelse. (Tildelingsenhet) Dette er illustrert i bildet under, der en i Min Datamaskin har høyreklikket på en disk, og valgt «Formater …». NB! Hvis en klikker på «Start», slettes alt innhold på disken.

Windows filsystem og klyngestørrelse
Valg av filsystem og klyngestørrelse (tildelingsenhet)

Skall

Det mest brukte skallet i Windows er det grafiske skallet, som illustrert under:

Windows grafisk skall
Grafisk skall: Skrivebordet i Windows XP

I det grafiske grensesnittet illustreres objekter (filer, mapper og snarveier) med ikoner. (miniatyrbilder) En kan en åpne ei fil eller mappe, eller følge en snarvei ved å dobbeltklikke på det tilhørende ikonet. (Enkeltklikke hvis en har valgt dette i «Mappealternativer») En kan flytte objekter inn i mapper ved å dra dem inn i den angjeldende mappa, og en kan slette dem ved å dra dem i søppelbøtta. En kan endre navnet på et objekt ved å høyreklikke på det og velge «Gi nytt navn», og kopiere et objekt ved å høyreklikke og velge «Kopier». En kan starte programmer fra menyen, eller ved å (dobbelt)klikke på en snarvei til programmet. Ikoner til mye brukte programmer kan en legge på oppgavelinjen, og starte programmet ved å klikke på det tilhørende ikonet.

Det finnes imidlertid også et tekstskall en kan få opp ved å velge «Kjør …» fra Start-menyen, og skrive «cmd»:

Winsdows tekstskall
Tekstskall i Windows XP

Her skriver en kommandoer på tastaturet, og trykker deretter linjeskift.

Eksempler på vanlige tekstkommandoer er:

  • dir : Lister opp alle filer i ei mappe
  • type fil : Skriver ut innholdet av «fil»
  • copy fil1 fil2 : Lager en kopi av «fil1» som heter «fil2»
  • ren fil1 fil2 : Navner om «fil1» til «fil2»
  • del fil1 : Sletter «fil1»
  • del fil1, fil2 : Sletter «fil1» og «fil2». (En kan oppgi mange filnavn, atskilt med komma)
  • mkdir mappe1 : Oppretter mappa «mappe1»
  • mkdir mappe1, mappe2 : Oppretter mappene «mappe1» og «mappe2». (En kan oppgi mange mappenavn, atskilt med komma)
  • mv fil1 mappe2. Flytter «fil1» inn i «mappe2»
  • rmdir mappe1 : Sletter mappa «mappe1»
  • rmdir mappe1, mappe2 : Sletter mappene «mappe1» og «mappe2». (En kan oppgi mange mappenavn, atskilt med komma)
  • cd «mappe1» : Går inn i mappa mappe1
  • cd .. : Går inn i mappa på nivået over.

Jokertegnet stjerne ( * ) betyr «alle». Eksempler på bruk sammen med del-kommandoen:

  • del * : Sletter alle filer i ei mappe.
  • del *.txt : Sletter alle filer i ei mappe som slutter på «.txt»
  • del bilde*.* : Sletter alle filer i ei mappe som begynner på «bilde»
  • del bilde*.jpg : Sletter alle filer i ei mappe som begynner på «bilde» og slutter på «.jpg»

Ei fil som ligger inni ei mappe, eller mapper som ligger inni hverandre, lister en opp med baklengs skråstrek ( \ ) mellom. For å referere til noe ett nivå opp, bruker en to prikker. ( .. ) Eksempler:

  • del mappe1\mappe2\fil1 : Sletter «fil1» som ligger inni «mappe2» som ligger inni mappe1.
  • del ..\fil1 : Sletter «fil1» som ligger i mappa over.
  • del ..\mappe2\fil1 : Sletter «fil1» som ligger inni «mappe2» som ligger inni mappa over.
  • del ..\..\fil1 : Sletter «fil1» som ligger to mapper over.

OBS! Kommandoen del sletter permanent. Det finnes ingen søppelbøtte å hente tilbake fra.

For å avslutte tekstskallet, bruker en kommandoen exit.

Eksempel på bruk av grafisk skall og tekstskall

En har ei mappe, «Privat», som inneholder ei undermappe «Velforening», og to filer «Referat1.doc» og «Referat2.doc». Så ønsker en å opprette ei ny mappe under «Velforening» som skal hete «Referater», og flytte de to referatfilene dit. Dette er illustrert under:

Filhierarki før endring
Situasjon før omorganisering
Filhierarki etter endring
Situasjon etter omorganisering

En måte å gjøre dette på i det grafiske skallet er å klikke seg inn i mappa «Velforening», høyreklikke, velge «Ny» – «Mappe», kalle mappa «Referater», og deretter klikke seg inn i den. Så åpne «Privat» på ny i et annet vindu, og dra «Referat1.doc» og «Referat2.doc» over i «Referater».

I tekstskallet kan en, når en står i mappa «Privat», gi dette kommandosettet:
mkdir Velforening\Referater
mv *.doc Velforening\Referater

Følgende kommandosett gjør akkurat det samme:
mkdir Velforening\Referater
cd Velforening\Referater
mv ..\..\*.doc

Administrasjon av brukere og rettigheter

MS-DOS, og de første versjonene av Windows var et rene enbrukersystemer, og hadde ingen mekanismer for tilgangskontroll. Alle som slo på PC-en fikk tilgang til alt som fantes på maskinen. Med Windows 95 kom mulighet for å kreve at brukerne logget seg på med passord. Adgangskontrollen var imidlertid primitiv og enkle å komme forbi, en kunne for eksempel hoppe over påloggingsbildet ved å trykke ′cancel′, eller starte systemet fra en diskett, og slette fila med passordinformasjon. Filsystemet som ble brukt, FAT32, hadde heller ingen mulighet for å sette rettigheter på filer og mapper.

Moderne windowsversjoner, som er basert på NT-teknologi, har mye bedre sikkerhet. Det er også mulig å opprette brukerkontoer med begrensede rettigheter, kun brukere definert som «administrator» har alle rettigheter. Det er mulig å aktivere en gjestekonto som gjør det mulig å få tilgang uten brukernavn og passord. Brukere av gjestekontoen har svært begrensede rettigheter.

I filsystemet NTFS kan en gi enkeltbrukere detaljerte tillatelser på filer og mapper:

Alle tillatelser: Alle rettigheter til ei fil/mappe. Lese, endre, slette, tildele rettigheter og ta eierskap.
Endre: Lese, endre slette, men ikke slette undermapper / filer.
Lese og kjøre: Lese innholdet i ei mappe, lese og kjøre ei fil.
Vise mappeinnhold: Lese innholdet i ei mappe
Lese: Lese ei fil, se innholdet i ei mappe.
Skrive: Skrive til ei fil, opprette filer i ei mappe.

Dette er standardrettigheter som igjen er sammensatt av 13 basisrettigheter.

Bildet under viser at Supermann har rettighetene «Lese» og «Skrive» til mappa «TMP».

NTFS tilgangsrettigheter
NTFS tilgangsrettigheter

Nyere versjoner av Windows tilbyr et overbygg som heter ′enkel fildeling′. Når enkel fildeling er slått på, kan en ikke detaljstyre rettighetene.

Kilder

  • Peter Norton′s Complete Guide to Windows 95. SAMS Publishing, 1995
  • Robert Cowart & Brian Knittel: Using Windows XP Home. Que Corporation, 2003
  • Arne B. Mikalsen og Per Borgesen: Drift av lokalnettverk. Design og sikkerhet. TISIP og TAPIR, 2005
  • Microsoft Hjelp og støtte

Operativsystemer generelt

I kapitlene om datateknologi beskrives datamaskinens hardvare, det vil si hvilke deler en datamaskin består av, og hvordan de fungerer. Men hardvare er ikke nok. For å få nytte av maskinen, må en også ha programvare til å kjøre på den. Hvilke programmer vi legger inn på maskinen vil variere, eksempler på populære programmer er tekstbehandlingsprogrammet Microsoft Word, og nettleseren Internet Explorer.

På alle datamaskiner kjører imidlertid et hovedprogram, operativsystemet, ofte forkortet OS. Operativsystemet samordner og administrerer maskinens mange deler. Det gjør det også mulig for mennesker å kommunisere med maskinen, og å kjøre programmer, slik som Word og Explorer. Et velkjent eksempel på et operativsystem er Windows, som er dominerende på hjemme-PC-er. Andre eksempler er Linux, Unix, Mac OS, Palm OS, OS/2, MS-DOS, og det norske SINTRAN.

Operativsystemets oppgaver
Operativsystemet administrerer datamaskinen

Operativsystemets hoveddeler

Operativsystemet består av to hoveddeler, kjernen og skallet. Kjernen ligger innerst og kommuniserer med maskinvaren. Skallet ligger ytterst og kommuniserer med brukerne.

Kjerne og skall
Operativsystemets to hoveddeler, kjernen og skallet

Kjernen

Kjernens hovedoppgaver er å

Administrere ressursene på maskinen, det vil si å sørge for at brukere og programmer deler ressursene rettferdig, uten å komme i konflikt med hverandre. De viktigste ressursene er:

  • Prosessortid.
  • Internminne (RAM).
  • Filsystem.
  • Utføre basisoperasjoner:

Registrere inndata fra brukerne, slik som tastetrykk, museklikk, og musebevegelser.

Sende utdata til skjerm og skrivere.

Kommunisere med nettverket.

Få operativsystemet i gang når maskinen slås på. Dette kalles gjerne booting, eller bootstrapping.

Administrering av prosessortid

At et program kjører på en datamaskin, betyr at det behandles av datamaskinens hjerne, prosessoren (CPU). På en datamaskin kjører gjerne en mengde programmer, som igjen kan bestå av en mengde enkeltprosesser. Mange datamaskiner har også ofte mange samtidige brukere. Men selv på en datamaskin med bare én prosessor, får tilsynelatende alle brukerne kjørt sine programmer samtidig. Dette er takket være operativsystemet, som sørger for at alle prosesser får sin rettmessige del av prosessorens arbeidskraft. Vi snakker om

Fleroppgavekjøring (Multitasking). Flere programmer kjører samtidig.

Flertrådet kjøring (Multithreading). Et program deles opp i flere prosesser (tråder), som kan kjøre samtidig.

Flerbrukerkjøring (Multi-user). Flere brukere kan kjøre samtidig.

Mange brukere kan altså kjøre mange programmer, som igjen kan bestå av mange prosesser. Operativsystemet selv eier også en mengde prosesser. Ved å la prosessoren bytte lynraskt mellom prosessene, skapes en illusjon av at alt kjører samtidig.

Skjematisk kan en tenke seg at alle prosessene står i kø for å få kjøretid, og når de har fått sine millisekunder, stiller de seg bakerst igjen – inntil de er ferdige og går ut av køen. En slik strategi heter round robin, og er den enkleste formen for prosessprioritering (scheduling). I praksis brukes imidlertid ofte mer innfløkte prioriteringsstrategier.

En annen sak er at en prosess ofte ikke er klar til å kjøre fordi den venter på noe, for eksempel data fra en I/O-enhet, så som et tastetrykk. I løpet av tiden mellom to tastetrykk kan en prosessor utføre millioner av operasjoner, så det ville være meningsløst å beholde en slik ventende prosess i køen. Den plasseres i stedet i ei liste med suspenderte prosesser, inntil den igjen er klar. Dette er illustrert under:

Livsløpet til en prosess
Livsløpet til en prosess

Administrering av internminne

Programmer som kjører, så vel som data de arbeider på, ligger i internminnet (RAM). Operativsystemet sørger for at alle programmer får tildelt sitt eget område i minnet, og holder kontroll på at ikke noe program får tilgang til andre programmers data. Prosesser (tråder) som tilhører samme program, kan imidlertid dele data.

Internminnet er ofte ikke stort nok til å holde på all informasjon samtidig. Operativsystemet håndterer dette ved en prosess som heter sideveksling, der en dumper deler av minnet som for øyeblikket ikke er i bruk til harddisken, og kopierer det inn igjen ved behov. En teknikk som heter virtuelt minne gjør at alt allikevel, sett fra prosessorens synsvinkel, tilsynelatende ligger i internminnet. Det finnes en mengde teknikker for å avgjøre hvilke deler av internminnet en skal velge å dumpe til disk, en vanlig metode er LRU, ′Least Recently Used′, som velger de deler av internminnet som har vært minst brukt den siste tiden.

Jo mindre internminne en maskin har, jo oftere må operativsystemet kopiere inn og ut fra disk. Siden lesing og skriving på disk er svært mye langsommere enn lesing og skriving i internminne, vil for lite internminne føre til en treg maskin. Det finnes en kritisk grense, der maskinen brått går over fra å fungere tilfredsstillende til å bli uakseptabelt treg.

Filsystem

Data som skal beholdes når datamaskinen slås av, lagres i filer på et medium der informasjonen beholdes når strømmen blir borte. (Ikke volatilt) Dette er gjerne maskinens harddisk, men kan også være en nettverksdisk, flash-minne, eller et hvilken som helst ikke-volatilt medium. Operativsystemet holder rede på disse dataene ved hjelp av et filsystem.

I tidlige filsystemer lå alle filene på en lang rekke etter hverandre, men i dag brukes hierarkiske systemer. Det vil si at filene organiseres i mapper (kataloger), som også kan inneholde andre mapper. Øverst ligger en spesiell mappe som kalles rotmappa. Når en tegner opp et slikt filsystem, får det form som et tre med rota i været. Dette er illustrert i figuren under, som viser et filhierarki med fire nivåer. På øverste nivå finner vi rotmappa, som inneholder mappene ′Privat′, ′Fag′ og ′Sport′. ′Privat′ inneholder fila ′Brevmal.doc′ og mappa ′Velforening′. ′Velforening′ inneholder igjen fila ′Navneliste.doc′ og mappa ′Referater′, etc. I praksis inneholder et filsystem mange flere nivåer, og mange flere mapper og filer på hvert nivå.

Filehierarki
Hierarkisk filstruktur

Mens en i internminnet kan lese og skrive én og én enhet (byte), kan en i filsystemet bare lese grupper av enheter. Den teoretisk minste gruppen er en sektor, men sektorene er i praksis gruppert i klynger, (clusters) som den minste enheten som kan lese og skrives. En typisk harddisk-klynge på en PC inneholder fire kilobytes. En kan imidlertid selv justere dette, ved å endre på hvor mange sektorer en klynge skal inneholde. En klynge kalles også en tildelingsenhet.

Siden en klynge er den minste lagringsenheten, vil en fil alltid oppta minst like mange lagringsenheter som det er i en klynge. Selv en fil med et innhold på bare 1 byte vil altså legge beslag på 4 kilobytes i et filsystem med en klyngestørrelse på 4 kilobytes. Filer som er for store til å få plass i en enkelt klynge, fordeles på flere klynger. Disse kan gjerne være spredd utover lagringsmediet.

Ved hjelp av tabeller holder operativsystemet rede på den hierarkiske strukturen i filsystemet, og hvilke klynger filene befinner seg i. Tabellen inneholder også informasjon om ledige klynger, og eventuelt ødelagte klynger.

Når en sletter en fil, gjør ofte operativsystemet bare en oppdatering av filtabellen ved å markere filens klynger som ledige. Selve fildataene forblir urørt. Det vil derfor ofte være mulig å hente fram igjen en slettet fil, så lenge ikke en har lagt inn noe nytt som har overskrevet klyngene.

Administrasjon av brukere og rettigheter

En ønsker ofte å begrense hvem som får bruke en datamaskin, og det er operativsystemets oppgave å sørge for tilgangskontroll. Den som vil inn, må logge på med brukernavn og passord, som operativsystemet så kontrollerer mot sine lister.

Etter innlogging sørger operativsystemet for å begrense brukerens aktiviteter til det vedkommende har rettigheter til. Rettigheter tildeles gjerne på forskjellige nivåer. På laveste nivå finnes gjestebrukere – med svært begrensede privilegier, på høyeste nivå superbrukere / administratorer med alle rettigheter.

Når mange brukere har tilgang til samme datamaskin, må operativsystemet sørge for at de ikke går i beina på hverandre. Det vil si sørge for at hver bruker får sin private plass i internminnet, at alle brukernes prosesser får kjøre, og at de enkelte brukernes filer og mapper holdes fra hverandre.

Filer og mapper har rettigheter som administreres av operativsystemet. Typiske rettigheter er ′lese′, ′skrive′, ′opprette′, ′endre′ og ′kjøre′. Rettighetene eieren av ei fil eller mappe har, vil kunne være forskjellig fra det andre har. Operativsystemene har avanserte mekanismer for å styre fil- og mappetilganger.

Bootstrapping

For at en skal kunne bruke en datamaskin, må den ha et operativsystem på plass. Når maskinen starter opp, må det derfor finnes en mekanisme som sørger for at operativsystemet kommer i gang. At denne mekanismen er operativsystemets oppgave, later til å være en cactch 22: En trenger et operativsystem for å få lastet inn operativsystemet. Dette har gitt opphav til navnet bootstrapping, som visstnok kommer fra en historie der Baron von Münchhausen unnslapp drukningsdøden ved å hale seg selv opp etter skolissene.

I praksis løser en problemet ved å la prosessen gå i flere trinn. En liten del av operativsystemet ligger hardkodet i datamaskinen, og begynner automatisk å kjøre når maskinen skrues på. Denne delen sørger så for at en større del av operativsystemet lastes inn fra disk, og denne kan igjen brukes til å laste inn enda mer, etc.

På en PC lokaliseres de første delene i et ROM-minne som heter BIOS. BIOS er forkortelse for Basic Input Output System, men betyr også ′liv′ på gresk. En del av innholdet i BIOS kan endres av brukeren, en kan for eksempel velge om den videre oppstarten skal skje fra harddisk, CD-ROM eller nettverk.

BIOS sørger for at det kjøres POST, Power On Self Test, der det sjekkes hva slags hardvare som er til stede, for eksempel hvor mye internminne maskinen har, og at hardvaren fungerer.

Deretter overføres kontrollen til en oppstartsenhet, det vil si harddisk, CD-ROM eller nettverk, alt etter hva brukeren har satt i BIOS. Fra oppstartsenheten leses først hovedpartisjonssektor (Master Boot Record), deretter lastes resten av systemet.

Skallet

Skallets oppgave er å gjøre brukeren i stand til å kommunisere med kjernen. I tidlige datamaskiner foregikk dette ved hjelp av et tekstskall, der brukeren skrev kommandoer på tastaturet, og fikk svar i form av tekst. Moderne datamaskiner har imidlertid ofte grafiske skall (GUI). Her kommuniserer brukeren ved å peke, klikke og dra. Et slikt skall er for eksempel det som møter oss når vi starter Windows.

Selv om grafiske skall er brukervennlige, har tekstskall også sine fordeler. De er lite ressurskrevende, og mye mer fleksible enn grafiske skall. Har en for eksempel hundre filer der en vil bytte ut ′.txt′ i filnavnet med ′.java′, gjøres det enkelt med noen få kodelinjer, i stedet for å hundre ganger måtte klikke på en fil, velge ′bytt navn′ fra en meny, og skrive inn navneendringen.

Figuren under bruker et tekstskall og et grafisk skall fra Windows til å vise innholdet i ei mappe som heter ′Privat′, og inneholder fila ′Brevmal.doc′ og mappa ′Velforening′.

Grafisk skall
Grafisk skall
Tekstskall
Tekstskall. («<DIR>» betyr ′directory′, altså ′mappe′.)

Kjernemodus og brukermodus

Det kan virke underlig at det er kjernen som tar imot tastetrykk fra brukerne, siden brukerkommunikasjon er skallets oppgave. Imidlertid er det kjernens oppgave å kommunisere med alle enheter som er tilkoplet datamaskinen. Det som skjer er at skallet ved hjelp av systemkall ber kjernen om å utføre oppgaver for seg, for eksempel å få data fra tastaturet. Når dette skjer, går prosessoren over fra å kjøre i brukermodus til å kjøre i kjernemodus, og det er kun i kjernemodus at det gis tilgang til vitale deler av maskinen. På den måten sikrer en seg mot at brukere tilsiktet eller utilsiktet ødelegger for seg selv eller andre.

I praksis bruker en ofte mange lag av sikkerhetsringer i stedet for bare to modi.

Noen gamle operativsystemer, slik som MS-DOS, hadde ingen slike sikkerhetssystemer, slik at brukeren enkelt kunne krasje maskinen fullstendig.

Kilder

  • Forelesningsnotater av Marit Fagernes
  • Bård Kjos: Informasjonsteknologi. Tapir Akademisk forlag, 2004

Informasjonskoding

I kapitlet om logiske porter og kapitlet om tallsystemer beskrives hvordan en datamaskin bruker totallsystemet (det binære tallsystemet) til å behandle informasjon, for eksempel kodes tallet 4210 som 1010102. Men også alt annet som lagres i en datamaskin, dokumenter, programmer, bilder, musikk, film, etc. kodes i totallsystemet, det vil si som sekvenser av 1 og 0. Ved hjelp av bare to ulike symboler er det altså mulig å representere all informasjon i hele verden!

Koding av tekst

Å kode tekst er rimelig liketil, en tilordner bare et tall til hvert enkelt tekstsymbol. Til å begynne med ble slik tilordning gjort ganske tilfeldig, slik at metoden varierte fra system til system og gjorde det vanskelig å flytte informasjon fra en datamaskin til en annen. For å bøte på problemet ble ASCII-systemet innført.

ASCII

ASCII står for ′American Standard Code for Information Interchange′, og var det første standardiserte systemet for oversetting mellom tekst og tall.

Et utvalg ASCII-koder er vist under. Som en ser, kodes f.eks. ′A′ som 6510 = 4116 = 10000012, ′a′ som 9710 = 6116 = 11000012, etc.

Tegn Desimal kode Heksadesimal kode Binær kode   Tegn Desimal kode Heksadesimal kode Binær kode
6 54 36 110110 Z 90 5A 1011010
7 55 37 110111 [ 91 5B 1011011
8 56 38 111000 \ 92 5C 1011100
9 57 39 111001 ] 93 5D 1011101
: 58 3A 111010 ^ 94 5E 1011110
; 59 3B 111011 _ 95 5F 1011111
< 60 3C 111100 ` 96 60 1100000
= 61 3D 111101 a 97 61 1100001
> 62 3E 111110 b 98 62 1100010
? 63 3F 111111 c 99 63 1100011
@ 64 40 1000000 d 100 64 1100100
A 65 41 1000001 e 101 65 1100101
B 66 42 1000010 f 102 66 1100110
C 67 43 1000011 g 103 67 1100111
D 68 44 1000100 h 104 68 1101000
E 69 45 1000101 i 105 69 1101001
Utdrag av ASCII-tabellen

Den første ASCII-tabellen inneholdt bare 95 tegn, og ingen hadde tenkt på at det ville bli behov for å kode bokstaver som ikke eksisterte i det engelske alfabetet, for eksempel ′Æ′, ′Ø′ og ′Å′. For å kunne representere nasjonale bokstaver, ble det laget en del klatteløsninger, der kodene varierte fra system til system. Det kunne f.eks. medføre at mens en på skjermen så bokstavene ′Æ′, ′Ø′ og ′Å′, ble de forvandlet til ′[′, ′\′ og ′]′ på utskrifter.

Det ble derfor laget en utvidet tabell med ytterligere 96 koder, extended ASCII (ISO 8859).

Unicode

De 191 kodene i extended ASCII blir allikevel for lite hvis en skal representere all verdens skriftsymboler. Det er derfor utviklet et nytt kodesystem, Unicode som inneholder over 50.000 symboler, tegn fra alfabetene i alle levende, og enkelte utdødde språk. Det er til og med foreslått å innarbeide Tolkiens alvespråk Tengwar, og Star Trek språket Klingon i Unicode. Unicode utvides ved behov, noe som f.eks. skjedde da Euro-symbolet ′€′ ble introdusert.

Koding av sammensatt informasjon

Koding av bilder, film, musikk, etc. er mer komplisert enn koding av tekst, men prinsippet er det samme, en følger et sett gitte regler for å oversette informasjon til tall.

Regelen for å oversette farger baserer seg på at alle farger kan bygges opp av de tre grunnfargene rød, grønn og blå. Ved å variere styrken på disse, kan en mengde fargenyanser representeres. Intensiteten på hver av grunnfargene angis ved hjelp av en styrkeskala som går fra 0 til 255 (FF16), noe som gir i alt 256 * 256 * 256 = 16777216 (100000016) kombinasjonsmuligheter, langt flere varianter enn øyet kan skjelne.

Fargestyrken angis med to heksadesimale sifre for hver farge (åtte binære), i rekkefølgen rød – grønn – blå. For eksempel betyr 473F8A16 = 0100011100111111100010102 en fargenyanse med en styrke på 4716 rødt, F816 grønt og 8A16 blått.

I bildet under kan du variere styrken på fargekomponentene, og se både hvordan den resulterende fargen blir, og hvilken heksadesimal kode som brukes til å representere den.

 

Rød

Grønn

Blå

Fargekode: 000000

Men et bilde består sjelden av en enkelt farge, slik som her. Da deler en bildet opp i enkeltelementer, piksler, og angir fargen piksel for piksel. Bildet over inneholder 125 * 125 = 15625 piksler.

Informasjonsmengden som trengs for å kode et bilde kan bli svært stor, og for å spare plass, kan en utføre en kompresjon. I bildet over for eksempel, trenger en ikke gjenta fargekoden 15625 ganger. Siden bildet bare har én farge, er det nok å angi fargekoden én gang, samt informere om hvor stort bildet er.

Når en skal lagre et bilde en har arbeidet med i et billedbehandlingsprogram, må en velge hva slags format en vil bruke. Eksempel på billedlagringsformater er JPEG, TIFF, GIF, PNG og BMP. Hver av disse har sin egen måte å kode billedinformasjonen på.

Dekoding

Når en skal hente ut informasjon fra datamaskinen og presentere den på skjerm eller skriver, må den dekodes. Det vil si at sekvensene av 1 og 0 må oversettes tilbake til det som var utgangspunktet, en tekst, et bilde, etc. For at dette skal være mulig, må en vite hvordan kodingen er gjort. Kjenner en ikke koden, er det umulig å reprodusere noe korrekt. Det er for eksempel ikke mulig å avgjøre om tallsekvensen 42524116 er en ASCII-kode som representerer ordet ′BRA′, om det er en fargenyanse med Rød = 4216, Grønn = 5216 og Blå = 4116, eller noe helt annet.

Opplysning om hvilken koding som er brukt, lagres i navnet som referer til et sett informasjon, filnavnet. Slutter et filnavn på ′txt′, har vi med bokstaver og tegn å gjøre. ′jpg′ er en type billedformat, ′mp3′ er et komprimert musikkformat, etc. Blir navnet feil, blir informasjonen mistolket. Et eksempel er vist under, der et bilde i jpg-format, ′mandrill.jpg′ har fått endret navn til ′mandrill.txt′. Datamaskinen tror da det dreier seg om ASCII-tekst, og åpner bildet i teksteditoren Notepad. Den binære informasjonen som egentlig beskriver et bilde, blir tolket som meningsløse sekvenser av bokstaver og tegn.

Mandrill
mandrill.jpg
Feiltolkning av bildefil
mandrill.txt

Med nye generasjoner programvare kommer nye formater, gamle forsvinner, og generasjonene går fort i dataverdenen. En risikerer derfor at informasjon som lagres i dag er uleselig om få år, fordi en ikke lenger har nøkkelen til å dekode den. Dette problemet er spesielt stort ved såkalte proprietære formater, der en bedrift har patent på et format, og innholdet ikke er offentlig kjent, slik det er i åpne standarder. For å kunne dekode informasjon lagret vha. en bedrifts programvare, er en helt avhengig av at bedriften fortsetter å eksistere, og fortsetter å levere programvare til bruk på nyere generasjoners maskiner.

Kilder

  • Gisle Hannemyr: Hva er Internett. Universitetsforlaget 2005

Tidlige datamaskiner

Babbages differanse- og analysemaskiner

For å kunne beskrive naturvitenskaplige fenomener, for eksempel forutsi når tidevannet var på sitt høyeste og laveste, var vitenskapsmenn avhengige av store tabellverk over vanlige matematiske funksjoner, som logaritmer, potenser, kvadratrøtter, etc. Slike tabeller ble beregnet for hånd av mennesker, kalt ′computers′. Til tross for at disse var utvalgt på grunn av sin store flid, nøyaktighet og regneevne, inneholdt tabellene deres mengder av feil. Derfor begynte Charles Babbage (1791-1871) å leke med tanken på at slike tabeller burde kunne beregnes mer nøyaktig av en maskin.

I 1822 startet han arbeidet med differansemaskinen, et mekanisk monstrum bestående av tannhjul, tapper og sveiver. Teknologien for å produsere tannhjulene var imidlertid ikke presis nok, og maskinen ble aldri ferdig. Han designet senere en ny utgave, men den ble heller ikke ferdig. I 1991 bygde imidlertid Science Museum i London denne maskinen, basert på Babbages originale tegninger. Maskinen virket perfekt, og produserte resultater med 31 siffer, langt mer enn dagens lommekalkulatorer gjør.

Basert på erfaringene med differansemaskinen ga Babbage seg i kast med en ny, mer generell maskin, analysemaskinen. Han hadde da klare ideer om maskinens generelle virkemåte. Maskinen skulle ha:

  • Egne formålstjenlige inngangsenheter.
  • Spesialisert aritmetisk enhet.
  • Sentral kontroll- og styreenhet.
  • Separate datalagere.
  • Egne utskriftsenheter.

En annen revolusjonerende idé var at Babbage så for seg at analysemaskinen skulle kunne programmeres. Dette mente han kunne gjøres ved hjelp av hullkort, etter modell av Jaquards vevstol.

Ada Lovelace (1815-1852) utviklet programmer til analysemaskinen, og sies derfor å være verdens første programmerer. I 1979 fikk hun programmeringsspråket Ada oppkalt etter seg.

På grunn av tekniske vanskeligheter og finansieringsproblemer, ble analysemaskinen heller aldri ferdig.

Charles Babbage
Charles Babbage
Differansemaskinen
Differansemaskinen i Science Museum, London

Holleriths hullkortmaskiner

Databehandlingen etter 1880-folketellingen i USA tok 7½ år, og kongressen utlyste derfor en konkurranse hvor de etterlyste bedre måter å tabulere resultatene på. Herman Hollerith (1860-1929) vant konkurransen overlegent med sin hullkortmaskin, basert på ideene fra Babbage og Jacquard. Maskinen talte opp data ved å føle etter hull i gitte posisjoner i pappbiter. Hollerith startet et firma for produksjon og salg av hullkortmaskiner. Dette firmaet ble senere til ′International Business Machines′, IBM. Hullkortmaskiner fikk stor praktisk anvendelse, og var enerådende fram til slutten av femtitallet.

Nordmannen Fredrik Rosing Bull (1882-1925) utviklet forbedrede utgave av hullkortmaskinene. Bulls oppfinnelser dannet grunnlaget for firmaet Bull.

Konrad Zuse og relé-maskinene

Tyskeren Konrad Zuse (1910-1995) var en sivilingeniør i konstruksjonsteknikk som på fritiden bygde datamaskiner hjemme i stua, sammen med sin gode venn Helmut Schreyer. Zuse introduserte det revolusjonerende konseptet å basere maskinen på det binære tallsystemet i stedet for det desimale. Den første maskinen, Z1, sto ferdig i 1937. Maskinen var rent mekanisk, men etterfølgeren, Z2, var delvis elektrisk, basert på telefonreleer.

Z3 som ble demonstrert i 1941, regnes som verdens første, fullt operative og programstyrte datamaskin. Z3 ble ødelagt under krigen, men en kopi er bygd, og befinner seg i Deutches Museum i München.

På grunn av det politiske klimaet var Zuses arbeid lite kjent blant samtidige forskere i England og USA.

Reproduksjon av Z3
Reproduksjon av Z3 i Deutches Museum, München

COLOSSUS

COLOSSUS var en hel-elektronisk digital maskin basert på radiorør, bygget under andre verdenskrig med det formål å knekke krypteringskodene i tyske meldinger som ble snappet opp. COLOSSUS ble kjørt første gang i desember 1944, og brøt krypteringskoden den var matet med i løpet av 10 minutter.

Colossus
Engelske kvinnelige militære kjører COLOSSUS

Atanasoff-Berry maskinen

Med det formål å løse ligninger, utviklet John Vincent Atanasoff (1903-1995) og hans hovedfagsstudent Clifford E. Berry (1918-1963) en maskin de kalte ABC, Atanasoff-Berry Computer. Maskinen som sto ferdig i 1942 var digital, og introduserte en ny form for datalagring ved hjelp av kondensatorer.

Mange av Atanasoffs konsepter ble videreført i ENIAC. Men Atanasoff fikk i 1971 etter mange rettssaker slått fast at han bygde den første elektroniske, digitale datamaskin.

Atanasoff-Berry maskinen
Skisse av Atanasoff-Berry maskinen

ENIAC

Basert på ideene til Atanasoff ble ENIAC, ′Electronic Numerical Integrator And Computer′, bygget. Maskinen sto ferdig i 1946, og var den første fullskala, generelle elektroniske digitale datamaskin. I motsetning var Atanasoff-Berry maskinen og COLOSSUS ikke generelle, og Z3 var ikke elektronisk men elektro-mekanisk, fordi den inneholdt releer.

ENIAC besto av 17.468 radiorør, 1500 releer og 87.200 andre elektroniske komponenter. Den inneholdt 5 millioner håndloddede koplingspunkter, veide 27 tonn, okkuperte 167 m2 gulvplass, og hadde et effektforbruk på 150 kW. Med 2004-teknologi ville en tilsvarende maskin fått plass på en 0,5 mm2 stor brikke.

Data ble lest inn ved hjelp av en IBM-hullkortleser, og skrevet ut ved hjelp av en IBM hullkort-puncher.

Målet med ENIAC var å raskt kunne beregne baner for ballistiske prosjektiler, men maskinen sto ikke ferdig før i 1946 da krigen var over.

ENIAC var ikke binær, men arbeidet i desimalsystemet.

ENIAC ble etterfulgt av maskinene EDVAC og UNIVAC, den første kommersielle datamaskin.

Eniac
ENIAC

Analoge datamaskiner

Det er verd å merke seg at digitale maskiner ikke alltid har vært enerådende. I naturvitenskap og teknikk finnes en lang rekke problemer som best løses ved hjelp av partielle differensialligninger, det vil si en kombinasjon av integraler. Slike problemer kan simuleres ved hjelp av analoge datamaskiner, der et problem løses ved hjelp av egenskapene til mekaniske eller elektroniske komponenter. De første analoge maskinene var rent mekaniske, bestående av skiver, kuler og hjul, men mekanikken ble etter hvert erstattet av elektronikk basert på såkalte operasjonsforsterkere.

Analoge datamaskiner ble blant annet benyttet til å beregne tidevannsbølger og prosjektilbaner.

Analoge datamaskiner er ikke lenger i særlig bruk.

Gonnellas integrator
Gonnellas hjul-på-skive integrator.

Kilder

  • Per A. Holst: Datateknologiens utvikling. Tapir Akademisk forlag, Trondheim 2001

PC-arkitektur

Von Neumann-arkitekturen

En datamaskin styres av programmer, det vil si sekvenser av instruksjoner som forteller hva den skal foreta seg. Det kan for eksempel være å addere to tall, flytte tall fra én plass til en annen, eller hoppe til en instruksjon på et annet sted.

De første datamaskinene inneholdt ikke programmer, men ble styrt av en mengde koplinger som måtte endres hver gang maskinen skulle utføre en ny oppgave, noe som kunne ta dagevis. Det var derfor en revolusjon da John von Neumann i 1946 foreslo at en datamaskin kunne styres av programmer som lagres i maskinen på samme måte som andre data. Dette ga opphav til den så kalte von Neumann-arkitekturen, som er det vanligste prinsippet i moderne datamaskiner, og enerådende i PC-er. Instruksjonene er lagret i internminnet, og behandles én for én av en prosessor.

Von neumann-arkitekturen
Von Neumann-arkitekturen. Programmene lagres på samme måte som data. 

Hovedkomponenter

Grovt sett kan en si at en PC består av komponentene prosessor (CPU), internminne (RAM), inn/ut-enheter (I/O), og en systembuss. Databehandlingen foregår i prosessoren. Den henter sine instruksjoner fra primærlageret, og data skyfles fram og tilbake mellom prosessoren, primærlageret og inn/ut-enhetene, alt via systembussen. Dette er illustrert i figuren under.

PC-arkitektur
Overordnet PC-arkitektur, med eksempler på vanlige I/O-enheter

Prosessoren

Prosessoren er datamaskinens hjerne. I en PC består prosessoren av en enkelt integrert krets og kalles en mikroprosessor. Verdens første mikroprosessor ble lansert av Intel i 1971, og Intel har siden da forsynt markedet med stadig nye generasjoner mikroprosessorer.

Fra 1971 til 2008 har antallet transistorer i mikroprosessoren økt fra ca. 2300 til 2 milliarder, det vil si at antallet er fordoblet om lag 19,5 ganger. I følge Moores lov skal en slik økning i kompleksitet ta ca. 19,5 * 2 = 39 år, noe som ikke er langt unna tidsrommet fra 1971 til 2008.

De store Intel prosessorfamiliene er Pentium, og den noe rimeligere Celereon. En annen viktig leverandør av mikroprosessorer er AMD.

Intel Pentium Intel Celeron Intel idiot
Diverse Intel-logoer
Prosessorens hovedkomponenter

Figuren under viser et forenklet, skjematisk diagram av en mikroprosessor.

Mikroprosessorens arkitektur
De viktigste komponentene i en mikroprosessor
ALU

ALU står for ′Arithmetic/Logic Unit′. Ved hjelp av logiske porter utfører ALU elementær aritmetikk, eller avgjør om en logisk betingelse er sann eller usann.

Registre

Registrene er små, lynraske minneceller, som en moderne prosessor har noen hundre av. Verdiene som ALU opererer på ligger i registre, dit legges resultatene som ALU produserer, og ALU bruker dem til mellomlagringer. Instruksjonsregistret inneholder den instruksjonen som ALU for øyeblikket arbeider med, og instruksjonspekeren er et register som forteller hvor i internminnet neste instruksjon skal hentes.

Bussgrensesnitt

Bussgrensesnittet håndterer prosessorens kommunikasjon med omverdenen.

Instruksjonshenter

Instruksjonshenteren sørger for å, via bussgrensesnittet, hente neste instruksjon som skal utføres, og overlate den til instruksjonsdekoderen.

Instruksjonsdekoder

Instruksjonsdekoderen dekoder instruksjonen som ALU skal utføre, og plasserer resultatet i registre.

Prosessorens arbeidssyklus

I prinsippet gjennomføres en prosessors arbeidssyklus slik:

  1. Instruksjonshenteren sjekker instruksjonspekeren (programtelleren) for å finne ut hvilken adresse i internminnet neste instruksjon skal hentes fra, og kontakter bussgrensesnittet med denne informasjonen.
     
  2. Instruksjonen kommer inn via bussgrensesnittet.
     
  3. Instruksjonspekeren settes til å peke på neste instruksjon.
     
  4. Instruksjonen dekodes av instruksjonsdekoderen og resultatet lagres i registre.
     
  5. ALU utfører instruksjonen, og resulterende verdier plasseres i registre. Dersom instruksjonen er en hopp-instruksjon, oppdateres registret som inneholder instruksjonspekeren. (En hopp-instruksjon er en instruksjon som forteller at programutførelsen skal fortsette en ny plass)

I praksis er det hele mer komplekst, moderne prosessorer inneholder blant annet komponenter som hele tiden prøver å hente instruksjoner og data før det faktisk blir behov for dem.

Prosessorens arbeidssyklus styres av ei klokke. Selv om det kan variere hvor mange klokketikk en prosessor trenger for å utføre en oppgave, gir klokkehastigheten allikevel en pekepinn på prosessorens arbeidskapasitet. Klokka i en moderne mikroprosessor arbeider med en frekvens på i overkant av 3 GHz, det vil si at den tikker mer enn 3 milliarder ganger pr. sekund.

Moderne prosessorer kan ha flere kjerner, noe som gjør det mulig å behandle flere instruksjoner i parallell.

Innpakning

Moderne prosessorer leveres i flate, keramiske pakninger med tilkoplingspunktene i form av en benmatrise på undersiden. Dagens prosessorer produserer svært mye varme som må ledes bort, og er derfor påmontert kjølevifte. Tidligere utgaver arbeidet med lavere klokkefrekvens, og gikk ikke så varme. En kan derfor i eldre PC-er finne prosessorer med kjøleribber, eller uten noe kjølesystem i det hele tatt.

Overside av prosessor Underside av prosessor Prosessor med påmontert kjølevifte
Mikroprosessor sett fra oversiden og undersiden, samt kjølevifte

Internminnet

Internminnet er en lagringsplass for data og programmer, som prosessoren hyppig refererer til når den arbeider. Internminne kalles også gjerne primærminne eller RAM. RAM er nærmere beskrevet i kapitlet om datalagring. En standard PC er i 2013 utstyrt med 4 – 8 GB RAM.

Systembuss

Systembussen er PC-ens nervesystem, og frakter informasjon rundt mellom de forskjellige enhetene. Den består av tre hoveddeler: Databuss, adressebuss og kontrollbuss. Databussen frakter selve dataene. Adressebussen brukes for å fortelle hvor data skal skrives eller leses. Dette kan enten være et sted i RAM, eller på en I/O-enhet. Kontrollbussen brukes til å overføre forskjellige kontrollsignaler mellom enhetene.

Systembussen har en bredde som forteller hvor mange informasjonsenheter (bits) den kan overføre samtidig. Tidlige systembusser hadde en bredde på bare 8 bits, mens en moderne buss kan ha bredde på 64 bits.

I/O-enheter

Alle PC-er er beregnet på å koples til enheter som gjør det mulig for dem å kommunisere med mennesker: Et tastatur og en mus, som er rene inn-enheter, og en skjerm, som er en ren ut-enhet.

I tillegg er så godt som alle PC-er utstyrt med en harddisk som brukes til å lagre data og programmer. Harddisker er nærmere beskrevet i kapitlet om datalagring. En standard PC har i 2013 harddisk med lagringskapasitet på 500 GB – 2 TB.

For å kunne kommunisere med et nettverk, kommer de fleste PC-er i dag ferdig utstyrt med nettverkskort. Tidligere var nettverk mest brukt på arbeidsplasser og lignende, der en knyttet de enkelte PC-ene til felles ressurser. Internett har imidlertid ført til at det i dag også er blitt svært vanlig med nettverkstilknytning hjemme.

Moderne PC-er er utstyrt med USB-porter, der en kan kople til eksterne enheter. USB står for ′Universal Serial Bus′, og er egentlig en egen buss som er koplet til PC-ens PCI-buss. Det meste av moderne utstyr beregnet på PC-tilknytning, kan koples til en USB-port. Minnepinner, digitalkameraer, skannere, skrivere, etc. De første USB-portene hadde begrenset kapasitet, med en overføringshastighet på 1,5 Mbits/s, altså 1,5 millioner informasjonsenheter (bits) per sekund. Senere kom en ny standard, USB 2, med en overføringshastighet på 480 Mbits/s, og denne er igjen blitt fulgt av USB 3, med en hastighet på opptil 5 Gbits/s

USB-plugg USB-kontakter USB-symbol
Plugg, tilkoplingskontakter og symbol for USB

I en periode var busstandarden FireWire (IEEE 1394) et raskere alternativ enn USB, og PC-er ble levert med FireWire-kontakter. FireWire ble typisk brukt til utstyr som skulle overføre store mengder data, slik som digitale videokameraer. Men med nye superraske USB-standarder, er ikke FireWire lenger så mye i bruk. Vil en ha FireWire på PC-en, må en som regel kjøpe et eget FireWire-kort, og plugge det inn i en av maskinens utvidelsessokler.

FireWire-plugg FireWire-kontakter FireWire-symbol
Plugg, tilkoplingskontakter og symbol for FireWire

Utvidelsessokler

Har en bruk for I/O-enheter som ikke er innebygd i PC-en, kan en montere tilleggskort. Dette kan for eksempel være ISDN-kort, trådløskort, eller FireWire-kort. De aller fleste PC-er har minst tre utvidelsessokler. Moderne utvidelsessokler er koplet til PCI-bussen. Det finnes utgaver både for bussbredder på 32 og 64 bits.

32-bits sokkel 64-bits sokkel
32-bits og 64-bits PCI tilkoplingssokler

En PC har gjerne i tillegg en sokkel på AGP-bussen, beregnet på tilkopling av grafikkort.

Plug and Play

Før i tida krevdes det spesialkunnskap for å få tilleggskort til å virke. Moderne PC-er og tilleggskort støtter imidlertid Plug and Play, PnP. Det betyr at en ganske enkelt kan slå maskinen av, plugge i tilleggskortet, og starte opp igjen. Maskinen oppdager selv at den har fått et nytt kort, og gjør de nødvendige konfigurasjonene.

I en del tilfeller trenger en ikke en gang slå av maskinen for å plugge inn nytt utstyr. Typisk vil dette være enheter som plugges inn via USB eller FireWire. Enhetene kan plugges inn og ut mens maskinene er i gang, noe som kalles hot-swapping.

Cache

Sett i forhold til hastigheten en mikroprosessor arbeider med, kan det ta svært lang tid å hente data fra internminnet. En PC er derfor utstyrt med cache, som er et hurtig minne knyttet til prosessoren via en lynrask buss. Cache er vanligvis konstruert av SRAM, beskrevet i kapitlet om datalagring. Cache inneholder utdrag av det som finnes i internminnet, og egne styringskretser prøver å sørge for at utdraget til enhver tid er det som prosessoren skal arbeide med.

I tillegg til cache i form av en separat minnebrikke, har en moderne mikroprosessor også en egen cache plassert direkte på selve prosessorbrikken. Denne har svært liten lagringskapasitet, men er til gjengjeld ekstremt rask.

Utseende

En skjematisk tegning av de viktigste delene i et PC-kabinett er vist under.

PC-kabinett
  1. Skjerm
  2. Hovedkort
  3. Mikroprosessor
  4. Internminne
  5. Tilleggskort
  6. Strømforsyning
  7. CD / DVD-stasjon
  8. Harddisk
  9. Tastatur
  10. Mus

På del 2, hovedkortet, er det aller meste som ikke er I/O-enheter montert. I bildet under er det vist et hovedkort med en oversikt over de viktigste delene.

Hovedkort
  1. Sokkel til mikroprosessor.
  2. Brikkesett. Gir prosessoren et uniformt grensesnitt mot maskinvaren.
  3. IDE-kontakter. Tilkoplingssokler for kabel til harddisk, CD-stasjon, o.l.
  4. Strømforsyningskontakter.
  5. Seriell-ATA kontakter. Tilkoplingskontakter for kabel til harddisk, etc. som forventes å erstatte IDE.
  6. Batteri. Holder i gang sanntidsklokka når strømmen er slått av.
  7. Diskettstasjonskontakt.
  8. CNR-spor. Spor for innplugging av tilleggskort som arbeider sammen med hovedkortet.
  9. Sokler for tilleggskort på PCI-bussen.
  10. Sokkel for tilleggskort på AGP-bussen. (Grafikkort).
  11. Audio-porter. Tilkopling for høyttalere, hodetelefoner og mikrofon.
  12. Nettverkskontakt.
  13. USB-porter.
  14. Parallellport. Port som tidligere ble brukt til å kople til skrivere, skannere, etc. I dag har USB tatt over det meste av parallellportens rolle.
  15. Seriell port. Port som tidligere ble brukt til å kople til tastatur, mus, etc. I dag koples imidlertid mus og tastatur til i innganger laget spesielt for dette.
  16. PS/2-plugg for tastatur. Standarden med de fargekodede PS/2-pluggene stammer fra IBMs mislykkede PC-generasjon PS/2.
  17. PS/2-plugg for mus.
  18. Sokler for RAM-brikker. (Internminne)

Kilder

  • Jarle Aase, Clemet Thærie Bjorbæk: Maskinvare og operativsystemer. Fagbokforlaget 2004
  • Deborah Morley, Charles S. Parker: Understanding Computers: Today and Tomorrow. Thomson Course Technology 2006
  • Bård Kjos: Innføring i informasjonsteknologi. Tapir Akademisk forlag, Trondheim 2005
  • Per A. Holst: Datateknologiens utvikling. Tapir Akademisk forlag, Trondheim 2001
  • Cornelia Brodahl. Materiale fra INF 104, HiA 2005

Datalagring

En datamaskin vil alltid ha behov for å lagre data, enten midlertidig eller permanent. Siden en datamaskin arbeider i totallsystemet, gjør den vanligvis dette ved å la ′tilstedeværelse′ bety 1, og ′ikke tilstedeværelse′ bety 0, slik som beskrevet i kapitlet om tallsystemer. Det kan være tilstedeværelse av en elektrisk ladning, magnetisme, hull i ei papplate, mikroskopiske merker i en optisk disk, etc.

Et lagringsmedium er enten volatilt (flyktig) eller ikke-volatilt. Et volatilt medium mister sin informasjon når kraftforsyningen (strømmen) forsvinner, mens et ikke-volatilt beholder den.

Mekaniske media

De første datamaskinene som ble bygget, var rent mekaniske, og baserte datalageret på posisjonen til tannhjul, stag eller pinner. Også hullkortet var opprinnelig en rent mekanisk innretning, der følere registrerte hvor det var stanset hull i ei papplate. Senere ble følerne erstattet med optiske lesere, og hullkort var i bruk helt opp til 1980-årene. Men mekaniske media er ikke lenger i bruk.

Hullkort
Hullkort med del av et Fortran-program

Mekaniske media er ikke-volatile.

Magnetiske media

Magnetiske media baserer seg på materiale som kan magnetiseres. Styrken eller retningen på magnetfeltet i et gitt punkt avgjør om punktet representerer 0 eller 1.

Magnetiske media er ikke-volatile.

Kjerneminne

Kjerneminne består av en matrise med små magnetiserbare ringer. Kjerneminne er for lengst historie, og i moderne datamaskiner erstattet av elektroniske komponenter. Det er allikevel verdt å nevne fordi det engelske navnet, ′core memory′, av og til dukker opp som betegnelse på en maskins internminne.

Kjerneminne
Kjerneminne

Magnetbånd

På samme måte som magnetbånd kan benyttes til å spille inn lyd og bilde, kan det også brukes til å lagre data. Et magnetbånd er en lang plaststrimmel med et magnetiserbart belegg. Fra begynnelsen av femtitallet til ut på åttitallet var magnetbåndet en viktig lagringsenhet. I stormaskiner i form av store båndspoler, og i hjemmedatamaskiner i form av kassetter.

En klar ulempe med magnetbånd er at de er et sekvensielle. Hvis datamaskinen for eksempel befinner seg i begynnelsen av båndet og skal ha tak i noe på slutten, må den spole dit, noe som tar lang tid og gir mye slitasje. Harddisker har derfor overtatt det meste av båndet rolle.

Magnetbånd brukes imidlertid fremdeles til sikkerhetskopiering, der data leses og skrives sekvensielt. Men i stedet for store spoler brukes små, kompakte kassetter.

10,5 tommers båndspole
10,5 tommers båndspole
Stormaskin
CDC-6600 stormaskin fra 1970-årene med en rekke båndspoler
Kassetter
1/4 tommers kassetter til sikkerhetskopiering

Harddisker

En harddisk består av et antall plater som roterer med høy hastighet. Platene har et tynt, magnetiserbart belegg på begge sider, der dataene er lagret i konsentriske spor, som igjen er delt opp i sektorer, slik det er vist i skissen under. En sektor er den minste enheten som kan leses eller skrives til disken.

Prinsippskisse av harddisk
Prinsippskisse av en harddisk

Data hentes fra og lagres på platene ved hjelp av lese/skrivehoder. Disse hodene er ikke i berøring med platen, men svever på luftstrømmen mindre enn en hundre tusendels millimeter fra overflaten, noe som tilsvarer om lag en ti­tusendedel av tykkelsen på et menneskehår. Hodene kan bevege seg på tvers av platene, og derved nå all informasjon rimelig kjapt.

På grunn av at hodene beveger seg så nærme den magnetiske overflaten at de vil kollidere med noe så lite som en røykpartikkel, er lufta inne i en harddisk 100 % ren. På fabrikken monteres og forsegles harddiskene i absolutt støvfrie rom. Tar man lokket av en harddisk i et vanlig rom, er den ødelagt.

Harddisk
Harddisk med lokket fjernet

Magnetiske harddiskene ser nå ut til gradvis å forsvinne, og erstattes av det elektroniske lagringsmediet SSD.

Disketter

For å flytte data fra en maskin til en annen var disketter lenge enerådende. Ny programvare ble gjerne også levert på diskett. En diskett minnet i prinsippet om en harddisk, men besto bare av ei enkelt plate. Som det engelske navnet ′floppy disk′ antyder, var den laget av tynn, bøyelig plast. Lese/skrivehodene ble klemt inn mot plata i stedet for å sveve over, og levetiden var derfor begrenset.

Tidlige disketter hadde en diameter på 8, senere 5 1/4 tommer, og den magnetiserbare skiva lå i noe som nærmest var en konvolutt av papp. Deretter kom 3 1/2 toms disketter med konvolutten erstattet av et hardt plasthylster.

Lagringskapasiteten på disketter utviklet seg imidlertid lite, og ble i mange år liggende på 1,44 MB. Den lave kapasiteten og dårlige driftssikkerheten gjorde at diskettens æra tok slutt, og PC-er leveres i 2011 vanligvis ikke med diskettstasjon. Dataoverføring mellom maskiner skjer med flash-minnepinner eller via nettet. Programvare leveres på CD eller DVD, eller lastes direkte ned fra nettet.

Diskett
Komponentene i en diskett:
1: Tagg for skrivebeskyttelse
2: Nav
3: Beskyttelseslokk
4: Plasteske
5: Papir
6: Magnetiserbar disk med spor og sektorer tegnet inn.
7: Eksempel på en sektor.

Elektroniske media

Elektroniske media lagrer informasjon ved hjelp av elektroniske komponenter og kretser.

Elektroniske media finnes i både volatile og ikke-volatile former.

RAM

Navnet RAM står egentlig for ′Random Access Memory′, og henspiller på at skriving og lesing kan gjøres hvor som helst i mediet, i motsetning til for eksempel bånd som må skrives/leses i sekvens, og disker som må skrives/leses sektorvis. Det finnes imidlertid lagringsmedia som er ′Random Access′, selv om de ikke har RAM i navnet, så begrepet er litt misvisende.

I dagligtale brukes begrepet RAM om en datamaskins internminne, slik det er beskrevet i kapitlet om PC-arkitektur.

RAM er volatilt, og finnes i to hovedtyper: Dynamisk, DRAM, og statisk, SRAM.

DRAM bruker ladningen i en kondensator til å representere 0 eller 1. Teknikken krever få komponenter pr. minnecelle (bit), noe som betyr at integrerte kretser med denne teknikken får høy kapasitet. Ulempen er at ladningen i en kondensator lekker ut, slik at den må oppfriskes med jevne mellomrom. Mens oppfriskning pågår kan data ikke leses eller skrives på brikken, noe som nedsetter hurtigheten. Det finnes et utall undervarianter av DRAM, blant annet den raskere, mye brukte SDRAM.

SRAM bruker ikke kondensatorer, men logiske porter til å representere 0 eller 1. I kapitlet om logiske porter, vises det hvordan dette kan gjøres. SRAM trenger ikke oppfriskes, og blir derved mer effektivt enn DRAM. Ulempen er at SRAM krever mange flere komponenter pr. minnecelle, og derfor blir dyrere.

NB! Selv om SRAM ikke trenger å oppfriskes, er det allikevel volatilt. All informasjon forsvinner når strømmen skrus av.

Bildet under viser RAM-brikker i forskjellig montasje. Lengst til venstre er en enkelt RAM-brikke i ′Dual In Line Package′, DIP. Så følger et kretskort med RAM-brikker i ′Single In-line Pin Package′, SIPP. Deretter to varianter av ′Single In-line Memory Module′, SIMM. Så to varianter av ′Dual In-line Memory Module′, DIMM, som er vanligst i moderne PC-er, og en ′Direct Rambus DRAM′, RDRAM. Lengst til høyre vises en ′Small Outline DIMM′, SO-DIMM. Denne varianten er vanlig i bærbare PC-er.

RAM
RAM-brikker i forskjellig montasje

ROM

ROM står for ′Read Only Memory′, og er minne som er beregnet på i hovedsak å leses.

ROM er ikke-volatilt.

Data i ROM kan være skrevet inn én gang for alle på en fabrikk, men det finnes varianter som lar brukeren lagre data selv, én eller flere ganger:

I PROM, ′Programmable ROM′, brenner brukeren inn sine data ved hjelp av en PROM-brenner. Den fungerer ved å brenne av små sikringstråder der en skal lagre 0, og ikke brenne trådene der en skal lagre 1. PROM kan bare brennes én gang.

I en EPROM, ′Erasable Programmable ROM′, lagres data på en mindre drastisk måte enn i en PROM. Ved hjelp av floating gate transistorer representeres 1 og 0 ved hjelp av små, elektriske ladninger. Ladningene lekker svært langsomt ut, slik at en EPROM vil kunne beholde sitt innhold i ti – tjue år. I motsetning til PROM kan en EPROM programmeres flere ganger, men før den programmeres på nytt, må den tømmes for gammelt innhold. Dette gjøres ved å utsette brikken for ultrafiolett lys. En EPROM kan derfor kjennes igjen på at den har et vindu. Vinduet er imidlertid vanligvis dekket med en etikett for å unngå utilsiktet sletting.

EPROM
EPROM med blottlagt vindu

I EEPROM, ′Electronically Erasable Programmable′ ROM kan innholdet slettes elektronisk. Sletting kan gjøres minnecelle for minnecelle, det er ikke nødvendig å slette alt på en gang, slik som i EPROM. Sletting av en minnecelle tar imidlertid lang tid, flere millisekunder.

Hver sletting av en ROM-brikke sliter på den, men moderne brikker tåler ti tusenvis av slettinger.

Flash

Flash er en variant av EEPROM, men innholdet trenger ikke slettes celle for celle, men kan nullstilles blokkvis – i en ′flash′. Det betyr at flash er raskt nok til å være et praktisk medium for både for lagring og lesing. Det er ikke-volatilt, slik at lagrede data vil bli liggende selv om strømmen koples fra.

Flash memorysticks, såkalte minnepinner er derfor blitt svært populære. De kan plugges inn og ut av datamaskinene, og har så godt som erstattet diskettene.

Lagringskapasiteten øker raskt, og det blir i 2013 lansert en memorystick med en kapasitet på 1 TB.

USB-flash i Swiss Army-modell USB-flash i sushi-modell
USB-flash i Lego-modell USB-flash i standard-modell
Diverse utgaver av flash minnepinner

SSD

Solid-state drive, SSD, er et elektronisk lagringsmedium som mer og mer erstatter valige harddisker. SSD inneholder ingen bevegelige deler, og er derfor mer robust og fullstendig stillegående. Lav vekt er også en fordel, spesielt i bærbare PC-er.

SSD er nesten utelukkende basert på flash.

Kapasiteten på SSD øker, det lanseres i 2013 SSD på 2 TB. De største diskene ligger imidlertid ganske høyt i pris, så tradisjonelle harddisker er fremdeles ikke helt utkonkurrert.

Optiske media

Optiske media er basert på refleksjon av lys. 1 og 0 representeres ved reflekterende eller ikke-reflekterende punkter i en roterende overflate.

Optiske media er ikke-volatile.

CD

CD står for ′Compact Disc′, og er en plastskive med et sjikt reflekterende materiale. Data er organisert i spor og sektorer, mye på samme måte som på en diskett eller harddisk. En liten forskjell er imidlertid at mens en harddisk inneholder et antall konsentriske spor, består en CD av ett langt, spiralformet spor som leses innenfra og utover. Et lese/skrivehode kan bevege seg på tvers av plata, og derved nå all informasjon rimelig kjapt.

Vanlig lagringskapasitet på en CD er 650 eller 700 MB.

En CD leses av ved hjelp av en svak laserstråle. CD-plata roterer under strålen, og det måles punkt for punkt om strålen reflekteres eller ikke.

CD-ROM står for ′Compact Disc Read Only Memory′, og betegner CD-er som leveres ferdig med innhold. På fabrikken har en brukt en kraftig laser til å brenne merker i det reflekterende materialet.

Nesten all programvare selges i dag på CD-ROM eller DVD-ROM. Tidligere bruktes disketter, men med den dårlige lagringskapasiteten ville dagens programmer krevd dusinvis, hundrevis eller kanskje tusenvis av disketter.

Til å spille av en CD-ROM brukes en CD-ROM spiller. Avlesningshastigheten for CD-ROM var i utgangspunktet den samme som for en musikk-CD, men økte snart. Det er imidlertid en grense for hvor raskt en CD tåler å spinne, så hastigheten har stabilisert seg på rundt 52 ganger, noe som betegnes med 52X. Lesehastigheten kan imidlertid økes ytterligere ved andre teknikker, f.eks. å benytte flere lasere.

CD-R står for ′Compact Disc Recordable′, og betegner en CD brukerne kan lagre data på selv. En CD-R inneholder et sjikt lysfølsomt fargestoff som en CD-brenner bruker en laserstråle til å endre de reflekterende egenskapene til. Data brent til en CD-R er permanente, og kan ikke slettes igjen. Det er imidlertid ikke nødvendig å brenne hele CD-en på en gang.

En CD-brenner kan også brukes til å lese både CD-R og CD-ROM.

CD-R-plater
CD-R plater

CD-RW står for ′Compact Disc ReWritable′, og kan i motsetning til en CD-R overskrives. CD-RW-plater er imidlertid betydelig dyrere enn CD-R-plater, og de kan være problematiske å spille av i vanlige CD-ROM spillere.

I 2013 leveres ikke CD-spillere/brennere med datamaskiner lenger, de er erstattet av DVD-spillere/brennere som hare mye høyere kapasitet.

DVD

DVD står for ′Digital Versatile Disc′, tidligere ′Digital Video Disc′. DVD har tatt over for CD på grunn av den langt høyere lagringskapasiteten, 4,7 GB.

Det finnes DVD-R og DVD-RW på samme måte som det finnes CD-R og CD-RW.

Hastigheten til en DVD-spiller oppgis som 2X, 4X, etc. på samme måte som for en CD-ROM spiller. Dette henviser imidlertid til hastigheten i forhold til de første DVD-spillerne, og har ikke noe med hastigheten på en CD-ROM å gjøre.

En CD kan spilles av i en DVD-spiller, og en CD brennes i en DVD-brenner. Det motsatte er derimot ikke mulig.

DVD-teknologien er i rask utvikling. Med Blu-ray, en teknikk som bruker en blå laser, kan en lagre 128 GB på en tosidig disk, såkalt BDXL-format.

Blu-ray vant våren 2008 konkurransen med HD DVD om å bli fremtidens DVD-format.

Kilder

  • Per A. Holst: Datateknologiens utvikling. Tapir Akademisk forlag, Trondheim 2001
  • Jarle Aase, Clemet Thærie Bjorbæk: Maskinvare og operativsystemer. Fagbokforlaget 2004
  • Deborah Morley, Charles S. Parker: Understanding Computers: Today and Tomorrow. Thomson Course Technology 2006
  • Bilder fra PBase
  • Bilder fra The PC Guide

Komponenter

Releer

Et relé er en strømbryter som slås på eller av, avhengig om det går strøm gjennom en spole (elektromagnet) eller ikke. En bruker derved én strøm til å slå av og på en annen. Sammenlignet med rent elektroniske komponenter er releer trege, det går gjerne så mye som 0,1 sekund fra strømmen settes på til kontakten har lukket seg. Noen historiske datamaskiner var basert på reeler, men i dag brukes de ikke som datamaskinkomponent lenger. Releer har imidlertid mange andre anvendelser, for eksempel til å skru av og på den kraftige elektriske strømmen til hovedlyktene i en bil. Gjennom lysbryteren i kupeen går det da bare en svak styrestrøm.

Relé
Relé
Skjematisk framstilling av relé
Skjematisk framstilling av releet til venstre

Radiorør

Et radiorør av triode-type er en elektronisk forsterker som tidligere ble mye brukt i elektronisk utstyr som radio, TV, etc. Det bruker én strøm til å styre en annen, og kan derved erstatte releer. Radiorør er mye raskere enn releer, men mindre pålitelige, fordi de brenner ut på samme måte som lyspærer. En annen ulempe er at de må varmes opp før bruk. En del historiske datamaskiner var basert på radiorør.

I dag brukes radiorør nesten ikke lenger i noen sammenheng. Transistorer har overtatt denne komponentens rolle så og si fullstendig.

Triode
Triode, en type radiorør med funksjonalitet som en transistor
Prinsippskisse for triode
Prinsippskisse av en triode. Radiorøret til venstre inneholder to slike trioder

Transistorer

En transistor er en elektronisk forsterker der én strøm kan styre en annen, på samme måte som i et triode-radiorør. Transistorer har nesten tatt helt over for radiorør i dagens elektronikk. De er mindre, billigere å produsere, bruker mindre strøm, og trenger ikke varmes opp før de virker.

Virkemåten til transistorer baserer seg på de fysiologiske egenskapene til halvledere, for eksempel silisium.

Assorterte transistorer
Assorterte transistorer
Symbol for NPN-transistor
Symbol for NPN-transistor av BJT-type

Frittstående transistorer brukes ikke lenger i datamaskinens logikk. I stedet brukes integrerte kretser, der mengder av transistorer og andre komponenter masseproduseres ferdigkoplet på en enkelt brikke.

Kondensatorer

En kondensator er en elektronisk komponent som er i stand til å oppbevare en elektrisk ladning. Denne egenskapen gjør det mulig å bruke kondensatorer som lagringsmedium i datamaskiner, slik som i DRAM-brikker. I en slik brikke befinner det seg millioner av små kondensatorer. Inni en datamaskin vil vi imidlertid også finne store, frittstående (diskrete) kondensatorer som blant annet hjelper til med strømstyring.

Assorterte kondensatorer
Assorterte kondensatorer
Symbol for kondensator
Symbol for kondensator

Integrerte kretser

En integrert krets (IC) er en miniatyrisk strømkrets produsert på en brikke av halvledermateriale. Den inneholder som regel transistorer og kondensatorer i tillegg til en del andre elektroniske komponenter.

Med integrerte kretser er en i stand til å presse et stort antall komponenter inn på svært liten plass. Med 2004-teknologi ville en 0,5 mm2 stor brikke kunnet romme hele datamaskinen ENIAC, som i 1946 okkuperte 167 m2 og veide 27 tonn.

Ingen av komponentene i en integrert krets koples sammen vha. lodding eller liknende. I stedet produseres hele kretsen som en enhet, ved at mikroskopiske materialmengder deponeres på brikken gjennom spesialiserte prosesser. Den ferdige kretsen koples til omverdenen gjennom tynne metalltråder, og kapsles inn i et beskyttende hylster.

Det er integrert kretsteknologi som har gjort datamaskinen til allemannseie, fordi ekstremt kompliserte strømkretser kan produseres svært billig.

Produksjonsteknologien forbedres hele tiden, og i 2012 ble det produsert integrerte kretser med ca. 5 milliarder transistorer.

I 1965 forutsa George Moore at transistortettheten i integrerte kretser ville fordobles hver 24. måned. Denne spådommen er blitt hetende Moores lov, og har vist seg å stemme svært godt.

Integrert krets i DIP-pakning
Integrert krets innkapslet i DIP-pakning
Det indre av en integrert krets
Det indre av en integrert krets
44-pins integrert krets med lokk
44-pins integrert krets
44-pins integrert krets uten lokk
Kretsen til venstre med lokket fjernet

Kilder

Logiske porter

De fleste datamaskiner arbeider i totallsystemet. De organiserer informasjon i form av binære tilstander, 0 eller 1, og når de gjør beregninger, kombinerer de slike tilstander ved hjelp av logiske porter. De grunnleggende typer porter er OG-port, ELLER-port, IKKE-port og XELLER-port.

Logiske porter kombinerer to inngangsverdier til én utgangsverdi, med unntak av IKKE-porten, som bare har én inngangsverdi.

I det følgende illustreres virkemåten til disse portene ved hjelp av releer. En skjematisk tegning av et relé er vist under. Når en elektrisk strøm sendes inn i spolen ved ′A′, trekker den til seg metallpinnen som oppretter forbindelse mellom ′X′ og ′Ut′, slik at strøm kan flyte mellom disse punktene. I skjemaet symboliserer farge den binære tilstanden 1, og ingen farge tilstanden 0.

Du kan starte en animasjon ved å holde musa over tegningen.

Prinsippskisse av relé

Releer illustrerer prinsippet i en logisk port på en oversiktlig måte, men i virkeligheten brukes transistorer, ikke releer. Hver logisk port har imidlertid et standardisert symbol, som er teknologiuavhengig.

OG-port

OG-porten arbeider etter følgende logiske skjema:

INN UT
A B A OG B
0 0 0
1 0 0
0 1 0
1 1 1

Begge portens innganger må være i tilstand 1 for at OG-portens utgang skal være i tilstand 1.

En OG-port kan konstrueres ved å kople sammen to releer som vist i tegningen under. Begge releene må få strøm før det kommer strøm på utgangen.

Du kan starte en animasjon ved å holde musa over tegningen.

Og-port bygget av releer

Standardsymbolet for en OG-port ser slik ut:

Og-symbol

ELLER-port

ELLER-porten arbeider etter følgende logiske skjema:

INN UT
A B A ELLER B
0 0 0
1 0 1
0 1 1
1 1 1

ELLER-portens utgang er i tilstand 1 hvis én eller begge portens innganger er i tilstand 1.

En ELLER-port kan konstrueres ved å kople sammen to releer som vist i tegningen under. Det er nok at ett av releene får strøm for at det skal komme strøm på utgangen.

Du kan starte en animasjon ved å holde musa over tegningen.

Eller-port bygget av releer

Standardsymbolet for en ELLER-port ser slik ut:

Eller-symbol

IKKE-port

IKKE-porten arbeider etter følgende enkle, logiske skjema:

INN UT
A IKKE A
0 1
1 0

Den gir altså utgangen tilstand 1 hvis inngangen har tilstand 0, og omvendt.

En IKKE-port kan konstrueres ved å bruke et relé av en spesiell type, som bryter strømkretsen på utgangen når det settes strøm på inngangen. Dette er illustrert i tegningen under.

Du kan starte en animasjon ved å holde musa over tegningen.

Eller-port bygget av et relé

Standardsymbolet for en IKKE-port ser slik ut:

Ikke-symbol

XELLER-port

XELLER-porten arbeider etter følgende logiske skjema:

INN UT
A B A XELLER B
0 0 0
1 0 1
0 1 1
1 1 0

XELLER-portens utgang er i tilstand 1 hvis én av inngangene er i tilstand 1, men ikke begge samtidig. Denne hendelsen er ekskludert. Dette skiller porten fra ELLER-porten som inkluderer tilfellet at begge er 1 samtidig. X-en i navnet kommer da også fra det engelske exclusive.

En XELLER-port kan bygges ved å sette sammen to OG-porter, to IKKE-porter og en ELLER-port som vist i skjemaet under. Du kan starte en animasjon ved å holde musa over skjemaet.

Prinsippskjema for xeller-port

En slik port ville kreve 1 + 1 + 2 + 2 + 2 = 8 reeler.

Standardsymbolet for en XELLER-port ser slik ut:

Xeller-symbol

Addisjon ved hjelp av logiske porter

I kapitlet om tallsystemer beskrives regnereglene for addisjon av to binære sifre:

0 + 0 = 0
1 + 0 = 1
0 + 1 = 1
1 + 1 = 0 og 1 i mente

I tabellform, satt opp som en regel for logiske porter, ser det slik ut:

INN UT
A B SIFFER MENTE
0 0 0 0
1 0 1 0
0 1 1 0
1 1 0 1

Sammenligner en kolonnen «SIFFER», med «UT»-kolonnen til en XELLER-port, ser en at de er like. Og «MENTE» er lik «UT»-kolonnen til en OG-port. Dette betyr at en kan addere to binære sifre ved hjelp av en XELLER-port og en OG-port, koplet som vist under:

 

Prinsippskjema for halvadderer

Dette er en halvadderer. Vil en addere binære tall med mer enn ett siffer, trengs imidlertid en litt mer komplisert kopling. For dersom addisjonen av to sifre i en kolonne genererer mente, må en ta hensyn til dette ved addisjon av sifrene i neste kolonne. Ta f.eks.

$\begin{align} \, &1 \, 1 \\
+ \, &0 \, 1 \end{align}$

Summen av sifrene i kolonna lengst til høyre gir 1 og 1 i mente. Denne menten må så tas med ved summering av sifrene i neste kolonne. En har altså tre sifre å forholde seg til, addenden 1, addenden 0 og menten 1. Som beskrevet i kapitlet om tallsystemer, kan en addere tre tall ved først å legge sammen to, og deretter addere summen til det tredje. En addisjonskopling som tar høyde for innkommende mente er vist under. Legg merke til at alle sifre adderes to og to. Ingen av komponentene har mer enn to innganger.

Prinsippskisse av fulladderer

Dette er en fulladderer. Ved å kjede flere slike sammen, kan en addere binære tall med mange sifre.

Skulle en bygd opp denne koplingen med releer, ville en trengt 8 + 8 + 2 + 2 + 2 = 22 stykker. For å legge sammen to binære tall med 8 siffer, en byte, ville en trengt ca. 22 * 8 = 176 releer. Ikke rart tidlige datamaskiner ble store og klumpete.

Datalagring ved hjelp av logiske porter

I alle koplingene vist over, gjenspeiler utgangen(e) verdiene på inngangen(e). IKKE-porten har for eksempel alltid en utgang som er det motsatte av inngangen.

Ved å lage en tilbakekopling fra utgangen inn i det logiske systemet, kan en imidlertid bygge en krets som bevarer tilstanden på utgangen. En kan altså bruke en slik kopling til å lagre tilstanden 0 eller 1. Dette er noe som utnyttes i SRAM-brikker.

En slik kopling er vist under. Den kalles vippe, bistabil krets, eller flip-flop. Hvis inngang A gis verdien 1, får utgangen verdien 1, og beholder den når A går tilbake til 0. Hvis inngang B gis verdien 1, får utgangen verdien 0, og beholder den når B går tilbake til 0.

Du kan starte en animasjon ved å holde musa over tegningen.

Prinsippskisse av bistabil krets

Kilder

  • Bård Kjos: Innføring i informasjonsteknologi. Tapir Akademisk forlag, Trondheim 2005
  • Dan I. Porat, Arpad Barna: Introduction To Digital Techniques. John Wiley & Sons, Inc. 1979

Tallsystemer

Titallsystemet

Som mennesker er vi vant med å regne med 10 som grunntall, vi bruker titallsystemet (desimalsystemet). Dette kommer formodentlig av at mennesket har 10 fingre, og derved er i stand til å representere 10 ulike sifre uten ekstra hjelpemidler. De 10 sifrene er de velkjente symbolene 0, 1, 2, 3, 4, 5, 6, 7, 8 og 9.

Tallsystemet vårt er et posisjonssystem, hvor verdien av hvert siffer avhenger av hvor i tallet sifferet er plassert. I tallet 782, for eksempel, representerer sifferet 7 ′syv hundre′, 8 representerer ′åtti′, og 2 representerer ′to′. Sifferet lengst til høyre representerer enere, det neste tiere, deretter hundrere, etc.

Vi ser at sifferverdien (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) multipliseres med tallsystemets grunntall (10) opphøyd i sifferets posisjonsnummer. Enerplassen regnes som posisjon null. 782 betyr altså 7·102 + 8·101 + 2·100 = 7·100 + 8·10 + 2·1.

Totallsystemet

Et annet viktig posisjonssystem er totallsystemet (binærsystemet), der vi bruker 2 som grunntall. I totallsystemet anvendes bare to sifre, 1 og 0, og de ulike posisjonene representerer 1, 2, 4, 8, etc. i stedet for titallsystemets 1, 10, 100, 1000, etc. Helt analogt med titallsystemet multipliseres sifferverdien (0, 1) med tallsystemets grunntall (2) opphøyd i sifferets posisjonsnummer. 1101 betyr for eksempel 1·23+ 1·22 + 0·21 + 1·20 = 1·8 + 1·4 + 0·2 + 1·1 = 13 i titallsystemet.

For å angi hvilket tallsystem en arbeider i, brukes et lite subskript. 2 for totallsystemet, 10 for titallsystemet, etc. For eksempel betyr 11012 = 1310 at 1101 i totallsystemet er lik 13 i titallsystemet.

Siden det bare er to sifre i totallsystemet, kan en lett representere tall fysisk ved å la 1 bety at noe er til stede, og 0 at noe ikke er til stede. Dette er illustrert på bildet under, ved hjelp av egg i en eggekartong. Her ligger det egg i de fire posisjonene lengst til venstre, mens de to til høyre er tomme. Tallet dette symboliserer blir derved 1111002. Skulle en representert det samme i titallsystemet, måtte en innført et innfløkt system der for eksempel rødt egg betydde 1, blått egg 2, grønt egg 3, etc.

Egg som illustrerer 111100 i totallsystemet
 

Datamaskiner representerer tall som fysiske enheter, selv om det ikke er egg. I DRAM-minne for eksempel, betyr «elektriske ladning» 1, og «ingen ladning» 0. Skulle en operert i titallsystemet, måtte en holdt rede på 10 forskjellige ladningsnivåer, like innviklet som 10 fargede egg.

En annen stor fordel med totallsystemet, er at regneoperasjonene er svært enkle. Regnereglene for addisjon er slik:

0 + 0 = 0
1 + 0 = 1
0 + 1 = 1
1 + 1 = 0 og 1 i mente

Multiplikasjon i totallsystemet er like enkelt. Gangetabellen ser slik ut:

  0 1 10
0 0 0 0
1 0 1 10
10 0 10 100

På grunn av den enkle måten å representere tall på, og de enkle regnereglene, arbeider de aller fleste datamaskiner i totallsystemet, de er binære.

Skal en gjøre operasjoner på flere tall, kan en ta for seg to tall av gangen. For å addere tre tall for eksempel, adderer en først to av dem, og adderer deretter summen til det siste tallet.

Regneeksempler

Akkurat som i titallsystemet, adderer en to binære tall ved å addere kolonne for kolonne, fra høyre mot venstre. Eksemplet under viser skritt for skritt prosedyren med å utføre addisjonen 101012 + 11012 = 100102. I titallsystemet tilsvarer det 2110 + 1310 = 3410.

Addisjon i totallsystemet

Multiplikasjon kan en også utføre som i titallsystemet. En multipliserer tallet til venstre med hvert siffer av tallet til høyre, setter resultatene under hverandre, og summerer. Eksemplet under viser skritt for skritt prosedyren med å utføre multiplikasjonen 1010012 · 1102 = 111101102. I titallsystemet tilsvarer det 4110 · 610 = 24610.

Multiplikasjon i totallsystemet

Sekstentallsystemet

Totallsystemet er kjekt for datamaskiner, men ikke så lett for mennesker å håndtere, fordi sekvensene av ettall og nuller fort blir lange og tungvinte. For mennesker er titallsystemet mye mer praktisk. Det er for eksempel atskillig enklere å tolke tallet 128583 i titallsystemet, enn motparten i totallsystemet: 11111011001000111.

Totallsystemet brukes derfor sjelden i skriftlig materiale. Men hvis en ønsker å vise hvordan tall representeres i en datamaskin, er titallsystemet heller ikke særlig velegnet. Dersom en f.eks. øker tallet 11112 med 1, får en 100002, en endring som overhodet ikke gjenspeiles i at 1510 blir til 1610.

En slår derfor i stedet sifrene i totallsystemet sammen i grupper på fire, og representerer hver gruppe med ett enkelt symbol. En slik gruppe på fire sifre kan representere 16 forskjellige tall, og et slikt tallsystem kalles derfor sekstentallsystemet (heksadesimalsystemet). For de første10 sifrene brukes de vanlige symbolene 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Men så eksisterer det ikke flere tallsymboler. En kunne selvfølgelig oppfunnet nye symboler for å representere de neste 6 sifrene, men i stedet har en valgt å bruke bokstavene A, B, C, D, E og F. Dette er illustrert i tabellen under.

00002=016 00012=116 00102=216 00112=316
01002=416 01012=516 01102=616 01112=716
10002=816 10012=916 10102=A16 10112=B16
11002=C16 11012=D16 11102=E16 11112=F16

 

I sekstentallsystemet vil en endring fra 11112 til 100002, vises ved at F16 blir til 1016. I motsetning til titallsystemet, gjenspeiler sekstentallsystemet at sifrene i posisjon 0, 1, 2 og 3 er blitt satt til 0, og sifferet i posisjon 4 er blitt satt til 1.

Sekstentallsystemet er et posisjonssystem hvor sifferverdien (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F) multipliseres med tallsystemets grunntall (16) opphøyd i sifferets posisjonsnummer. 3F6 betyr for eksempel 3 ·162 + 15 ·161 + 6 ·160 = 3 · 256 + 15 ·16 + 6 ·1 = 1014 i titallsystemet.

Omregning mellom tallsystemene

Fra totallsystemet til titallsystemet

Multipliser sifferet lengst til høyre med 20, neste siffer med 21, neste med 22, etc., og adder resultatet.
Eksempel: 101012 = 1 · 20 + 0 · 21 + 1 · 22 + 0 · 23 + 1 · 24 = 1 · 1 + 0 · 2 + 1 · 4 + 0 · 8 + 1 · 16 = 2110.

Fra titallsystemet til totallsystemet

Del tallet på to. Blir det en rest, skriv 1. Blir det ingen rest, skriv 0. Stryk resten og del på to på nytt. Skriv 1 eller 0 til venstre for forrige siffer, alt etter om det ble rest eller ikke.
Gjenta operasjonen inntil det står null igjen.

Eksemplet under viser hvordan en regner om 1310 til 11012:

Desimalt   Rest?   Binært
13 : 2  = 6,5    Ja   1
6 : 2  = 3,0    Nei   01
3 : 2  = 1,5    Ja   101
1 : 2  = 0,5    Ja   1101
         

Fra totallsystemet til sekstentallsystemet

Grupper sifrene 4 og 4, fra høyre mot venstre. Dersom siste gruppe har færre enn fire sifre, fyll på med nuller til venstre. Regn om ifølge tabellen i avsnittet om sekstentallsystemet.

Eksempel: 111110110010001112 = 0001 1111 0110 0100 01112 = 1F64716.

Fra sekstentallsystemet til totallsystemet

Ta utgangspunkt i tabellen i avsnittet om sekstentallsystemet, og erstatt hvert siffer med de tilhørende fire sifrene i totallsystemet. Ledende nuller kan strykes.

Eksempel: 2F316 = 0010 1111 00112 = 10111100112.

Fra sekstentallsystemet til titallsystemet

Multipliser sifferet lengst til høyre med 160, neste siffer med 161, neste med 162, etc., og adder resultatet. Husk at A16 = 1010, B16 = 1110, C16 = 1210, D16 = 1310, E16 = 1410, F16 = 1510.

Eksempel: 2F3C16 = 12· 160 + 3· 161 + 15 · 162 + 2 · 163 = 12 · 1 + 3 · 16 + 15 · 256 + 2 · 4096 = 1209210

Fra titallsystemet til sekstentallsystemet

Det enkleste er nok å regne om til totallsystemet først, og deretter til sekstentallsystemet, som beskrevet i avsnittene over. En kan imidlertid bruke teknikken for å regne om fra ti- til totallsystemet til å regne om direkte til sekstentallsystemet. Men en må dele på seksten, og i stedet for å skrive 1 når en får rest, skriver en resten multiplisert med seksten.

Eksemplet under viser hvordan en regner om 1209210 til 2F3C16:

Desimalt Oppmultiplisert rest   Heksadesimalt
12092 : 16  = 755,75    0,75  * 16= 12    C
755 : 16  = 47,1875    0,1875  * 16 = 3   3C
47 : 16  = 2,9375    0,9375  * 16 = 15   F3C
2 : 16  = 0,125    0,125  * 16 = 2   2F3C
           

Omregning med kalkulator

Windows har en kalkulator-app som en får fram ved å åpne Windows-menyen og skrive «kalkulator».Denne kan brukes til å regne om mellom totallsystemet (binært), åttetallsystemet (oktalt), titallsystemet (desimalt) og sekstentallsystemet (heksadesimalt).

Første gang kalkulatoren hentes fram, vises den i modus «Standard», dette endrer vi til «Programmering» i menyen øverst til venstre.

Windows-kalkulator i programmerings-modus

HEX, DEC, OCT og BIN er til å velge tallsystem med, henholdsvis sekstentallsystemet, titallsystemet, åttetallsystemet og totallsystemet. Vil en regne om fra titallsystemet til sekstentallsystemet, for eksempel, klikker en på DEC, skriver inn tallet, og klikker på HEX. Vil en regne om fra totallsystemet til titallsystemet, klikker en på BIN, skriver inn tallet, og klikker på DEC. Kalkulatoren deaktiverer knapper med tall som ikke er gyldige i et gitt tallsystem. Velger en BIN, er således bare 0 og 1 aktivert. Velger en OCT, aktiveres i tillegg 2, 3, 4, 5, 6 og 7. Med DEC kommer også 8 og 9, og med HEX A, B, C, D, E og F.

Kilder

  • Bård Kjos: Innføring i informasjonsteknologi. Tapir Akademisk forlag, Trondheim 2005