Vajad kellegagi rääkida?
Küsi julgelt abi LasteAbi
Logi sisse

RAS operatsioonisüsteemid - reaalajalised tuumad (1)

1 Hindamata
Punktid
Kevad - Vesised teed, sulav lumi, tärkavad lumikellukesed - teebki kevadest kevade

Esitatud küsimused

  • Millised reaalajalised nõuded määravad RAS tarkvara koostamise eripära?
  • Millal kasutatakse reaalajasüsteemides pseudokernelit?
  • Mis on pollitav tsükkel polled loop millal seda kasutatakse?
  • Kuidas saab vältida programmis mehaanilise lüliti lülitamisel tekkivat häiret ?
  • Mis on tsükliliselt täidetavad programmid cyclic executives millal neid kasutatakse?
  • Mis on seisunditega juhitav kood state-driven code millal seda kasutatakse?
  • Mis on kaasprogrammid millal neid kasutatakse?
  • Kuidas töötavad katkestustega juhitavad programmid nende eelised ja puudused?
  • Mis on konteksti lülitamine context switching kuidas seda realiseeritakse?
  • Kuidas töötab järjestikplaanur round-robin?
  • Mis on tõrjuva prioriteediga süsteemid millal neid kasutatakse?
  • Mis on hübriidsüsteemid milliseid variante teate?
  • Mis on tegumi juhtimise blokk-mudel task-control block model - TCB?
  • Milline on tüüpiline TCB struktuur?
  • Miks ja millal on vaja tegumeid sünkroniseerida?
  • Millise süsteemi ressursid vajavad tavaliselt sünkroniseerimise kasutamist?
  • Mis on programmi kriitilised piirkonnad?
  • Mis on ringpuhvrid kuidas neid kasutatakse?
  • Mis on kirjakastid mailbox kuidas neid kasutatakse?
  • Mis on semaforid kuidas neid kasutatakse?
  • Mis on loenduvad semaforid milleks neid kasutatakse?
  • Mis on ummik deadlock?
  • Millised tingimused peavad olema täidetud ummiku tekkimiseks?
  • Kuidas vältida ummiku tekkimist?
  • Mis on prioriteetide inversioon selgitada selle tekkimist?
  • Kuidas töötab päritava prioriteediga protokoll priority inheritance protocol?
  • Millised eeltingimused peavad olema täidetud tegumi lihtsustatud analüüsiks?
  • Mida sealjuures kasutatakse?
  • Millistest faasidest koosneb manussüsteemide arendustsükkel?
  • Millised on RAS spetsiifilised nõuded tarkvarale?
  • Mis peab olema ära toodud spetsifikatsioonis?
  • Kuidas riistvara lisamine mõjutab olulisi parameetreid töökindlus energiatarve?
  • Mis on tarkvara usaldusväärsus?
  • Mis on protseduur-orienteeritud disain selle puudused ja eelised?
  • Mis on objekt-orienteeritud disain selle puudused ja eelised?
  • Kui kiiresti programm töötab?
  • Kaua võtab aega koodist täidetava programmi saamine?
  • Kui palju vaeva on vaja keele õppimiseks?
  • Milliseid programmeerimiskeele omadusi on vaja teada ja arvestada RAS korral?
  • Milles seisneb programmeerija efektiivsuse mõõtmismetoodika KLOC mis on delta KLOC?
  • Mida mõõdab McCabe meetrika cyclomatic compexity kuidas seda rakendatakse?
  • Mille poolest erinevad terminid bug" error" fault" ja failure"?
  • Mis on tarkvara musta kastina testimine black-box testing?
  • Mis on tarkvara valge kastina testimine white-box testing?
  • Milliseid sisseehitatud teste reaalajasüsteemides tavaliselt kasutatakse?
  • Mis on agendid millised omadused eristavad neid tavalistest" objektidest?
  • Mis on agendi agentprogrammi a autonoomsus b reaktiivsus c proaktiivsus?
  • Mis on reaalajasüsteem?
  • Mille poolest ta erineb teistest arvutisüsteemidest?
  • Mis teeb arvutisüsteemist reaalajas töötava arvutisüsteemi?
  • Mille poolest erinevad funktsionaalsed ja mittefunktsionaalsed nõuded tarkvarale?
  • Millest lähtudes määratakse olekumuutuja väärtustele kehtivusintervall?
  • Kui üks kehtivusintervall?
  • Mida kujutab endast eriolukordade töötlus?
  • Mille poolest erineb aja poolt juhitud süsteem sündmuste poolt juhitud süsteemist?
RAS operatsioonisüsteemid - reaalajalised tuumad 
1.Millised reaalajalised nõuded määravad RAS  tarkvara  koostamise eripära?
RAS nõuded määravad tarkvara valmistamise eripärad (enamasti tekib  sundparalleelsus ):

Jõudlus tippkoormusel peab olema ennustatav

Töökiiruse juhtimine toimub ümbritsevast keskkonnast

Ohutus on sageli  kriitilise  tähtsusega

Andmemahud on väikesed või keskmised

Aktiivne liiasus ( dubleerimine , jne)

Andmete  terviklikkus  nõutav lühiajaliselt

Autonoomne  vigade  avastamine
2.Selgitada sundparalleelsuse ja traditsioonilise paralleeltöötluse erinevusi.
Sundparalleelsus on mitme samaaegse  andmevoo  töötlus ja  interaktsioon , kus esinevad vahele 
segamised. Ühe töö katkestamine ja hiljem lõpetamine (Andmevood tükeldatakse kiiremaks töötluseks).
See on paralleelsus, mis on peale sunnitud ümbritseva keskkonna poolt. 
Traditsiooniline paralleeltöötluses ei esine vahelesegamist ühe või mitme andmevoo määramatult 
kestvas töötlemises. On põhimõtteliselt vabatahtlik töörezhiim, mille kasutamine sõltub projekteeria 
tahtest.
(Sundparalleelsus on paralleelsus, mis on tarkvara insenerile peale surutud ümbritseva keskkonna poolt. 
Vajalik reaalajasüsteemide nõuete täitmiseks.)
3. Tegum  (protsess) ja seda iseloomustavad  parameetrid .
Protsess ehk tegum ( Task ) – töötava/täidetava programmi abstraktsioon,
op-süsteemi plaanuri ( Scheduler ) poolt juhitav loogiline ühik. Tüüpiliselt kujutatakse 
andmestruktuuriga, mis sisaldab:
1. täitmise  seisundit  (state of execution)
2. identiteedi-infot ( identity ) – näiteks  registrite  sisu, aadressiruum jne.
3. atribuute (attributes) – näiteks täitmise aeg
4. ressursside nimekirja (resources) – avatud failid,  sisend -väljundseadmed jne
4.Nimetada tegumit puudutavad RAS operatsioonisüsteemi parameetrid.
Scheduling - plaanur/ planeerimine  - määrab, milline tegum täidetakse järgmisena ja millal (järjekord, 
aeg) (eirinevad  protokollid )
Dispatching - dispetšer - tegumi info " raamatupidaja " - hoiab parameetreid, mis tegumi käivitamiseks 
vaja
Intercommunication and Synronization - kommunikatsioon ja sünkroniseerimine - tegumite 
koostöö/vastasmõju juhtimine
OS kernel (tuum) on vähim ühik, mis neid funktsioone täidab.
5.RAS operatsioonisüsteemi  taksonoomia  (osad).(?)

Nanokernel – lõimede/tegumine juhtimine( management )

Mikrokernel – lisab plaanuri (Scheduling)

Kernel – lisab kommunikatsiooni ja sünkroniseerimise(semafor, kirjakast,  kohtumine  jne)

RT  Executive  – mäluplokkide kontroll, IO kontroll jne –enamik  reaalaja  kerneleid on 
“executive” tasemel
Operatsioonisüsteem – lisab kasutaja interfeisi,turvameetodid, kõrgtasemel failitöö
6. Nimetada pseudokernelite liigid. 
1. Polled  loop  – pollitav tsükkel
2. Synchronized Polled Loop – sünkroniseeritud pollitav tsükkel
3. Cyclic Executives –tsükliliselt täidetavad  programmid
4. State-Driven  Code  – seisunditega/olekutega juhitav kood
5. Coroutines - kaasprogrammid
7. Millal kasutatakse reaalajasüsteemides pseudokernelit? 
Reaalajalist paralleeltöötlust on võimalik saavutada ilma katkestusteta ja isegi ilma OS-ta  klassikalises  
mõistes – kus võimalik peaks seda lähenemist kasutama

lihtsam realiseerida,

lihtsam siluda,

lihtsam analüüsida
8. Mis on pollitav tsükkel (polled loop), millal seda kasutatakse? 
Kiire  reaktsioon  ühele sündmusele.  Testitakse , kas mingi  lipp  on oodatud seisus ja siis täidetakse tegum.
Mitu lippu tegumit – cyclic executive. Ideaalsed näiteks kiirete andmekanalite teenindamisel, kus 
andmevahetuse  iseloom ei ole  regulaarneOlemuselt   raiskavad  protsessori aega – sisaldub hüpe 
iseendale .
9. Selgitada, kuidas saab vältida  programmis  mehaanilise lüliti lülitamisel tekkivat häiret. (?)
Lisaks pollitavale sündmusele fikseeritud sagedusega kellakatkestus.Vajalik protsesside kontrollimisel, 
kus võib olla häireid või kindla ajavahemikuga määratud tegevusi – lülitamise häire näiteks (bouncing)
10. Mis on tsükliliselt täidetavad programmid (cyclic executives), millal neid kasutatakse? 
Ilma katkestusi kasutamata  luuakse  samaaegse täitmise  illusioon  – lühikesed protsessid kiires 
protsessoris lõpmatus tsüklis – pollitava tsükli edasiarendus. 
11. Mis on seisunditega juhitav kood (state-driven code), millal seda kasutatakse? 
Kasutab hargnevat if-then  laadset  käsustikku  juhtimiseks  ( case , seisundiautomaat). Mitte kõiki protsesse
ei saa jagada seisunditeks, samuti juhtimistabelid võivad kasvada väga suureks.
12.Mis on kaasprogrammid, millal neid kasutatakse? 
(Coroutines) State-Driven Programming  erijuht .
Koostöötav mitmiktöötlus
(cooperative multitasking) – distsiplineeritud  programmeerija  ja sobiv kasutus. Protsessid koosnevad:

