|
|
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
Copyright: 1996, Høgskolen i
Østfold. Last Update: 28.06.97,
Thomas Malt.
|