Datamaskin. Av /Shutterstock. Begrenset gjenbruk

datamaskin

Datamaskiner, her i form av smarttelefoner, er i dag allemannseie.

Artikkelstart

En datamaskin er en maskin som brukes til behandling, lagring og deling av data. En datamaskin består av maskinvare (hardware) og programvare (software). Maskinvare er de fysiske komponentene som datamaskinen er bygget opp av, mens programvare er sett med instruksjoner som forteller maskinvaren hva den skal gjøre.

I dag eier størstedelen av befolkningen minst én personlig datamaskin, og de fleste av oss har flere slike. Det finnes også datamaskiner i mange av apparatene vi omgir oss med til daglig, som biler, smartklokker, spillkonsoller, vaskemaskiner, espressomaskiner og så videre. Stadig flere av disse enhetene er klargjort for nettilknytning. Dette at stadig flere av våre eiendeler inneholder datamaskiner og kan kobles til Internett kalles gjerne tingenes Internett.

Datamaskiner pleide å koste millioner, eies av forsvaret, og fylle hus. Nå har de fleste råd til en eller ti, og de kan bæres på håndleddet eller puttes i lommen. Datamaskinen har blitt personlig, og den har blitt et medium.

Datamaskiner kan være elektroniske eller mekaniske og digitale eller analoge. Det finnes også kvantedatamaskiner. Alle vanlige datamaskiner er i dag elektroniske og digitale, og denne artikkelen handler i hovedsak slike datamaskiner.

Bestanddelene i en moderne datamaskin

Av /NTB Scanpix.

De fysiske delene en datamaskin er bygget opp av, kalles maskinvare. En moderne digital datamaskin består av én eller flere prosessorer, primærminne (arbeidslager) og kontrollenheter for inn- og utlesing av data, koblet sammen med en såkalt buss. Kontrollenheten for inn- og utlesing av data sørger for transport av data til og fra sekundærminnet (harddisk eller halvlederminne), periferienheter (skjerm, tastatur, mus, høyttalere), enhet for tilkobling til Internett, og sensorer som kamera og mikrofon.

Prosessor

CPU-en er den sentrale prosessorenheten i en datamaskin.

CPU
Av /Shutterstock.

Den sentrale prosessorenheten i en datamaskin kalles CPU (Central Processing Unit). Det er denne som er i stand til å tolke det settet med instruksjoner som ligger i et dataprogram. I tillegg til en CPU kan datamaskinen ha andre prosessorer som tar seg av andre oppgaver. Datamaskiner spesielt innrettet på dataspill, vil gjerne ha en GPU (Graphical Processing Unit) som sørger for at rask og høyoppløselig grafikk vises på skjermen. En prosessor kan i tillegg bestå av flere kjerner slik at den kan utføre flere instruksjoner samtidig. Dette bidrar til å øke hastigheten på databehandlingen.

Primærminne

Primærminnet (arbeidslageret) er bygget opp slik at prosessorene har direkte tilgang til vilkårlige adresser i minnet. Det kalles gjerne for RAM (Random Access Memory). I tillegg til RAM har moderne datamaskiner også ROM (Read Only Memory) som ikke kan skrives til, men som inneholder faste instruksjoner for oppstart, samt BIOS (Basic Input-Output System) med grunnleggende instruksjoner for inn- og utlesning av data.

Sekundærminne

RAM (random access memory) er primærminne i en datamaskin. Her er tre RAM-brikker.
RAM
Av /Shutterstock.

Sekundærminnet benyttes primært til lagring av data som datamaskinen ikke arbeider med for øyeblikket. Det vil si dataprogrammer som ikke er i bruk, og data (som dokumenter, videofilmer og regneark) som vi ønske å ha for hånden. Sekundærminnet er som regel langsommere enn primærminnet, men ikke langsommere enn at det kan benyttes som arbeidsminne når datamengden som skal behandles er større en det er plass til i primærminnet.

Skylagring

De fleste moderne datamaskiner er tilknyttet Internett, og det er i dag stadig mer vanlig å benytte lagringstjenester på Internett (skylagring) som tertiærminne for datamaskinen.