Faasidest  ja iga faasi lõpus juhtimine antakse üle dispetšerile, kes annab täitmise üle järgmise 
tegumi sobivale faasile jne.

Kommunikatsioon ja faasidele vajaliku info säilitamine toimub globaalsete muutujate abil.
13. Kuidas töötavad katkestustega  juhitavad  programmid, nende eelised ja puudused? 
Interrupt - Driven Systems – katkestustega juhitavad programmid
Katkestustega juhitavates süsteemides põhiprogramm koosneb “hüppest iseendale”. Programmi  kulgu  
kontrollitakse  riistvara  ja/või tarkvara katkestustega. Ainult katkestustega juhitavad süsteemid:
1. kiire kosteaeg,
2. tundlik riistvara riketele,
3. race- conditions  ( ajalised  probleemid),
4. iseendale hüppetsükkel (raiskab aega)
5. Interrupt  Service  Routines – katkestuste teenindusprogrammid
6.  Context  Switching – konteksti lülitamine (vahetamine)
14. Mis on konteksti lülitamine (context switching), kuidas seda realiseeritakse? 
Protsess, mis säilitab vajaliku informatsiooni töö jätkamiseks, kui ISR lõpetab töö. Oluline  salvestada  
ainult vajalik osa. Tavaliselt pinu ( cache ) mudel (salvestatakse pinusse)
1. Registrite sisu
2. Programmiloendi väärtus
3. Kaasprotsessori registrite sisu (kui eksisteerib)
4. Mälulehtede  register
5. Mälulaadselt ühendatud I/O andmed/väärtused
6.  Katkestused  sel ajal keelatud
15. Kuidas töötab järjestikplaanur ( round - robin )? 
Round-robin (järjestikku) on üks lihtsamaid plaanuri algoritme (scheduling algorithm) 
protsesside/tegumite juhtimiseks OS-s. Round-robin plaanur:
1. eraldab igale protsessile võrdse ajavahemiku
2. käsitledes protsesse järjekorras,
3. ilma prioriteetideta.
4. Round-robin plaanur on lihtne ja
5. kerge programmiliselt realiseerida,
6. ei teki ressursside  nappuse  (starvation) olukorda
16. Mis on tõrjuva prioriteediga süsteemid, millal neid kasutatakse? 
Preemptive- Priority  Systems – välistava/tõrjuva prioriteediga süsteemid
Kõrgema prioriteediga tegum saab katkestada/välistada madalama prioriteediga tegumi töö. Võimaldab 
tähtsamatele tegevustele/protsessidele omistada kõrgema prioriteedi. Tuumaelektrijaam – sissetungijale 
reageerimine on oluline, aga ülekuumenemine veel olulisem.
Prioriteedid  saavad olla:
1. Fikseeritud – näiteks RM –  Rate  monotonic – sagedamini täidetavatel tegumitel on kõrgem 
prioriteet
2. Dünaamilised – näiteks EDF – Earliest  Deadline   First  – lähima piirajaga tegumi prioriteet 
kõrgeim
Prioriteetide kasutamine võib põhjustada ressursside nälga ja osa tegumite mittepiisavat täitmist.
17. Mis on hübriidsüsteemid, milliseid  variante  teate? 
1. Enamik süsteeme on segu mitmest võimalikust vaadeldud variandist
2. Sisaldavad perioodilisi ja sporaadilisi (juhuslikke) katkestusi.
3. Sporaadilised – kriitiline viga, kriitilise ressursi  katkestus , kriitiline oleku muutus keskkonnas.
4. Teine hübriidsüsteemi variant on “Round-robin” ja “Preemptive-
5. Priority” süsteemide segu.
6. Foreground/Background Systems
◦ Background  Processing  
◦ Initialization
18. Mis on tegumi juhtimise  blokk -mudel (task-control block model - TCB)? 
1. TCB mudel on kõige enam kasutatav mudel kommertsiaalsete OS-de realiseerimisel – tegumite 
hulk võib varieeruda – interaktiivsel  kasutamisel  tegumite hulk tavaliselt muutub – puudus: 
suure hulga tegumite korral plaanuri enda ressursinõudlikkus muutub oluliseks. TCB  mudelis  
iga tegum seotud andmestruktuuriga (TCB).
2. Kasutatakse plaanuritega
◦ Round-robin
◦ Preeemptive-priority
◦  Kombineeritud  variandid
19. Nimetada  enamlevinud  tegumi  seisundid  (task states), näidata seisunditevahelisi võimalikke 
üleminekuid. 
OS juhib tegumi olekut:
1.  Executing  – täidetav tegum, ühe  protsessoriga  süsteemis ainult üks
2.  Ready  – täitmiseks valmis – kas uus või katkestatud (aeg lõppes või välistus tekkis)
3. Suspended (or  blocked ) – tegum on seisatud (mõnikord tähendab ka, et tegum on lõpetanud töö)
4. Dormant (or sleeping) – eksisteerib, pole kättesaadav, seda olekut alati ei kasutata
20. Milline on tüüpiline TCB struktuur?
[TCB mudel on kõige enam kasutatav mudel kommertsiaalsete OS-de realiseerimisel – tegumite hulk  
võib varieeruda – interaktiivsel kasutamisel tegumite hulk tavaliselt muutub – puudus: suure hulga 
tegumite korral plaanuri enda ressursinõudlikkus muutub oluliseks. TCB mudelis iga tegum seotud 
andmestruktuuriga (TCB).
TCB administreerimise mudel – tegumid ise hoiavad oma seisundi infot, paindlik, lihtne tegumeid 
lisada hiljem. Kui OS välja kutsutud, ta testib TCB-de seisundit – võtab nimekirjast järgmise 
valmisoleva tegumi ja seab selle täitmise olekusse (executing), täidetud tegum lingitakse nimekirja 
lõppu  seisundiga  “ready”. Seisundit hoitakse seisundisõnas ( status  word) - executing, ready, suspended, 
dormant (magav) - selline mudel ei nõua TCB-de dünaamilist mälu jagamist.]
RAS operatsioonisüsteemid – tegumite kommunikatsioon ja 
sünkroniseerimine 
21. Miks ja millal on vaja tegumeid sünkroniseerida? 
Kui tegumid sõltumatud ja katkestatavad/välistatavad igal ajahetkel, siis lihtne mudel – praktiliselt pole 
selline olukord võimalik. Peaaegu alati tegumitel vaja infot vahetada ja tegevust sünkroniseerida. 
(Enamasti probleem piiratud hulga ressursside kasutamise sünkroniseerimises.)
[ Teadete   saatmine  võib olla nii  blokeeruv  kui mitteblokeeruv. Blokeerumine annab sünkroonse suhtluse.
Mitteblokeerumine annab asünkroonse suhtluse. Saatmine ja vastuvõtt võivad teineteisest sõltumatult 
olla blokeeruvad või mitteblokeeruvad]
22. Millise süsteemi  ressursid  vajavad tavaliselt sünkroniseerimise kasutamist? (?)

Protsessori aeg/hulk – kõik  protsessorid / kontrollerid  süsteemis

Mälu – kõik mälud süsteemis

Sisend/väljundseadmed (IO) – siia alla käivad ka kõik  andurid /täiturid jms
23. Mis on programmi  kriitilised  piirkonnad? 

Ressursside  jagamise  korral tihti olukord, kus valel ajal pöördumine võib põhjustada 
katastroofilisi  olukordi  või muutub kasutamise eesmärk mõttetuks.

Ketta  samaaegne kasutamine, printeri samaaegne kasutamine “I am I am Task A Task B

Kriitiline piirkond on tegumi osa, kus tegum kasutab mingit ühekordselt pöördutavat 
ühisressurssi, mille ta kasutamiseks blokeerib
24. Globaalsete muutujate kasutamine, eelised ja puudused,  puhverdamine .
[Kommunikatsioon ja faasidele vajaliku info säilitamine toimub globaalsete muutujate abil.]
Globaalsed  muutujad –  kiireim  ja lihtsaim  moodus  andmete vahetamiseks. Vaatamata 
programmeerimistavale (mis ei pea soovitavaks globaalsete muutujate kasutamist) on nad 
manusarvutites väga tihti kasutusel.
Probleem – andmete tootja-tarbija kiiruste erinevus – vaja tuua sisse  puhvrid . Puhvrite puhul suuruse 
hindamine.
Puhverdamine: Ühendusega on seotud teadete järjekord.
Järjekorra pikkuse jaoks mitu võimalust:
1. Null – mitte ühtegi teadet, käsitsi puhverdamine
2. Piiratud maht – etteantud arv teateid, kui saatmisel on järjekord täis, siis sünkroonne  saatja  
blokeerub ruumi vabanemiseni
3. Piiramatu maht – saatja ei blokeeru kunagi
25. Mis on ringpuhvrid, kuidas neid kasutatakse? 

Analoogne  topelt puhverdamisega, lihtsam kontrollida, n-lugeja, mkirjutaja probleem lihtsam.

Hoitakse päise/alguse (head) - lugemine ja jaluse/lõpu ( tail ) - kirjutamine aadresse
[Ringpuhver on  massiiv , mille esimest elementi loetakse viimasele järgnevaks. Ringpuhver (Circular 
Buffer), mis on oma olemuselt fikseeritud suurusega tsükliliselt läbitav andmestruktuur. Puhvri 
täitumisel alustatakse uut ringi ning  kirjutatakse  kõik eelnevalt vastu võetud sõnumid üle. Ringpuhvrit 
kasutatakse reaalajasüsteemide puhul, kus on tähtis andmeedastuskiirus, kuid vanemate andmete 
ülekirjutamine ei ole aja progresseerudes enam kriitiline. Taoline lähenemine on otstarbekas näiteks 
multimeedias, kus  reaalajas  esitatud pilt ei sõltu sellest, kas mõni  pakett  minevikus läks kaduma või 
mitte. Kuivõrd visualiseerija  seisukohast  on tähtis suur andmete läbilaskevõime, on siiski otstarbekas 
võimalusel vältida andmete kadu. Ringpuhver võib osutuda kasuliks ainult olukorras, kus enam 
sõnumite läbilaskevõimet ei suudeta suurendada ning kadumaläinud sõnumid kuvatakse visualiseerijas 
kui määramatuse olukord.]
26. Mis on kirjakastid (mailbox), kuidas neid kasutatakse?

