HØit Nr. 1-97
Previous article Next article TOC: Nr. 1, 1997 Previous Issue Next Issue About HØit Forfattet 10.12.96

Sanntids datateknikk
Tilbakeblikk og framtidige muligheter


Robert Roppestad

Innledning

Sanntids datateknikk og sanntids programmering er begreper som for mange fortoner seg noe diffust. Det er kanskje ikke så rart siden det ikke finnes en entydig og klar definisjon på sanntids begrepet. Cooling (1991) gir følgende definisjon;

Real-time systems are those which most produce correct response within a definite time limit. Should computer responses exceed these time bounds then performance degradation and/or malfunction results.

En slik definisjon vektlegger tidsaspektet en datamaskin må reagere innen, men den sier lite om i hvilken forbindelse datamaskinen benyttes. Innen teknisk databehandling vil oppkobling av datamaskiner mot et ytre system (en omegn) være essensielt. Faktorer som da blir vesentlige er at datasystemet må kunne reagere på parallelle hendelser i et ytre system innenfor tolererbare tidsgrenser.

Som navnet «sann tid» tilsier så er respons innenfor gitte tidsgrenser et viktig krav, i tillegg må et sanntids datasystem som skal kunne reagere på parallelle hendelser kunne kjøre programmer parallelt. Det vil si at datasystemet må kunne utføre «multitasking», eller kunne kjøre parallelle aktiviteter som det kalles i sanntids termer.

Innen teknisk databehandling har utviklingen av sanntids datasystemer vært fokusert mot oppgaver som innebærer styring, overvåking og måling i et ytre system. I dag vil vi finne sanntids datateknikk anvendt innen en rekke ulike områder som; generelle prosessdatasystemer i industrien, innen måle- og overvåkingssystemer og innen informasjons- og servicesystemer.

Et kort historisk tilbakeblikk

De første anvendelser av datamaskiner til sanntids oppgaver ble gjort rundt 1960. Oppgavene besto da i å overføre tradisjonelle styresystemer til databaserte styringer. En større fart i utviklingen ble det med inntoget av minimaskinene og sanntids operativsystemer på 70-tallet. Både Digital og Norsk Data gjorde det bra med sine sanntids konsepter. Utviklingen av mikroprosessoren, datanett, sanntids operativsystemer og sanntidsorienterte program-meringsspråk førte til en betydelig interesse for sanntids løsninger på 80-tallet. I dag kan man utvikle sanntids løsninger basert på alt fra kraftige arbeidsstasjoner og PC'er i nett ned til små ett-korts datamaskiner. Det finnes imidlertid et begrenset utvalg av operativsystemer på markedet som har sanntids funksjoner. Populære multitasking operativsystem som UNIX og Windows NT har i utgangspunktet ikke slike funksjoner.

Sanntid i ingeniørutdanningen

Sanntids datateknikk ble innført som eget fag under ingeniørutdanningen i Østfold på slutten av 70-tallet. Norsk Data sine minimaskiner med operativsystemet Sintran og programmerings-språket Fortran var da kjernen i utviklingsmiljøet. I siste halvdel av 80-årene ble Norsk Data sine maskiner faset ut til fordel for PC'er i nett. Det var da nødvendig å finne et «rimelig» sanntids operativsystem som kunne kjøres på PC plattform. Valget falt på ARTOS «Advanced Real Time Operating System» utviklet i NTH miljøet i Trondheim. Sanntids programmene kunne nå utvikles i C og kjøres på standard PC'er med I/O forbindelse mot et ytre system.

Utviklingen på 90-tallet har gått mot mer sofistikerte løsninger som distribuerte CPU'er i nett og bruk av objektorienterte metoder. Det ble derfor nødvendig å fase ut ARTOS til fordel for et mer profesjonelt utviklingsmiljø. I siste halvdel av 1996 ble det avgjort at vi innenfor dataingeniørutdanningen skulle satse på sanntids operativsystemet QNX fra «QNX Software Systems Ltd» i Canada, og WatCom C/C++ utviklingsmiljø.

Hva er QNX?

QNX er et Unix likt operativsystem med utvidet funksjonalitet når det gjelder ressurs-håndtering og styring av parallelle aktiviteter i forhold til faste tidsgrenser. Systemet er modulært oppbygd rundt en mikrokjerne arkitektur og benytter meldingsbasert kommunikasjon mellom aktivitetene. QNX er utviklet for å kunne kjøre på Intel 80x86 plattform, og gir mulighet for å skalere løsninger fra helt små mikrokjerner på ett-korts datamaskiner opp til fullskala distribuerte løsninger for hundrevis av brukere. QNX har fått en sentral posisjon innen sanntids markedet, og har i tillegg fordelaktige avtaler for universiteter og høgskoler.

QNX i studiet

QNX vil bli benyttet innenfor opplæring i operativsystemer og sanntids datateknikk i dataingeniørutdanningen. Vi er for tiden i ferd med å installere de første QNX nodene på PC'er. Samtidig kommer vi til å benytte et utviklingssystem «explr2» basert på Intel 386ex prosessor med et fullverdig QNX runtime system i flash minne. Etter en utprøvingsperiode våren 97 vil vi komme tilbake med en egen artikkel som omhandler erfaringer med QNX og utviklingssystemet explr2. For interesserte som ønsker mer informasjon kan følgende web-sider anbefales; www.qnx.com og www.explr2.com.

Noen sanntid referanser

Stuart Bennett, Real-Time Computer Control,
ISBN 0-13-764176-1

Cooling, J.E, Software Design for Real-Time Systems.

Odd Pettersen, Sanntids datateknikk,
ISBN 82-519-0796-9

Previous article Next article TOC: Nr. 1, 1997 Previous Issue Next Issue About HØit
HØit Nr. 1-97


Copyright: 1996, Høgskolen i Østfold. Last Update: 28.06.97, Thomas Malt.