Programvare

For at maskinen skal kunne brukes til noe nyttig, trenger den også å være utstyrt med programvare (engelsk: software). Programvare er instruksjoner som ligger lagret i maskinens arbeidsminne og som gjør maskinen brukbar. Vi skiller gjerne mellom to typer programvare: operativsystem og applikasjoner.

Operativsystemer

Operativsystemet tar seg av administrasjon og kontroll av datamaskinens ressurser. Her er skjermdump fra en datamaskin som kjører det Linux-baserte operativsystemet Debian. Microsoft Windows, MacOS og Android er eksempler på andre operativsystemer.
Av .
Lisens: CC BY SA 4.0

Operativsystemet er den grunnleggende programvaren, den som tar seg av administrasjon og kontroll av maskinens ressurser (som fordeling av prosessorkapasitet og minne mellom ulike prosesser). Operativsystemet sørger også for sikkerhet gjennom tilgangskontroll og gjennom å beskytte særlig kritiske komponenter mot uautorisert bruk. Til sist tilbyr operativsystemet applikasjonene kontrollert tilgang til datamaskinens sekundærminne, periferienheter, nett og sensorer gjennom et såkalt API (Application Programming Interface).

Eksempler på operativsystemer er Microsoft Windows, MacOS, Linux og Android.

Applikasjoner

Applikasjonene er programvaren som sørger for at maskinen utfører de oppgavene man vil bruke den til: Tekstbehandler for å skrive dokumenter, regneark for å sette opp budsjetter og utføre kalkyler, spill for rekreasjon, kartapplikasjon for GPS, presentasjonsprogram for å lage underlag for foredrag, e-postklient for å håndtere inn- og utgående e-post, nettleser for å kunne benytte tjenester på verdensveven, mediespiller for å se video og lytte til musikk og så videre.

Tidligere ble applikasjonene gjerne kalt brukerprogrammer, mens i dag, og særlig dersom de benyttes på mobile enheter som smarttelefoner og lesebrett, kalles de «apper».

Programmering og programmeringsspråk

En løkke som summerer tallene fra 1 til 10, skrevet i programmeringsspråket Java.

Repetisjonssetning

Tradisjonelt har databehandling foregått ved at data kombineres med andre data ved at det er oppstilt logiske regler for behandlingen. En samling av logiske regler som er laget for et bestemt formål, kalles gjerne en algoritme. Et dataprogram er en nedskreven versjon av en algoritme som benytter et sett med instruksjoner maskinen er i stand til å utføre. For eksempel kan det å beregne riktig skatt basert på de dataene som befinner seg i skattemeldingen utgjøre en algoritme for skatteberegning.

Historisk har det vanligvis vært mennesker som har skrevet inn de logiske reglene i dataprogrammet. Et slikt dataprogram kalles regelbasert. Men det finnes også dataprogrammer som er i stand til å produsere slike logiske regler automatisk ved å ta utgangspunkt i store datamengder knyttet til problemområdet. Dette kalles maskinlæring. Særlig innen det problemområdet som kalles mønstergjenkjenning, har maskinlæring ført til gode resultater, noe som blant annet finner praktiske anvendelser i selvkjørende kjøretøy.

Kompilator

En helt grunnleggende applikasjon som i dag alltid benyttes ved utvikling av andre applikasjoner, er en såkalt kompilator. Dette er programvare som leser en «oppskrift» (program) som er skrevet ned i et språk som mennesker kan forstå, og gjør oppskriften om til maskininstruksjoner i form a nuller og enere.

Før 1950-tallet fantes det ikke kompilatorer. Datamaskinene ble programmert ved at de som laget applikasjoner skrev instruksjonene direkte i maskinkode. Den første kompilatoren ble utviklet i 1952 av den amerikanske fysikeren og matematikeren Grace Hopper, og ideen ble utviklet videre til programmeringsspråket COBOL i 1957. Senere versjoner av COBOL er fortsatt i bruk, selv om det er andre programmeringsspråk som er mer brukt i dag.

Objektorientert programvare