Paljudes tööstuslikes OS-des kasutatav tegumite kommunikatsiooni vahend, kus mingi mäluosa 
on kokkuleppeliselt käigus andmete vahetamiseks või sünkroniseerimiseks. Kernel kontrollib st 
pöördutakse kerneli poole  postkasti  kirjutamiseks (post) ja lugemiseks ( pend ).

Tihti kasutatakse kriitilise ressursi kontrollimiseks – postkastis võti, mida saab küsida,  postkast  
jääb tühjaks. 
(Rivi – ootejärjekord Sellised kirjakastide massiivid (mailbox array), kus saab kirjutamisi ja 
lugemisi järjekorda seada. Mailbox on  Queue  alamliik.)
27. Mis on semaforid, kuidas neid kasutatakse?
Semaforid – Semaphores, ka mutex (ainult protsess ise saab vabastada)
Levinuim meetod kriitiliste piirkondade kaitsmiseks on semafor – mälupiirkond, mis toimib kriitiliste 
ressursside kaitse lukuna. S – semafor, kaks funktsiooni  wait  ehk P(S) – proberen "to test," ja  signal  ehk 
V(S) - verhogen ("increase"). Kriitilisse regiooni sisenedes funktsioon P(S) ja väljudes V(S).
28. Kirjutada vabalt valitud programmeerimiskeeles näidisprogramm ( fragmendid ) mingi süsteemi 
ressursi kaitsmiseks kasutades semafori. Selgitada selle programmi tööd.
???
29. Mis on loenduvad semaforid, milleks neid kasutatakse? 
Vabade ressursside üle arvepidamiseks – rohkem kui üks,wait – MP(S) ja signal - MV(S), saab kujutada 
funktsioonidega, semafor S tuleb eelnevalt initsialiseerida ressursside  hulgaga :
30. Mis on  ummik  (deadlock)?

Kaks või enam tegumit võistlevad pöördumises kahe või enama järjestikku  kasutatava  ressursi 
poole – võib tekkida ummik (Deadlock või deadly embrace). Näites järgmisel slaidil tegum A 
nõuab ressursse 1 ja 2, samuti tegum B. Tegum A omab ressurssi 1, ootab ressurssi 2 – tegum B 
omab ressurssi 2, ootab ressurssi 1. Semaforid S ja R  kaitsevad  ressursse 1 ja 2 vastavalt.

Olukord, kus kumbki protsess ootab teise lõppemist.

Ummik on analoogne probleemiga, “ kumb  oli enne, muna või  kana
31. Millised tingimused peavad olema täidetud ummiku tekkimiseks?

Mutual exclusion – vastastikune välistamine – ressurss on kas ühe protsessi poolt hõivatud või 
vaba

Circular wait – tsirkulaarne ootamine – kaks või rohkem protsessi ootavad ringlistis teineteise 
(üksteise) ressursse

Hold  and wait – hoia ja  oota  – protsess, mis omab ressurssi, võib neid juurde nõuda ilma 
hoitavaid ressursse vabastamata

No preemption – mittevälistamine – ainult protsess, mis ressurssi omab, saab selle vabaks lasta

Kõik neli peavad olema täidetud, et tekiks ummik, kui mingi neist välistada, siis ummikut ei teki
32. Kuidas vältida ummiku tekkimist? 

Ummik on tõsine probleem, tihti ei avastata testimisel.

Lisaks võib ta ilmneda väga harva, ebasoodsate tingimuste kokkulangemisel.

Lahendamine pole selgelt määratud, olulised muudatused  koodis  võivad olla vajalikud.

Näide lihtne - enamasti on probleemid varjatud  keeruliste  koodikombinatsioonide sisse, pole 
ilmne, kus võivad tekkida

Vältimiseks on vaja teada enne ressursi nõudmist, et võib tekkida ummiku olukord – RAS see 
tihti raskesti (või üldse mitte) täidetav, seega pole võimalik alati ummikut vältida

[Praktilised soovitused:
Minimiseerida kriitiliste piirkondade hulk ja pikkus 
Kõik protsessid peavad vabastama ressursid enne tagasipöördumist väljakutsuvasse funktsiooni 
Mitte peatada (välistada) tegumit, kui ta omab kriitilist ressurssi 
Kriitilised  regioonid  ei tohi  sisaldada  vigu 
Mitte lukustada seadmeid katkestusprogrammides (protsessides) 
Kriitilistes regioonides peab  teostama  viitade kontrolli]
33. Mis on prioriteetide inversioon, selgitada selle tekkimist?
Kui madalama prioriteediga tegum blokeerib kõrgema prioriteediga tegumi (t1 pöördumine kriitilise 
ressursi poole).
34. Kuidas töötab päritava prioriteediga  protokoll  (priority inheritance protocol)?
Kõrgema prioriteediga tegum püüdes kasutada madalama prioriteediga tegumi poolt hõivatud kriitilist 
ressurssi, pärandab oma prioriteedi madalama prioriteediga tegumile selleks ajaks, kuni nõutav ressurss 
vabaneb.
NB: ei väldi ummikut, võib seda isegi esile kutsuda
35. Iseloomustada prioriteedi laega protokolli (priority  ceiling  protocol). 
Laiendab  prioriteedi pärandamist nii, et ükski tegum ei saa minna kriitilisse regiooni  selliselt , et ta seal 
blokeeritakse. Selle saavutamiseks antakse igale ressursile prioriteet, mis võrdne kõige kõrgema seda 
ressurssi kasutava tegumi prioriteediga. Sarnane prioriteedi pärandamise käitumisega, lisaks ei saa 
tegum minna kriitilisse regiooni, kui seal eksisteerib mõni semafor, mida hoiab tegum, mille “priority 
ceiling” on kõrgem või võrdne.
RAS analüüsi teoreetilisi tulemusi 
36. Millised eeltingimused peavad olema täidetud tegumi lihtsustatud analüüsiks? Millised on olulised 
parameetrid, mida  sealjuures  kasutatakse?
RTOS omadused:
1. Enamik RAS-e pärilikult paralleelsed –  suhtlemine  keskkonnaga 
2. Protsesside seisundit kontrollib operatsioonisüsteem 
3.  Seisundite  nimetused erinevates RTOS erinevad 
4. Protsesside planeerimine ( Process  Scheduling) on OS-i fundamentaalne funktsioon. Halvima 
juhu strateegia (ettemääratus) määrab planeerimise RAS korral, piirangutest tuleb kinni pidada 
◦ Enne täitmist määratud järjekord – fikseeritud prioriteedid 
◦ Täitmise käigus määratud järjekord – muutuvad prioriteedid
Tegumi parameetrid:
1. Precedence  Constraints  - Eeltingimused - kas mõni tegum vajab, et mingi teine tegum oleks 
eelnevalt täidetud
2.  Release  Time - Alustamise hetk ri,j – tegumi ti j-nda eksemplari täitmise algushetk
3. Phase - Faas fi – tegumi ti esimese eksemplari täitmise algushetk
4. Response Time - Kosteaeg - aeg tegumi aktiveerimisest kuni tegumi töö lõppemiseni
5. Absolute Deadline - Absoluutne piiraeg di - ajahetk, milleks tegum peab töö lõpetama
6. Relative Deadline – Suhteline piiraeg Di – tegumi maksimaalne lubatud kosteaeg
7. Laxity Type - Lõtku tüüp - võimalikud lõtkud tegumi täitmisel
8.  Period  - Periood pi (Ti)- minimaalne ajavahemik tegumi korduvtäitmiste vahel
9. Execution Time - Täitmise aeg ei (Ci)- maksimaalne aeg, mis on vajalik tegumi täitmiseks, kui 
talle on kättesaadavad kõik vajalikud ressursid ja tema tööd ei katkestata
37. Tsükliliselt täidetavate programmide (cyclic executives) plaanuri minimaalse ajaühiku (frame) 
valiku kriteeriumid.
Kiire reaktsioon ühele sündmusele. Testitakse, kas mingi  lipp  on oodatud seisus ja siis täidetakse tegum.
Mitu lippu ja mitu tegumit – cyclic executive.
Ilma katkestusi kasutamata luuakse samaaegse täitmise illusioon – lühikesed protsessid kiires 
protsessoris lõpmatus tsüklis – pollitava tsükli edasiarendus.
38. Sagedusmonotoonne (RMA) tegumite planeerimine, eeltingimused RM kasutamiseks, RM puudused
ja eelised.
Eeltingimused:
1. Kõik tegumid on perioodilised
2. Tegumi piiraeg võrdub tegumi järgmise perioodi algusega (piiraeg on võrdne perioodi 
kestusega)
3. Tegumid on sõltumatud, puuduvad ühisressursid (I/O, rivid, semaforid, …)
4. Konteksti lülitamise aeg on tühine, seda pole vaja arvestada
5. Tegumite täitmise aeg on  konstantne  (ei muutu ajas)
6. Kõik tegumid on võrdse tähtsusega
7. Prioriteedid on staatilised – kõrgema prioriteediga tegum katkestab alati madalama prioriteediga
tegumi täitmise
8. Prioriteedid on määratud vastavalt tegumite perioodile – lühema perioodiga (tihedamini 
täidetavate) tegumite prioriteet on kõrgem
9. Ainukesed aperioodilised käsud on seotud süsteemi initsialiseerimisega ja eriolukordade 
töötlusega ning ei oma jäiku piiraegu
[RMA ja EDF võrdlus:

Määratud situatsioonis EDF annab parema protsessori aja kasutuse 

Kui olukord kriitiline ja piiraegu enam ei õnnestu rahuldada, siis RMA paremini ettemääratav]
39. Praktiline näide RMA plaanuri kasutamise kohta.
40. EDF (earliest deadline first) plaanuri  algoritm , puudused ja eelised. 
Dünaamiline prioriteetide jaotamine, enimlevinud moodus EDF – varaseim piiraeg esimesena st tegum, 
mille piiraeg saabub esimesena, saab kõrgeima prioriteedi. Matemaatiline mudel:
41. EDF ja RMA võrdlus. 

Määratud situatsioonis EDF annab parema protsessori aja kasutuse

Kui olukord kriitiline ja piiraegu enam ei õnnestu rahuldada, siis RMA paremini ettemääratav
42. Praktiline näide EDF kasutamise kohta. 
43. RAS opsüsteemi valikukriteeriumid. 

Rahuldab  reaalajalisi nõudeid – deterministlik käitumine

Tõrgeteta mitme programmi samaaegne töö – multitasking

Paindlik ja kindel – flexible, robust