Bjørn Myhrhaug, Sigurd Kubosch, Kristen Nygaaard og Ole-Johan Dahl diskuterer det objektorienterte programmeringsspråket Simula. Dahl og Nygaard mottok i 2001 Turing-prisen for arbeidet med Simula.
Simula
Av /NTB Scanpix.

Det finnes mange ulike tilnærminger til utvikling av programvare, men i vår tid er den tilnærmingen som kalles objektorientering nærmest enerådende.

Objektorientert programmering tar utgangspunkt i prosesser og fenomener i det virkelige liv, og da med særlig vekt på informasjonsaspektene ved fenomener i naturen og i samfunnet, og modellerer disse på datamaskinen som objekter som er frittstående i forhold til andre objekter. Objektene kan imidlertid kommunisere med hverandre via meldinger. Når et objekt først er laget, kan det brukes om igjen. Det betyr at man i stor utstrekning kan bygge nye dataprogrammer ved å sette sammen allerede definerte objekter. Moderne grafiske grensesnitt består for eksempel utelukkende av objekter som kan kombineres på ulike måter.

Viktige bestanddeler i objektorientert programvare ble oppfunnet av to norske informatikere, Ole-Johan Dahl (1931–2002) og Kristen Nygaard (1926–2002) på slutten av 1960-tallet og brukt i programmeringsspråket Simula. For arbeidet ble de tildelt den prestisjetunge Turing-prisen i 2001.

Historikk

Selv om de datamaskinene som er i praktisk bruk i dag, er elektroniske og digitale, så har det ikke alltid vært slik. De første datamaskinene var mekaniske, og så sent som på 1950-tallet var det mange som mente at analoge datamaskiner var å foretrekke. Og om noen år kan kvantedatamaskiner, som ikke er digitale, være i praktisk bruk.

Mekanisk, elektronisk, analog og digital

Regnestaven er et eksempel på en analog og mekanisk datamaskin. Figuren viser: A) Logaritmisk skala. B) Skala til kvadrering og utdragning av kvadratrot. C) Sleid. D) Fast skala. E) Skyver.

Av /Store norske leksikon ※.

Kuleramme (abakus) er et eksempel på en digital og mekanisk datamaskin. Eksempel på addisjon med kuleramme: Man vil addere tallene 6 og 7. Utgangsstillingen har alle kulene på høyre side. Først føres 6 kuler i annen rad over til venstre (fig. a). Når tallet 7 legges til, skal 7 kuler til føres over til venstre, men når 4 kuler er overført, er 10-tallet fullt (fig. b). Dette markeres ved at man fører én kule i øverste rad over til venstre, og hele annen rad føres tilbake til høyre (fig. c). Til slutt føres de manglende 3 kulene i annen rad over til venstre, og man kan avlese summen 13 (fig. d).

Av /Store norske leksikon ※.

Begrepsparet mekanisk og elektronisk sier noe om hvordan data er lagret og blir behandlet, rent fysisk. I en mekanisk innretning er data lagret som fysiske komponenter som man kan ta og føle på. I en elektronisk innretning er data lagret som elektriske spenninger, elektrisk ladning, eller magnetisk polaritet.

Begrepsparet analog og digital sier noe om hvordan en innretning representerer dataverdier. I en analog innretning representeres numeriske data som en ikke-tellbar, kontinuerlig verdi, mens en digital innretning representerer numeriske data som tellbare, diskrete (atskilte) intervaller. Ordet «digital» kommer av det latinske ordet for finger, og vi kan telle til ti på fingrene, med et intervall på 1. Dersom tallet vi ønsker å representere ikke er et heltall, men et rasjonalt eller irrasjonalt tall som ikke har en endelig desimal representasjon, er det ikke sikkert at tallet kan representeres som et eksakt digitalt tall.

Et eksempel på en mekanisk og analog innretning er regnestaven fra 1500-tallet. Ser vi på glideren i en regnestav, har den markeringer for bestemte tallverdier, men den er ikke begrenset til kun å representere de verdiene som er markert. Vi kan posisjonere glideren på alle mellomliggende verdier.

Et eksempel på en mekanisk og digital innretning er en kuleramme (abakus), trolig av babylonsk opprinnelse. Det finnes mange utgaver, men den vanligste typen har 10 rader med kuler og kan derfor benyttes med en nøyaktighet på opp til 10 gjeldende siffer.

Fram til 1960-tallet ble det benyttet datamaskiner som var elektroniske og analoge. Disse gikk gjerne under navnet differensialanalysator og ble benyttet til simuleringer av ulike fysiske systemer og til å løse differensialligninger.

Tidlige regnemaskiner: Pascal og Babbage

NUSSE var Norges første digitale datamaskin, og var i drift mellom 1954 og 1961. På bildet studerer Sivilingeniør Tor Evjen «innmaten» til NUSSE, 1954.
Av /SCANPIX.
Ada Lovelace (1815–1852) regnes som historiens første programmerer.
Av /Science & Society Picture Library.

Filosofen og matematikeren Blaise Pascal (1623–1662) konstruerte i 1642 en mekanisk og digital maskin (Pascaline) som kunne utføre addisjon og subtraksjon.

I 1822 beskrev den engelske matematikeren Charles Babbage (1791–1871) en regnemaskin kalt «the difference engine» i et notat, men denne maskinen ble ikke bygget før i 1990.

I 1837 presenterte Babbage noe som han kalte for «the analytical engine». Denne maskinen skulle kontrolleres av hullkort (hullkort ble benyttet til å styre automatiske vevemaskiner på 1800-tallet), kontrollflyten skulle ha løkker og forgreninger, og den skulle også ha integrert minne og en aritmetisk-logisk enhet. I en fotnote til en artikkel om denne maskinen gir den engelske matematikeren Ada Lovelace en anvisning på hvordan maskinen kan benyttes til å beregne en tallsekvens kjent som bernoullitall. Denne anvisningen blir av mange betraktet som historien første dataprogram, og Ada Lovelace er dermed historiens første programmerer. Maskinen ble aldri bygget.

Turing-maskiner og von Neumann-arkitektur

I 1936 publiserte den unge matematikeren Alan M. Turing (1912–1954) en vitenskapelig artikkel som var banebrytende fordi det for første gang presenterte en presis og matematisk stringent beskrivelse av det vi i dag kaller en datamaskin.

I artikkelen beskriver Turing en maskin som kan gjøre et sett med enkle operasjoner (som å skrive og slette data i ulike felter) – et eksempel på hva vi i dag kaller en Turing-maskin. Turing viste at denne maskinen i teorien kan brukes til å simulere alle mulige Turing-maskiner. Dersom instruksjonssettet i en datamaskin eller et programmeringsspråk kan brukes til å simulere Turings enkle maskin – og dermed alle mulige Turing-maskiner – sier vi at instruksjonssettet eller programmeringsspråket er Turing-komplett. Turing-kompletthet er en egenskap som kjennetegner alle moderne datamaskiner og programmeringsspråk.

Turings artikkel fra 1936 er helt grunnleggende for den teoretiske forståelsen av hva en datamaskin er. For eksempel skiller ikke en Turing-maskin mellom dataprogram (instruksjoner) og data. Det som er lagret i maskinenes minne er begge deler.

I 1945 offentliggjør den amerikanske matematikeren John von Neumann (1903–1957) et notat («First Draft of a Report on the EDVAC») det han legger vekt på at man ikke bør skille mellom dataprogram og data i datamaskinens minne. I en del teoretisk litteratur kalles dette manglende skillet mellom dataprogram og data for «von Neumann-arkitekturen». Men mange mener at «von Neumann-arkitekturen» ikke er noe annet enn en alternativ beskrivelse en universell Turing-maskin.

Datamaskiner overalt

ENIAC, som var ferdig til bruk i 1946, var en av de første store, helt elektroniske regnemaskinene, og den var en viktig forløper for moderne datamaskiner. Programmering av ENIAC bestod i hovedsak av å plugge sammen moduler og stille inn parametre i ligninger ved å skru på brytere. Maskinen regnet relativt raskt, men å sette opp et program kunne ta flere uker.
Av /US National Archives. ID: 594262.

De første digitale elektroniske datamaskinene ble til under andre verdenskrig og var store som hus. De kostet svimlende summer, og ble som hovedregel finansiert med forsvarsmidler som en del av krigsinnsatsen.