[Timeliness – ajalise käitumise  sobivus
• Design for  survival  under  peak   load  – käitumine tippkoormusel
• Predictability - ettemääratus
• Fault- tolerance  - tõrkekindlus
• Maintainability – säilitatavus, hooldatavus
• Saadaval erinevad variandid, kogemuse puudumisel raske otsustada. Võimalik
• Uurida sarnaseid süsteeme
• Uurida erinevate RTSO-de käitumist teiste andmete põhjal (näit. Internetist)
• Püüda hinnata objektiivsete kriteeriumite alusel] ??? Kas on õige?
44. Ostetud ja kirjutatud opsüsteemide eelised ja puudused. 
Kommertsiaalselt saadaval suur vali RTOS-e

PLUSS
1. Standardsete seadmete tugi
2. Võrguprotokollide tugi
3. Arendusvahendid saadaval
4. Multiplatvormsed
5. Kerge kasutada
6. Tootetugi

MIINUS
1. Liiga funktsionaalne (palju tarbetut)
2. Hind võib olla liiga suur osa seadme hinnast
3. Halvima juhu (worst case) käitumine pole teada tavaliselt
4. Võimalikud vead kriitilistes osades
45. Milliseid reegleid (kriteeriume) kasutatakse opsüsteemi  valikul  erinevate opsüsteemide 
võrdlemiseks? 
1. Timeliness – ajalise käitumise sobivus
2. Design for survival under peak load – käitumine tippkoormusel
3. Predictability - ettemääratus
4. Fault-tolerance - tõrkekindlus
5. Maintainability – säilitatavus, hooldatavus
6. [1. Minimum interrupt latency - katkestuste latents - aeg  katkestuse  tekkimisest kuni 
katkestusprogrammi käivitamiseni;
2. Number of tasks supported - paralleelselt käivitatavate tegumite hulk;
3.  Memory  requirements - RTOS enda mäluvajadus;
4. Scheduling mechanism - plaanurite hulk ja olemasolu;
5. Intertask synchronization mechanism - protsesside kommunikatsiooni võimalused 
(puhvrid,järjekorrad, ühismälu, semaforid jne);
6. Software  support  (warranty) - firma tugi (olemas või mitte, tasuta või mitte jne);
7. Software support (compiler) -  rakendustarkvara  kättesaadavus ja hulk;
8. Hardware compatibility -  platvormide  (protsessorite) hulk;
9. Royalty free/Source  available  - opsüsteemi koodi kättesaadavus ja litsentsitasu;
10. Context switch time - konteksti lülitamise (vahetamise) kiirus ja moodused;
11.  Cost  - hind, paremad kipuvad kallimad olema;
12. Available alternatives - sobivus teiste opsüsteemidega;
13. Supported  network  protocols - võrguprotokollide tugi.] Ei tea kas on õige???
RAS Tarkvarasüsteemi  disain  
46. Millistest faasidest koosneb manussüsteemide arendustsükkel?
1. esimene faas – iseseisev arvutisüsteem mikroprotsessoril (tavaliselt ilma 
operatsioonisüsteemita), mis põhimõtteliselt realiseerib tulevase toote funktsioonid; see faas 
realiseeritakse rakendust tundvate spetsialistide poolt, kes ei pruugi olla hiilgavad 
arvutispetsialistid; vaadeldav tulevase toote prototüübina;
2. teine faas – lisab süsteemile kasutamise  mugavuse  tõstmiseks vajalikud funktsioonid; 
tulemuseks on esialgne (s.t. mitte spetsiaalselt  disainitud ) tarkvara  arhitektuur , mis on üsna 
juhuslikult modifitseeritud hulgaliselt lisatud täiendavate osadega;
3. kolmas faas – teise faasi täienduste tulemusena on tarkvara struktuur läinud ülikeeruliseks, 
tekivad töökindluse probleemid, silumine ja katsetamine muutuvad äärmiselt töömahukaks ja 
väheusaldatavaks; projekti kaasatakse professionaalsed  programmeerijad , kogu tarkvara 
struktuur projekteeritakse uus, enamasti tuuakse sisse ka operatsioonisüsteem; see faas ei lisa 
olulist süsteemi kasutamismugavusele ja funktsionaalsusele, kuid on hädavajalik töökindluse 
tagamiseks – selles faasis kulub palju raha näiliselt mitte millegi peale ja tihti jäetakse töö selles 
faasis katki;
4. neljas faas –  tulevast  toodet vaadatakse kui suurema süsteemi osa, mis peab olema 
interaktsioonis end ümbritseva keskkonnaga; lisatakse andmevahetusliides, mis esialgu rahuldab
ettevõttesisest standardit, seejärel viiakse vastavusse mingi rahvusvahelise standardiga; otsitakse
võimalusi realiseerida süsteemi osi ASIC’u abil,  tarkavara  ressursimahukus minimiseeritakse, 
kood pannakse püsimällu, jne.
47. Millised on RAS  spetsiifilised  nõuded  tarkvarale ? (ei tea, kas on õige)
1.  Rakenduse  käitumine on oluliselt määratud arvutisüsteemi ja otsustusalgoritmidega
2.  Rakendus  koosneb erineva teostusega, omavahel ja väliskeskkonnaga interaktsioonis olevatest 
komponentidest
3. Osa komponentidest passiivsed käsutäitjad, osa aktiivsed otsustajad ja käskijad
4. Komponentide koosmõjul tekkiv käitumine ei ole täpselt ette määratud, ega ole ka tuletatav 
(mittetäielik info põhjuste kohta,  loenduv  hulk alternatiive) – nn. genereeruv käitumine 
(emergent behaviour)
5. Määratud on toimimise üldeesmärgid ja füüsikalised,  loogilised  ja ajalised kitsendused
6. [Reaalajasüsteemid peavad mõistliku aja jooksul  reageerima  väliskeskkonnast tulevatele  
mõjutustele. 
RAS nouded mää ravad  tarkvara valmistamise eripärad (enamasti tekib sundparalleelsus):
• Joudlus tippkoormusel peab olema ennustatav
• Töökiiruse juhtimine toimub umbritsevast keskkonnast
• Ohutus on sageli kriitilise tä htsusega
• Andmemahud on vä ikesed  voi keskmised
• Aktiivne liiasus (dubleerimine)
• Andmete terviklikkus noutav luhiajaliselt
• Autonoomne vigade avastamine] Ei tea kas on õige ???
48. Nimetada tarkvara elutsükli osad.
1. Nõuete analüüs e. süsteemi analüüs
2.  Spetsifikatsioon  – mida toode teeb
3.  Projekteerimine  – kuidas teeb
4.  Programmeerimine
5. Koostamine ja  testimine
6.  Hooldus  (kasutus)
7. Kasutusest mahavõtmine
49. Mis peab olema ära toodud spetsifikatsioonis? (?)
Spetsifikatsioon tuleb dokumenteerida nii, et see oleks arusaadav potentsiaalsele kasutajale ja samal ajal
saaks seda dokumenti kasutada kliendi ja tarkvara looja vahelise lepingu  koostamiseks .
Spetsifikatsioon peaks lõppema plaaniga:

palju  etappe  projekt läbib,

mis on tähtajad,

palju see kõik maksab

(Kui spetsifikatsioon näitab, mida tarkvaraprodukt peab tegema)

[1. Sissejuhatus 
*Süsteemi eesmärk ja vajadus. 
*Side organisatsiooni endaga ja teiste  firmadega
2. Süsteemi mudel 
*Vaatepunktide analüüs 
*Infotöötluse kohad: 
a) Kliendiga suhtlemise kohad 
b) Süsteemiga suhtlevad erialagrupid 
*Mudeli kirjeldus:
a)Süsteemi komponendid, seosed, 
b)sisend, väljund 
3.  Funktsionaalsed  nõuded
*Kasutajale osutatud teenused 
4. Riistvara, tarkvara,  andmeside  
5. Andmebaasi nõuded
*Andmete loogiline struktuur 
* Kasutajaliides  
6. Kitsendused 
*Ajalised kitsendused 
* Standardid  
* Mobiilsusreaktsiooniaeg , keel 
7. Süsteemi arengu tagamine
*Muutuvate vajaduste rahuldamine]
50. Disaini etapi kirjeldus ja testimine.

Kui spetsifikatsioon näitab, mida tarkvaraprodukt peab tegema, siis projekteerimise faas (disaini
faas) määrab kuidas ta seda teeb. Selle faasi ajal:
1. määratakse andmestruktuurid
2. valitakse algoritmid
3. määratakse sisemised andmevood 
4. jagatakse  produkt   osadeks  – riistvara ja tarkvara
5. määratakse mida iga osa teeb ja kuidas teeb

Testimine. Kvaliteedi kindlustamise  komisjon  kontrollib projekti ja tema elementide vastavust 
spetsifikatsioonile.
51. Umbkaudsed  hinnangud  tarkvara elutsükli  etappide  ajalisele kulukusele kogukulust.
Projekt – hinnang:

Valime1 CPU, 100 KLOC – COCOMO hindab 1403 inimkuud

Valime 4 CPU, 40 KLOC, 3 x 20 KLOC – COCOMO hinnang 909 inimkuud

Valik 5 CPU, 22 KLOC – COCOMO hinnang 1030 inimkuud
Süsteem hinnang – kuidas riistvara lisamine mõjutab olulisi parameetreid – töökindlus,  energiatarve ?
52. Tarkvara loomise meetodid.
1. voomeetod
2. täiustav prog.-e, süsteem kiiresti valmis ja modifitseerida kuni ok
3. prototüüpimine
4.  formaalne   transformatsioon , formaalsest spetsifikatsioonist -> transformatsioon korrektse 
produktini
5. süsteemi koostamine taaskasutatavatest osadest
6. tarkvara tehased (Toshiba Software Factory)
53. „ Kosk -mudeli” kirjeldus, eelised, puudused,  kasutatavus  RAS korral.
Kosk –mudel iseloomustab  klassikalist  tarkvara elutsüklit, kus on  seitse   etappi :
1. Vajaduste kirjeldus
2. Disain
3. Koodi kirjutamine ( konstrueerimineteostamine )
4. Integreerimine
5. Testimine ja silumine 
6. Paigaldus
7. Hooldus
Süsteemianalüüs, Analüüs, Kavandus(projekteerimine), Kood, Test, Hooldus. (ja siis  algusesse  tagasi)

Eelised
1. Sunnitud  distsipliin
2. Igas faasis määratud  dokumentatsioon
3.  Kvaliteedikontroll  igas faasis

Puudused
1. Produtseeritakse suur hulk dokumentatsiooni, alati pole see kõik kasulik
2. Valmisprodukt hilinemisega
3. Puhas ‘ülalt-alla’ lähenemine on raske, eriti algajatele
54. Prototüüpmudeli kirjeldus, eelised, puudused.
Kiiskavandus, Prototüüp, Test,  Tellija  hinnang. (ja siis algusesse tagasi)
Prototüüpimine on väikeseeriate, väiksemate projektide jaoks.
Prototüüp vähendab tarkvaraprojektide riske, sest: 

saab katsetada ajapiiranguid, 

saab veenduda interfeiside sobivuses, 

tellija näeb väljatöötaja  team ’i potentsiaali, 

prototüüp veenab tellijat  produkti   vajalikkuses .

Eelised
1. Varane tagasiside
2. Kiire arendustsükkel

Puudused
1. Mitte eriti paindlik
2. Prototüübi loomine “from the  scratch ” võib osutuda raskeks
55. Spiraalmudeli kirjeldus, puudused, eelised, kasutatavus RAS korral.
Boehm’i spiraalmudel e. riskide mudel. RISK on antud mudelis midagi sellist, mis võib
projektis   viltu  minna e. Ebaõnnestuda. Planeerimine, Riskianalüüs, Produkti loomine, Tellija hinnang. 
(ja sedasi käib ringi ja ringi)

Eelised
1. Selge riskianalüüs
2. Perioodiline prototüüpimine ja hindamine
3. Hooldus kujuneb samas tsüklis loomisega

Puudused
1. Sobib suurtele projektidele (riski hindamine peab olema odavam, kui võimalik “häving”
2. Töötab ainult “sisemiste” projektide korral, alamlepingutega võib mitte toimida
3. Nõuab arvestatavat riskianalüüsi kogemust
[Spiraal-mudel kujutab tarkvaraarendust lõpmatult korduvate tsüklitena.Esimene kordus võib olla 
näiteks seotud süsteemi teostatavuse uurimisega, teine nõudmiste kirjeldamisega, järgmine 
kavandamisega jne. Mitu kordust on enamasti seotud tarkvara  realiseerimisega , kus tema ehitamine 
toimub inkrementaalselt. Kuid kindlasti ei tohiks spiraali korduseid võrdsustada tavapäraste 
arendusprotsessi faasidega. Iga kordus on jaotatud 3 kuni 6 sektorisse (erinevad autorid jagavad 
erinevalt). Iga kordus algab lähema eesmärgi kavandamise ja riskide hindamisega ning lõppeb nö 
kliendiga - ehk eesmärk peab saama täidetud ja kontrollitud. Sektorite töömahukus ei pruugi olla 
ühesugune.]
56. Kümme tähtsamat tarkvaraarenduse riskitegurit, vastumeetmed neile.
1. Personali puudused - leida talente, kõigile sobiv töö, parandada team’i korraldust, tõsta 
töömoraali, väljaõpe, võtmeisikutega tähtaegade läbiarutamine.
2. Ebareaalsed tähtajad ja  eelarved  - teha detailne kulude ja tähtaegade hinnang, koostada eelarve, 
tarkvara korduvkasutamine.
3. Valede funktsioonide väljatöötamine - firma tegevuse analüüs, kasutajate  intervjueerimine
prototüüpimine,  varased  tarbijajuhendid.
4. Vale kasutajaliidese tegemine - tööde analüüs, prototüüpimine, kasutajastsenaariumide 
hindamine, kasutajate  iseloomustamine  (funktsionaalsus, stiil, töökoormus).
5. nn.  Gold  plating (“ülekuldamine”) - nõuete ülevaatus, prototüüpimine, kulude-tulude analüüs, 
koostada eelarve.
6. Pidev  muudatuste  jada - asetada muudatustele kõrge künnis,kasuta  juurdekasvu  mudelit.
7. Altminekud tellitavas riistvaras - hinnangud, inspekteerimised,ühilduvuse kontroll.
8. Altminekud tellitavates töödes - täitjate eelhindamine,võistlustööde või prototüüpide tellimine, 
team’i koostamine.
9. Reaalaja jõudluse puudujäägid -  modelleerimine ,eelhindamine, prototüüpimine, 
eelhäälestamine.
10. Arvutustehnika võimaluste ülehindamine - tehniline analüüs,kulude-tulude analüüs, 
prototüüpimine, kirjanduse viidete ülekontroll.
57. Tarkvara omadused.
1. Väline (kasutajale nähtav) kvaliteet
◦ Kasutatavus - Usability
◦ Usaldusväärsus - Reliability
2. Sisemine kvaliteet
◦ Nõuete kirjeldus
◦ Disaini dokumentatsioon
58. Tarkvara kvaliteedi  faktorid .
1.  Korrektsus  - Correctness
2. Usaldusväärsus - Reliability
3. Efektiivsus - Efficiency
4. Terviklikkus - Integrity
5. Kasutatavus - Usability
6. Hooldatavus - Maintainability
7.  Paindlikkus  - Flexibility
8. Testitavus - Testability
9.  Portatiivsus  - Portability
10. Taaskasutatavus - Reusability
11.  Ristkasutatavus  - Interoperability
59. Mis on tarkvara usaldusväärsus? Usaldusväärsuse funktsioon. 

Usaldusväärse tarkvara  karakteristikud
1. The system “stands the test of time.”
2.  There  is an absence of  known  catastrophic errors; that is, errors that  render  the system 
useless.
3. The system recovers “gracefully” from errors.
4. The software is robust.
5. [Tõenäosus, et süsteem töötab mingi aja ilma vigadeta.
rt(t) = 1 -> töötab ‘ igavesti ’ ilma tõrgeteta – ebareaalne olukord 
Tuumajaamas vaja tõenäosust 10-9 tõrget tunnis - > r(t) = (0.99999999)]

RAS lisa
1. Downtime is  below  a certain threshold.
2. The  accuracy  of the system is within a certain tolerance.
3.  Real -time  performance  requirements are met consistently (järjekindlalt).
60. Miks tarkvaras avastatud vigade hulk ajas alguses kahaneb ja piisavalt pika aja mõõdudes uuesti 
kasvama hakkab? 

Bathtub funktsioon

Tõenäosus, et süsteem töötab mingi aja ilma vigadeta

rt(t) = 1 -> töötab ‘igavesti’ ilma tõrgeteta – ebareaalneolukord

Tuumajaamas vaja tõenäosust 10-9 tõrget tunnis - > r(t) = (0.99999999)t
61. Mis on tarkvara a) jõudlus, b) kasutatavus, c) ristkasutatavus, d) hooldatavus, e) portatiivsus, f) 
kontrollitavus (verifiability)?
Jõudlus – Performance. Mingi nõutud ajalise käitumise mõõt. Moodused hindamiseks:

Algoritmide keerukuse matemaatiline hindamine

Reaalse süsteemi kasutamine (loogikaanalüsaatorid jms)
Kasutatavus – Usability:

Tihti ka kasutusmugavus – kui kerge on tarkvaraga ümber käia. Vaja hinnata sihtgruppi – 
algajale  hoopis teised nõudmised kui kogenud kasutajale. Mõõtmine väga raske, põhiline 
meetod: tagasiside  kasutajalt

RAS korral tihti traditsioonilisest hoopis erinev kasutajaliides
Ristkasutatavus – Interoperability:

Süsteemi kooskasutatavus ja sobivus teiste süsteemidega. Siinid, protokollid, kommunikatsioon
Hooldatavus – Maintainability: 

Mõõt, kui lihtne sisse viia muudatusi (evolvability) ja parandada vigu (repairability). 
Objektiivne hindamine raske – osaline hinnang võimalik meeskonna kogemuste järgi ja 
eelnevate projektide põhjal
Portatiivsus – Portability: 

Riistvaraplatvormi vahetamine, opsüsteemi vahetamine. Mõõtmine keeruline, eriti RAS korral
Kontrollitavus – Verifiability:

Kõigi eelnevate parameetrite mõõtmise võimalus. Ajakriitilise RAS puhul kõige olulisemad piir-
ajad ja usaldusväärsus
62. Mis on  protseduur -orienteeritud disain, selle puudused ja eelised? (?)

Instruktsioone grupeeritakse protseduurideks / funktsioonideks –võimalik luua 
mooduleid,struktureerida programmi

RAS korral pakub huvi
1. Parameter  Passing  Techniques - Erinevad parameetrite  edastamise  meetodid
2.  Dynamic  Memory  Allocation  - Dünaamilise mälujagamise meetodid
3.  Strong  typing - Jäik tüpiseerimine
4. Abstraktsed andmetüübid
5. Eriolukordade töötlus
6. Modulaarsus
63. Mis on objekt-orienteeritud disain, selle puudused ja eelised?
Objektorienteeritud  disaini puhul jagatakse süsteem arusaadavateks ja hallatavateks osadeks. Need on 
suhteliselt iseseisvad ning osade loomisel arvestatakse, et neid peaks saama mitmes olukorras kasutada. 
Keerukamatel juhtudel tuleb enne kogu loodavat süsteemi  senikaua  kihtideks või osadeks jagada, kuni 
osade realiseerimist on võimalik ja mõistlik detailsemalt objektide ja nende omaduste ja toimingute abil 
kirja panna. 
[Abstraktsed andmed, Pärilikkus, Polümorfism, Sõnumivahetus!
Printsiibid :
Klassid  avatud laiendamisele, suletud muutmisele –  Open -Closed Principle 
Kõik konstandid, dokumentatsioon, sarnane funktsionaalsus jms ainult ühes kohas – Once and Only 
Once Principle 
Kõrgema taseme moodulid ei tohi sõltuda madalama taseme moodulitest – Dependency Inversion 
Principle]
64. Disaini mustrite (design-patterns) kasutamine. 

Paar: probleem - lahendus -> disaini muster

Muster koosneb:
1. Iseloomustav nimi
2. Lahendatav probleem
3. Lahendus probleemile
4. Järeldused lahendusest
RAS Programmeerimiskeeled,  meetrika , testimine,  agendid  
65. „Cardelli meetrika” – valikukriteeriumid kompilaatori valimiseks?

Economy  of execution – kui kiiresti programm töötab?

Economy of Compilation – kaua võtab aega koodist täidetava programmi saamine?