De første personlige datamaskinene (PC-ene) begynte å dukke opp på begynnelsen av 1970-tallet. De første modellene var rettet mot hobbymarkedet og manglet både tastatur og skjerm. Grense­snittet mellom bruker og maskin besto i stedet av brytere og LED-lys. Bortsett fra å gi eieren gleden av å eie en personlig datamaskin, hadde disse tidlige personlige datamaskinene liten praktisk nytte.

Men personlige datamaskiner ble raskt mer anvendelige: Apple II, som ble lansert i 1977, var sannsynligvis det produktet som for alvor gjorde det attraktivt for vanlige privatpersoner å eie en personlig datamaskin. Den hadde både tastatur og skjerm.

I dag finnes det fortsatt store datamaskiner (de kalles «stormaskiner» og «tjener­maskiner») som eies og brukes av bedrifter, forsvaret og andre statlige organer. De er ofte plassert i sikre omgivelser, som fjellhaller og underjordiske bunkere, og har komplekse systemer for strømforsyning og kjøling.

Men i dag eier størstedelen av befolkningen minst én personlig datamaskin, og de fleste av oss har mange slike. I tillegg til den bærbare datamaskinen med skjerm og tastatur finnes det i dag svært mobile datamaskiner for personlig bruk i form av smartklokker, smarttelefoner, lesebrett, og spillkonsoller.

Men det kan også bemerkes at det gjerne er minst én innbakt datamaskin i set-top-boksen på toppen av TV-en, ruteren som styrer det trådløse nettverket i hjemmet, betalingsterminalen i butikken, bilen vi bruker til og fra jobben, og mange av de apparatene som omgir oss i hjemmet, som TV-en, espressomaskinen, kjøleskapet og vaskemaskinen. Stadig flere av disse enhetene er klargjort for nettilknytning. Dette at stadig flere av våre eiendeler inneholder datamaskiner og kan kobles til Internett kalles gjerne tingenes Internett.

Utviklingen av datamaskinen, både når det gjelder størrelse, beregningskraft, lagrings­kapasitet og pris har vært formidabel helt siden de første maskinene ble bygget på 1940-tallet. Tabellen nedenfor sammenligner nøkkeldata for ENIAC, som var ferdigstilt i USA i 1946, med tilsvarende data for en Apple iPhone 11 fra 2019. Den siste kolonnen som viser forholdet mellom de to, forteller altså at man i 2019 kunne kjøpe 7059 eksemplarer av iPhone for det forsvaret i USA betalte for ENIAC (korrigert for inflasjon), samtidig som man i en iPhone kan utføre 2,8 milliarder så mange operasjoner per sekund og har over 3,4 milliarder ganger så mye lagrings­plass sammenlignet med ENIAC.

ENIAC (1946) iPhone 11 (2019) Forholdstall
Pris (2019 USD) $ 6 000 000 $ 850 7059
Fotavtrykk 167 m2 0,0073 m2 23 020
Effektforbruk 150 000 W 2,45 W 61 224
Operasjoner per sekund 357 1 000 000 000 000 2 801 120 448
Lagringsplass 75 byte 128 gigabyte 3 413 333 333

Les mer i Store norske leksikon

Kommentarer (2)

skrev Walter Grønli

Ytre lager ?Høres ut som en maskindel. Det menes nok "Ytre lagre"?Ut-enheter - de vanligste er vel ikke lenger katodestråleskjermer men LCD? Hva menes med "kan vise flere detaljer" ? (Flere detaljer enn ...?

skrev Erik Dyrhaug

Hei Walter. Ytre lager er nettopp en maskindel. Men denne artikkelen stammer fra papirleksikonet og trenger ganske riktig en oppdatering. Vi jobber for tiden med å skaffe fagansvarlige så vi får oppdatert artikler som denne.Med vennlig hilsen,Erik DyrhaugRedaksjonsmedarbeider

Kommentaren din publiseres her. Fagansvarlig eller redaktør svarer når de kan.

Du må være logget inn for å kommentere.

eller registrer deg