Economy of Small- Scale   Development  – kui palju vaeva peab individuaalne programmeerija 
nägema?

Economy of Large-Scale Development – kui palju vaeva peab programmeerijate  meeskond  
nägema?

Economy of  Language   Features  – kui palju vaeva on vaja keele õppimiseks?
66. Assembler, selle eelised ja puudused RAS korral.
1. Masinkeel
2. Eelised
◦ Täidab protsessori instruktsioone
◦ Kõige kiirem
◦ Ei kompileerita sisuliselt
◦ Kõik süsteemi võimalused vahetult kättesaadavad
3. Puudused
◦ Sõltub protsessorist, ‘porditavat’ koodi raske luua
◦ Silumine ja vigade leidmine vaevaline
◦ Ülevaadet programmist raske saada
◦ Raske õppida
4. Kasutada ‘kõrgemat’ keelt ‘raami’ valmistamiseks – muutujad, funktsioonid, pöördumised jne
67. Milliseid programmeerimiskeele omadusi on vaja teada ja arvestada RAS korral?
RAS korral pakub huvi:

Parameter Passing Techniques - Erinevad parameetrite edastamise meetodid

Dynamic Memory Allocation - Dünaamilise mälujagamise meetodid

Strong typing - Jäik tüpiseerimine

Abstraktsed andmetüübid

Eriolukordade töötlus
Modulaarsus
68. Parameetrite edastamise meetodid programmeerimiskeeltes.

Call -by- Value  ja Call-by-Reference – Kasutada väärtust või kasutada aadressi
1. Väärtuse kasutamisel edasiantav väärtus kopeeritakse ja originaal on  puutumatu .
2. Aadressi (viida) kasutamisel edastatakse asukoht ja originaali saab protseduuris muuta

Globaalsed muutujad – kiire ja mugav, samas võimalikettearvamatud muutmised. Väga hoolikalt
dokumenteerida.Mälu kasutus ebaefektiivne, samal ajal ettemääratud.
69. Dünaamiline mälujaotus, kasutamine RAS korral.
Dynamic Memory Allocation:

Tihti vaja andmestruktuuride efektiivseks kasutamiseks, katkestuste teenindamisel, lingitud 
listide korral jne.

Vaja leida  kompromiss  efektiivsuse, arusaadavuse ja dünaamilise mälujagamise ajakulu vahel.

(Tüüpiline dünaamilise mälujagamise skeem – internal fragmentation – mäluplokkide suurus ei 
ole täisarv korda nõutud mälu suurus)
70. Objektide sünkroniseerimise moodused OOP korral.

Synchronized Objects – klassikalised sünkroniseerimisemeetodid (mutex) kui vaja kasutada 
erinevates lõimedes

Encapsulated Objects – kui teise objekti sisse ‘kapseldatud’, siis sünkroniseerimine objekti 
funktsioon

Thread - Local  Objects – pole vaja sünkroniseerida, lõime osa

Objects Migrating  between  Threads – omandusõigus antakse üle lõimelt lõimele

Immutable Objects – ei muudeta, väärtused (seisund) fikseeritakse loomisel, ei vaja 
sünkroniseerimist

Unsynchronized Objects – ühelõimeliste programmide korral pole vaja sünkroniseerimist

Sünkroniseerimismehhanismide lisamine objektidele lisab koodi, mida pole vaja, kui 
sünkroniseerimist ei kasutata – näit.  class  library tegemisel lisab koormust
71. Millal on reaalajasüsteemide programmeerimisel parem kasutada objektorienteeritud keeli, millal 
protseduurorienteeritud keeli?
Protseduur vs OO:

Sõltub olukorrast
◦ Manussüsteemid - enamasti OO ei sobi
1. Programmi töökiirus
2. Ajaline ettemääratus
3. Programmi suurus
◦ PC (ja analoogilised) süsteemid – OO eelistatud
1. Arendamise mugavus
2. Arendamise kiirus
[Objektorienteeritud keeled:
Võimaldavad suurendada programmeerija  efektiivsust , koodi usaldatavust, koodi korduvkasutatavust 
RAS korral Smalltalk, C++,  Java , C#, Ada 95 –  toetavad  abstraktseid andmeid, kapseldumist, 
pärilikkust, polümorfismi ja läkituste (teadete) vahetust 
OO keelte korral 
Objektide sünkroniseerimine
Garbage Collection]
72.  Enamkasutatavad  programmeerimisekeeled RAS korral.
1. Ada 95 – arendatud spetsiaalselt RAS tarbeks, paljude probleemide tõttu ei leidnud  loodetud  laia
kasutust
2. C –  70ndate  alguses, ‘low-level’ programmeerimiseks
3. C++ - OO  laiendus
4. C# - MS Javalaadne .NET platvormi jaoks
5.  Fortran  – 50ndate keskelt alates RAS kasutusel
6. Java – OO keel, algselt virtuaalmasinale loodud,interpreteeritav
7. RT Java – Ajaliselt ‘paremini’ ettemääratud käitumine
8. PEARL, RT Euclid, RT C, RT C++, MACH jne
73. Iseloomustada reaalajasüsteemide programmeerimisel kasutatavuse seisukohalt C, C++, C#, Java 
programmeerimiskeeli.
C:

C – ‘masinläheduselt’ järgneb assemblerile. Olemas andmetüübid  character , byte, bit, address 
jne, samuti andmete paigutamise/klassifitseerimise tüübid register,volatile, static,  constant

Olemas ka raskestianalüüsitavad / mitteetteennustatavad  konstruktsioonid  printf, scanf jms

Olemas minimaalne eriolukordade töötluse  mehhanism

Enamasti parim valik manussüsteemide jaoks – struktureeritav ja paindlik, samas ilma keeruliste
piiranguteta
C++:

Laialt kasutatav, C-le lisatud OO võimalus – class, structure, union

Enamik probleeme viitade väärast kasutamisest

Programmi struktuur võimalik ajada tarbetult keeruliseks

Programmi saab teha seguna  objektidest  ja funktsioonidest – raskesti hoomatav

Ei ole  string -tüüpi, STL lisab

Ei ole sisseehitatud ‘mälukoristust’ (garbage collection)

Lubab väga ‘raualähedast’ koodi
C#:

C++ ja Java segu (MS Java  )
 , võimas ja mugav keel,teenimatult vähe kasutatud. .NET 
framework  (raamistik)  analoog  JVM-le, välditud mitmeid JVM vigu. DotNET (.NET) on olemas
ka Linux-le ja  Windows  CE-le (RAS kasutusteks)
Java:

Interpreteeriv keel, mis töötab manageeritud keskkonnas (virtuaalmasin), platvormist sõltumatu

Olemas ‘ native -code’ Java kompilaatorid

Olemas Java-käsustikuga protsessorid

Ajaline käitumine raskesti määratav

RT Java korral defineeritud lisaks RT-thread (reaalajalõim),võimalik vältida automaatset 
‘mälukoristust’, ajaline käitumine määratud.
74. Milles seisneb programmeerija efektiivsuse mõõtmismetoodika KLOC, mis on  delta  KLOC?
KLOC:

Lihtsaim mõõt
1. KLOC – kilokoodiridu   
 või
2. DSI ( delivered  source instructions) või
3. NCSS (noncommented source-code statements) – ei sisalda 
kommentaare,päiseid,formaadioperaatoreid, makrosid jms
4.  SLOC  (source lines of code) – if-then-else on selles metoodikas üks rida

Raske neid parameetreid hinnata enne valmistkirjutamist(sarnasuse põhjal hindamine)

Parem KLOC kui üldse mitte mõõta 
Delta KLOC:

Seotud KLOC-ga

Sisseviidud  muudatuste mõõt (mitu rida muudetud mingiperioodi jooksul), peaks töö käigus 
vähenema, iseloomustab ka efektiivsust
75. Mida mõõdab McCabe meetrika (cyclomatic compexity), kuidas seda rakendatakse?
Võtab arvesse ka keerulisust – lineaarselt sõltumatute ‘teede’ hulk programmimoodulis – numbri 
suurenedes keerukus suureneb ja usaldatavus väheneb. Kui e – sõltumatute teede hulk, n – sõlmede 
hulk, siis enamkasutatav hinnang keerulisusele
C = e – n + 2
Joonisel keerulisus vastavalt 1, 2, 2, 3
76. Mille poolest erinevad terminid „bug”, „ error ”, „fault” ja „ failure ”?

Bug – midagi, mis on sattunud programmi arusaamatul viisil (‘ putukas ’)

Error ( defect ) – viga nõudmistes, disainis või koodis

Fault – viga (tõrge), mis ilmneb tarkvarasüsteemi töötamisel

Failure – tõrge, mis põhjustab süsteemi ‘riknemise’ (töökõlbmatuse), nõuetele mittevastavuse 
töö ajal
77. Mis on tarkvara musta kastina testimine ( black -box  testing )?
Black-Box testing –  sisendid  ja väljundid vaatluse all, kuidas väljund saadakse ei uurita. Eeltingimuseks
selge ( korrektne ) interfeisi  defineerimine  (määratus)

Exhaustive testing (põhjalik) – kõigi võimalike sisendkombinatsioonidega testimine (5 sisendit, 
16- bitised täisarvud – 280 võimalust   
 )

Boundary-value testing – piirväärtuste testimine (min, max, keskmine)

Random  test generation – juhuslike väärtustega testimine (statistiline käitumine,sarnane 
reaalsete tingimustega)

Worse -case testing – halvima(te) juhtudega testimine (sellised kombinatsioonid,mida suure 
tõenäosusega ei esine ja mille korral kood käitub  ebaefektiivselt )

Musta kasti testid ei ‘näe’ koodi, vaja teisi  meetodeid  kasutu koodi jms avastamiseks. Sisuliselt 
andmetega  juhitav (data driven) testimine
78. Mis on tarkvara valge kastina testimine (white-box testing)?
White-Box testing – loogikaga juhitav testimine. Musta kasti test võimaldab testida olukordi, mis on ette
nähtud juhtuma,mitte neid, mida pole ette nähtud. ‘Valge kasti’ testi korral analüüsitakse koodi kõiki 
harusid.

Koodi inspekteerimine – esitlus ekspertidele rida realt.

Formaalsed  tõestusmeetodid – programm on osaliselt korrektne (partially correct), kui ta annab 
lõpetamise korral korrektse väljundi iga sisendi  kombinatsiooni  korral. Programm on korrektne, 
kui ta on osaliselt korrektne, ja lõpetab alati – see matemaatilise tõestamise aluseks.
79. Milliseid sisseehitatud  teste  reaalajasüsteemides tavaliselt kasutatakse?
RAS korral enamasti kasutatakse mitmeid sisseehitatud teste:

Watchdog  (kriitilised osad, moodulid)

CPU test (aeganõudev, taustkäsk tavaliselt -background processing)

ROM test (mitmesuguse keerulisusega kontrollmeetodid)

RAM test

Lisaseadmed  (ADC, DAC, IO)
80. Nimetada riistvaralisi reaalajasüsteemide testimise võimalusi ja seadmeid.
RAS puhul peaaegu paratamatu kasutada riistvaralisi meetodeid:

Loogikaanalüsaator

Ostsilloskoop
Generaatorid

Süntesaatorid

Multimeeter
81. Mis on agendid, millised omadused eristavad neid „tavalistest” objektidest?

Situatsiooniteadlikud  hajusad  tehissüsteemid, nende käitumine, mudelid arendusmeetodid

Interaktiivsed autonoomsed objektid – agentide kogum – dünaamiliselt muutuvas keskkonnas

Iseseisvad programmid

Agente võiks vaadelda objektorienteeritud programmeerimisest tuntud klasside järglastena, mis 
lisaks klasside omadustele, milleks on:
1. Pärimine ,
2. Andmete kapseldus,
3. Kätkevad ka autonoomsust ning
4. Reaktiivsust.
5. Intelligentsed agendid on lisaks eelnevale veel proaktiivsed.
6. Multiagentsüsteemides on tähtis roll interaktiivsusel ( sotsiaalsus )- tagab vahendid agentide 
omavaheliseks suhtlemiseks
82.
Mis on  agendi  (agentprogrammi) a)  autonoomsus , b)  reaktiivsus , c) proaktiivsus?

Autonoomsus on agendi omadus iseseisvalt tegutseda. Praktiliselt on iga programm, mis ei oota 
juhtimist kasutaja või teiste süsteemi komponentide poolt, autonoomne.

Reaktiivsus on programmi omadus tüürida oma käitumist vastavalt keskkonnast tulevatele 
stiimulitele. Lihtsamad programmid eeldavad keskkonna staatilisust ning seetõttu ei pea olema 
reaktiivsed.

Proaktiivsus on programmi omadus ise initsiatiivi üles näidata ning püstitada ja ka täita 
eesmärke.  Viimased  on tavaliselt antud programmeerija poolt. Proaktiivne programm on 
suuteline arvestama ka kaugemaid eesmärke kui neid, mis vaid hetkel saavutatavad on ning 
seega ei tegutse vaid väliste impulsside  ajel .

Tihtipeale  seostatakse  agentidega veel omadusi nagu
1. mobiilsus,
2. õppimisvõime,
3.  ratsionaalsus  (nad kulutavad minimaalselt ressursse),
4. heatahtlikkus (nad ei tee kurja) ja
5. tõearmastus (nad ei valeta)
6.  Viirused ???
Lisaks 
83. Mis on reaalajasüsteem? Mille poolest ta erineb teistest arvutisüsteemidest?

Arvutisüsteem töötab reaalajas (is a  real -time computer system)kui süsteemi töö õigsus on 
defineeritud mitte ainult algoritmi täitmisel saadud arvutustulemuste alusel ( logical   results ), vaid
oluline on ka ajahetk, millal need tulemused saadi.

Sama kehtib ka algoritmi poolt kasutatud lähteandmete õigsuse kohta – oluline on nii 
lähteandmete mõistlik väärtus kui ka selle väärtuse tekkimise aeg.

Lisaks on reaalajas töötav arvutisüsteem vahetult (s.t.inimesest sõltumatult) ühenduses 
lähteinformatsiooni allikaga, sageli ka arvutustulemusi kasutava loodusliku või tehisobjektiga.
84. Mis teeb arvutisüsteemist reaalajas töötava arvutisüsteemi? (?)
Reaalajasüsteemid – tegelikkuse uus  komponent  – toimib iseseisvalt reaalses maailmas. 
Reaalajasüsteem koosneb  tegelikku  maailma sisseehitatud arvutist, andurite ja täiturite võrgust, ja 
programmidest 
Näiteks, aerodünaamiliselt mittestabiilne lennuk ja mittestabiilne keemiline reaktsioon on 
realiseeritavad vaid tänu arvuti aktiivsele sekkumisele. Reaalajasüsteem toimib sageli üsna pika aja 
jooksul sõltumatult oma kasutajast (inim-operaatorist) ning teeb tema ette seatud ülesannete täitmiseks 
omi otsuseid.
85. Reaalajasüsteemide  klassifikatsioon  lähtudes piiraegadest. 
Nõuded määravad tarkvara valmistamise eripärad (enamasti tekib sundparalleelsus):
1. Jõudlus tippkoormusel peab olema ennustatav
2. Töökiiruse juhtimine toimub ümbritsevast keskkonnast
3. Ohutus on sageli kriitilise tähtsusega
4. Andmemahud on väikesed või keskmised
5. Aktiivne liiasus (dubleerimine)
6. Andmete terviklikkus nõutav lühiajaliselt
7. Autonoomne vigade avastamine
86. Mille poolest erinevad funktsionaalsed ja mittefunktsionaalsed nõuded tarkvarale?

Funktsionaalsed nõuded  kirjeldavad  süsteemi käitumist – kasutajaleosutatud teenused
1. Kõigi võimalike süsteemi sisendite ja nendega seotud tegevuste kirjeldus
2. Kõigi süsteemi tegevuste kirjeldus
3. Kõigi süsteemi väljundite kirjeldus ja reaktsioon (koste)

Mittefunktsionaalsed nõuded – määravad teenuse osutamise kvaliteedi
1. Interfeisid ( liidesed )
2. Jõudlus
3.  Andmebaasid
4. Piirangud
5. Tarkvara omadused
6. Jne
87. Millest lähtudes määratakse olekumuutuja väärtustele kehtivusintervall? Kas ühel olekumuutuja 
väärtusel võib olla rohkem kui üks kehtivusintervall? Miks?
Andmete ja sündmuste kehtivuse intervallid – näiteks, andmete kehtivuse  intervall , sündmuste 
ekvivalentsuse intervall, sündmuste samaaegsuse intervall
88.  Iseloomustage  lühidalt reaalajasüsteemides kasutatavat inimliidest. Mille poolest see võib/võiks 
erineda traditsioonilisest arvutiliidesest?
Inimliides võimaldab arvutiga suhelda inimesele sobilike meetoditega. Inimliides peab tagama 
juhitava/jälgitava kobara seisundi kohta info esitamise kooskõlalisuse, võimaldama infot vastavalt 
vajadusele  filtreerida , hõlpsat juurdepääsu otsuste tegemise abivahenditele.Inimliidese  koosseisus  
sisaldub tavaliselt ka andmete ajaloo salvestamise ja aruandluse alamsüsteem.
89. Mida kujutab endast eriolukordade töötlus? Miks eriolukordade töötlusel on eriline tähtsus 
reaalajasüsteemides?
1. Eriolukordade töötlus hõlmab endas kõike, mis on seotud vigade automaatse 
kompenseerimisega, valesti tehtud arvutuste korrigeerimisega, tarkvara ja riistvara 
diagnostikaga, rikete puhul süsteemi funktsionaalsuse muutmine jms.
2. Tarkvaralised katkestused – koodiosad annavad juhtimist ühelt teisele üle – käivitab programmi 
kood – näiteks eriolukordade töötlus
90. Loetlege ajakitsenduste liigid.
1. jõudluskitsendused – näiteks: käivitusperiood, töö kestus, piirajad,kitsendused sündmuste 
järjekorrale; need kitsendused on kasutusel ka planeerimisteoorias (scheduling theory) 
programmide täitmise planeerimiseks arvutis
2. kitsendused protsesside  vahelisele  interaktsioonile – näiteks, interaktsiooni  alustamise hetk, 
protsesside töö sünkroniseerimise režiim (sünkroonne, poolsünkroonne, asünkroonne), 
protsesside,sündmuste, tegevuste, sünkroniseerimise täpsus
3. andmete ja sündmuste kehtivuse intervallid – näiteks, andmete kehtivuse intervall, sündmuste 
ekvivalentsuse intervall, sündmuste samaaegsuse intervall
91. Loetlege tüüpilisi mittefunktsionaalseid nõudeid tarkvarale.
Mittefunktsionaalsed nõuded – määravad teenuse osutamise kvaliteedi:
1. Interfeisid (liidesed)
2. Jõudlus
3. Andmebaasid
4. Piirangud
5. Tarkvara omadused
6. Jne
92. Kirjeldada multitegumtöötluse tekkimist kahe katkestuse ja „tühja” põhiprogrammiga süsteemis 
(põhiprogramm on hüpe iseendale).
93. Mille poolest erineb aja poolt  juhitud  süsteem sündmuste poolt juhitud süsteemist? Kas ja miks saab 
ühte eelistada teisele? 
Sündmuste poolt juhitud süsteemis saab igasugune interaktsioon algatatud olulise
muudatuse tõttu ümbritseva keskkonna olekus, mis toimuvad juhuslikel ajahetkedel. Aja poolt
juhitud süsteemides on kõik interaktsioonid algatatud aja  kulgemise  järgi. Arvutisüsteem
kontrollib vahetult möödunud ajaintervallis toimunud sündmuseid ja valib redigeerimiseks
nende hulgast välja olulised. Lisaraskus tekib kellade sünkroniseerimisega.
Vasakule Paremale
RAS operatsioonisüsteemid - reaalajalised tuumad #1 RAS operatsioonisüsteemid - reaalajalised tuumad #2 RAS operatsioonisüsteemid - reaalajalised tuumad #3 RAS operatsioonisüsteemid - reaalajalised tuumad #4 RAS operatsioonisüsteemid - reaalajalised tuumad #5 RAS operatsioonisüsteemid - reaalajalised tuumad #6 RAS operatsioonisüsteemid - reaalajalised tuumad #7 RAS operatsioonisüsteemid - reaalajalised tuumad #8 RAS operatsioonisüsteemid - reaalajalised tuumad #9 RAS operatsioonisüsteemid - reaalajalised tuumad #10 RAS operatsioonisüsteemid - reaalajalised tuumad #11 RAS operatsioonisüsteemid - reaalajalised tuumad #12 RAS operatsioonisüsteemid - reaalajalised tuumad #13 RAS operatsioonisüsteemid - reaalajalised tuumad #14 RAS operatsioonisüsteemid - reaalajalised tuumad #15 RAS operatsioonisüsteemid - reaalajalised tuumad #16 RAS operatsioonisüsteemid - reaalajalised tuumad #17 RAS operatsioonisüsteemid - reaalajalised tuumad #18 RAS operatsioonisüsteemid - reaalajalised tuumad #19 RAS operatsioonisüsteemid - reaalajalised tuumad #20 RAS operatsioonisüsteemid - reaalajalised tuumad #21
Punktid 50 punkti Autor soovib selle materjali allalaadimise eest saada 50 punkti.
Leheküljed ~ 21 lehte Lehekülgede arv dokumendis
Aeg2014-05-26 Kuupäev, millal dokument üles laeti
Allalaadimisi 19 laadimist Kokku alla laetud
Kommentaarid 1 arvamus Teiste kasutajate poolt lisatud kommentaarid
Autor AnnettS Õppematerjali autor
Tartu Ülikooli aine Reaalajasüsteemid eksami kordamisküsimused ja vastused aastal 2014 kevad semestril

Sarnased õppematerjalid

Arvutid II teooria eksam
4
doc

Arvutid II teooria eksam

Käitumuslik hierarhia module p2: Tarkvara on saadaval: SINTEF, Telelogic, Näited: olekud, protsessid, protseduurid. ............ Cinderella Mitmed sardsüsteemid peavad vastama reaalaja Struktuurne hierarhia end module (www.cinderella.dk). nõudmistele Näited: Protsessorid, räkid, trükkplaadid Siin on mitmeid Ei ole täiesti deterministlik ja ei ole sünkroonne

Arvutid ii
Arvutiarhitektuurid eksam vastused TTÜ
38
docx

Arvutiarhitektuurid eksam vastused TTÜ

Kordamisküsimused aines IAY0520 1. Mõisted arvuti, arvutisüsteem, arvuti riistvara iseloomustavad näitajad. Arvuti on tarkvarast ja riistvarast koosnev süsteem, mis on määratud info töötlemiseks. Arvutisüsteem on täies töökorras arvuti, kuhu kuuluvad arvuti, tarkvara ja välisseadmed, mis on vajalikud arvuti tööks. Arvuti riistvara iseloomustavad näitajad: protsessor – aritmeetika-loogikaüksus (funktsionaalsus; info töötluse kiirus ja täpsus); juhtüksus (paindlikkus; kiirus; keerukus); mälusüsteem – mälusüsteemi hierarhiline korraldus; mälude infomahutavus; mälude kiirus; maksumus; sisend-väljundsüsteem – infoläbilaskevõime (sh reaktsiooniaeg); S/V-süsteemi (SVS) struktuurne korraldus; S/V-süsteemi talitluse korraldus (programselt juhitav SVS; katkestuste süsteemi rakendav SVS; otsemällupöörduse (DMA) rakendamine; kanalite (selektro, multipleks) rakendamine; S/V-protsessorite ehk preprotsessorite (eel

Arvuti arhitektuur
Operatsioonisüsteemi alused
23
docx

Operatsioonisüsteemi alused

Superarvuti · Kümned tuhanded protsessorid Klasterarvuti (cluster) · Mitu arvutit töötavad korraga Suurarvuti (mainframe) · Kümned/sajad protsessorid Tööjaam · Mitu protsessorid Personaalarvuti · Üks protsessor (mitme tuumaline) PC · Lauaarvuti · Kokkupandav arvuti · Märkmikud · Palmtop · Sisseehitatudsüsteem Esimene põlvkond Riistvara ­ mehaanilsed releed, elektronlambid Tarkvara ­ Programmeerimine masinkoodi, puudusid nii operatsioonisüsteemid kui ka süsteemi tarkvara. Teadlased ­ Howard Aiken, John von Neumann, J. Presper Eckert, William Mauchley, Konrad Zuse Selle ajastu arvutid olid: elektronlampidel, ebatöökindlad, gabariitidelt suured, tarbisid elektrit suurusjärkudes, mida andis elektrijaam OS eelnesid · Teenindusprogrammid ­ laadurid, monitorid. Teine põlvkond Riistvara ­ transistorid, suurarvutid Tüüpilised OS ­ FMS, IBSYS 1952.a. ­ Esimene operatsioonisüsteem loodi firma General Motors uurimislaboris

Operatsioonisüsteemide alused
Sissejuhatus Reaalajatarkvaratehnikasse
9
doc

Sissejuhatus Reaalajatarkvaratehnikass e

muudatuse tõttu ümbritseva keskkonna olekus, mis toimuvad juhuslikel ajahetkedel. Aja poolt juhitud süsteemides on kõik interaktsioonid algatatud aja kulgemise järgi. Arvutisüsteem kontrollib vahetult möödunud ajaintervallis toimunud sündmuseid ja valib redigeerimiseks nende hulgast välja olulised. Lisaraskus tekib kellade sünkroniseerimisega. 32. Sardsüsteemid kitsamas ja laiemas mõttes Kitsamas mõttes tähendab sardsüsteem reaalaja süsteemi, mis on ehitatud seadme sisse ja ei ole tavakasutajale üldse märgatav. Sellistes rakendustes on tavaliselt tegemist mikroprotsessoritega ja spetsiaalsete kiipidega, mis on nii sisendi, kui väljundi poolt vahetult ühendatud juhitava/jälgitava objektiga. Laiemas mõttes tähendab sardsüsteem suvalist reaalajasüsteemi, kus vähemalt osa sisendeid ja väljundeid on vahetult ühendatud objektiga. 33. Mille poolest on tarkvaratehnika erinev ja raskemini hallatav?

Sissejuhatus reaalajatarkvaratehnikasse
Google App Engine
55
pdf

Google App Engine

TALLINNA ÜLIKOOL Matemaatika-loodusteaduskond Informaatika instituut Google App Engine Iseseisev töö aines Veebiprogrammeerimine IFI6011 Andris Reinman ITJ-08 Õppejõud: Jaagup Kippar Tallinn 2010 Google App Engine ­ Andris Reinman Sisukord Google App Engine............................................................................................................................ 1 Sisukord......................................................................................................................................... 2 Tutvustus.......................................................................................................

Veebiprogrammeerimine
Arvutiarhitektuuri eksami teooriaküsimused vastustega
64
docx

Arvutiarhitektuuri eksami teooriaküsimused vastustega

 Arhitektuuris loobuti suletud arhitektuurist ning mindi üle avatud arhitektuurile. Ilmusid omavahel ühilduvaid arvutipered  Osade arvuti põhimäludes asendasid kiired pooljuhtmälud aeglasemaid ferriitmälusid  Arvutite juhtimine toimus valdavalt mikroprogrammjuhtimise printsiibil  Hakati kasutama käskude konveiertöötlust, multitegumtööd ja tööd ajajaotusrežiimis  Laia leviku omandasid operatsioonisüsteemid, kujunes välja tarkvaratööstus standarttarkvara loomiseks  Kõrvuti suurarvutitega arendati intensiivselt miniarvuteid. Viimaseid kasutati sageli juhtarvutina, sh reaalajasüsteemides Esindajaid: IBM System 360 (S/360), CDC 6600, ILLIAV-IV, LINC, PDP-8 Neljas põlvkond (1971 – 1981) Iseloomulikud jooned:  Keskmise ja kõrge integratsioonitasemega mikrolülituste massiline kasutamine

Süsteemiteooria
Tarkvara kvaliteet ja standardid
21
docx

Tarkvara kvaliteet ja standardid

1. Tarkvaratoode ­ mis siia kuulub? Tarkvara arenduse tulem (toode, teenus) hõlmab mitmesuguseid komponente, mis kõik võivad olla kvaliteedihalduse objektid, näiteks arenduse käigus hangitud infotehnoloogiavahendid: riistvara, standardtarkvara, sideseadmed arenduse käigus tehtud töö: täitja arendatud tarkvara (sealhulgas lähtekood, objektkood, täitmiskood jm); installatsioonid, kohandamised, muudatused; andmehõive muudatused tellija organisatsioonis, protsessides, töökorralduses... projektdokumentatsioon kasutamise kohta (kasutajajuhendid); objektsüsteemi kohta; loodavate objektide kohta (programmi/testimise dokumentatsioon); installeerimise ja seadistamise kohta; arenduse (sh testimise) kohta metoodika: tulemuste kasutamine; tulemuste edasiarendamine; uute arenduste tegemine vahendid hoolduseks, muudatusteks, arenduseks teadmised projekti tulemuste kasutamisest; objektsüsteemist (süsteemianalüüs või vajalikud muudatused seadusandluses); projektist; aren

Tarkvara kvaliteet ja standardid
Tarkvaratehnika konspekt eksamiks
62
pdf

Tarkvaratehnika konspekt eksamiks

Tarkvaratehnika konspekt. Tarkvaratehnika Tarkvaratehnika e. tarkvara inseneeria on professionaalsele tarkvaraarendusele suunatud distsipliin, mis tegeleb sellega, kuidas organiseerida tarkvaraarendust, arvestades organisatsiooniliste ja rahaliste piirangutega. Tarkvaratooted koosnevad valjatöötatud programmidest ja nende dokumentatsioonist. Tarkvaratehnika eesmärgiks on kuluefektiivne tarkvaraarendus kogu tarkvara elukaare ulatuses. Tarkvaratehnika on süstemaatilise, distsiplineeritud ja mõõdetava lähehemisviisi rakendamine tarkvara arendamisele, käitamisele ja hooldamisele, see tähendab, inseneriteaduste rakendamine tarkvarale. Tarkvaratehnika „point“: Tarkvaratehnika on suunatud professionaalsele tarkvaraarendusele. Tarkvaratehnika ei tegele tarkvaraarenduse endaga vaid sellega, kuidas organiseerida tarkvaraarendust. Tarkvaratehnika vajadus - kõrgenenud nõudmised: suuremad süsteemid, keerulisemad süsteemid, kiiremini arendatavad süsteemid. Insener suuda

Tarkvaratehnika




Meedia

Kommentaarid (1)

Gumnaasium15 profiilipilt
A A:
00:19 29-01-2017



Sellel veebilehel kasutatakse küpsiseid. Kasutamist jätkates nõustute küpsiste ja veebilehe üldtingimustega Nõustun