Sustavi za rad u stvarnom vremenu

Opis predmeta

Sustavi za rad u stvarnom vremenu postavljaju striktna vremenska ograničenja prema upravljačkom računalu. Za zadovoljavanje ograničenja potrebno je pažljivo osmisliti i sklopovlje i programsku potporu. U predmetu se naglasak stavlja na osmišljavanje programske potpore koja će biti prikladna za uporabu u sustavima za rad u stvarnom vremenu. S tim ciljem se prikazuju odgovarajuće metode i postupci. Zadovoljavanje vremenskih ograničenja u još složenijim, višezadaćnim sustavima je znatno složeniji problem bez opće prihvaćenog rješenja. Problem raspoređivanje zadataka kojim se postižu zadovoljavanja vremenska ograničenja svih zadataka detaljnije je razrađen. Obzirom da raspoređivanje zadataka kao i druga svojstva sustava značajno ovise o korištenom operacijskom sustavu i on je predmet detaljnijeg razmatranja u kontekstu primjene u sustavima za rad u stvarnom vremenu.

Opće kompetencije

Studenti stječu saznanja o sustavima za rad u stvarnom vremenu, njihovim zahtjevima, ograničenjima te uobičajenim principima pri njihovu ostvarenju. Posebice se upoznaju načini programskog upravljanja, problemi raspoređivanja zadataka i mogućnosti uporabe operacijskih sustava radi postizanja željenih svojstava sustava.

Ishodi učenja

  1. navesti potrebna svojstva sustava za rad u stvarnom vremenu
  2. prikazati postupke izgradnje programske komponente prikladne za sustave za rad u stvarnom vremenu
  3. ocijeniti je su li neki sustavi rasporedivi uz zadovoljavanje svih zadanih vremenskih ograničenja
  4. razviti upravljačku komponentu za jednostavnije sustave za rad u stvarnom vremenu
  5. pokazati mogućnosti korištenja POSIX sučelja radi postizanja željenog načina raspoređivanja, sinkronizacije i komunikacije
  6. procijeniti mogućnosti primjene metoda, programa, operacijskih sustava i drugih komponenata u sustavima za rad u stvarnom vremenu

Oblici nastave

Predavanja

Nastava je organizirana kroz dva ciklusa: prvi traje 7 tjedana, a drugi 6 tjedana nastave. Nakon prvog ciklusa piše se međuispit, a nakon drugoga završni ispit u koji ulazi cijelo gradivo. Tjedno opterećnje predavanja je 3 školska sata. U sklopu predavanja obavljati će se i kratke provjere znanja (blicevi).

Provjere znanja

Međuispit i dio završnog ispita su pismeni ispiti s trajanjima od 90 te 120 minuta. Završni ispit ima i usmenu komponentu. Zadaci na pismenim i usmenim ispitima sadrže i zadatke i teoriju.

Programske vježbe

U okviru domaćih zadaća studenti trebaju proučiti probleme zadane u objavljenim materijalima (objavljenim i pojašnjenima na prvim predavanjima), te projektirati i ostvariti programsko rješenje. Svako rješenje popratiti kratkom dokumentacijom. Programsko rješenje i dokumentaciju treba pohraniti u informacijski sustav te potom osobno pokazati nastavniku na ocjenu.

Način ocjenjivanja

Kontinuirana nastava Ispitni rok
Vrsta provjere Prag Udio u ocjeni Prag Udio u ocjeni
Domaće zadaće 50 % 20 % 50 % 0 %
Kratke provjere znanja 0 % 10 % 0 % 0 %
Međuispit: Pismeni 0 % 30 % 0 %
Završni ispit: Pismeni 50 % 20 %
Završni ispit: Usmeni 20 %
Ispit: Pismeni 50 % 50 %
Ispit: Usmeni 50 %

Tjedni plan nastave

  1. Uvod u sustave za rad u stvarnom vremenu (SRSV). Usporedba SRSV-a s ostalim računalnim sustavima. Svojstva SRSV-a.
  2. Neformalni postupci za ostvarenje SRSV-a na primjeru.
  3. Formalni postupci za ostvarenje SRSV-a: UML dijagrami, Petrijeve mreže. Proces izgradnje programske potpore.
  4. Ostvarenje upravljanja. Prikladni oblici strukture programa.
  5. Ostvarenje regulacijskih zadataka (PID regulator, neizrazita logika).
  6. Svojstva zadataka u SRSV-ima. Klasifikacija raspoređivanja. Zadaci i njihov međusobni odnos. Procesorska iskoristivost i izvodljivost rasporeda. Jednoprocesorsko statičko raspoređivanje. Uređivanje prioriteta prema kriteriju mjeri ponavljanja (RMPA). Rasporedivost u kritičnom trenutku.
  7. Granice procesorske iskoristivosti. Iskoristivost procesora s dva zadatka. Poopćenje na raspoređivanje više zadataka. Opći kriterij rasporedivosti. Alternativni kriterij za utvrđivanje rasporedivosti.
  8. Međuispit.
  9. Jednoprocesorsko dinamičko raspoređivanje. Mješovito raspoređivanje. Pristup višeprocesorskom statičkom raspoređivanju putem poopćenog postupka raspoređivanja. Postupak raspoređivanja skupa zadataka prikazanih s necikličkim računalnim grafom. Postupak primjenom ukorijenjenog računalnog stabla.
  10. Višeprocesorsko dinamičko raspoređivanje. Raspoređivačka igra i simulacija višeprocesorskog sustava. Zalihost računalne snage. Postupci raspoređivanja i njihova optimalnost. Izvodljivost raspoređivanja.
  11. Osnovne komponente operacijskih sustava. Raspoređivanje zadataka podržano od strane operacijskog sustava.
  12. Problem inverzije prioriteta i načini njegova ublažavanja. Operacijski sustavi za uporabu u SRSV okruženju. POSIX sučelje za određivanje parametara raspoređivanja, sinkronizacije i komunikacije među dretvama.
  13. Ostvarenje raznih oblika komunikacije u SRSV-u.
  14. Svojstva općih operacijskih sustava. Mogućnosti poboljšanja svojstava općih operacijskih sustava te zasnivanje sustava s ublaženim vremenskim ograničenjima nad njima.
  15. Završni ispit.

Studijski programi

Sveučilišni diplomski
Elektrotehnički sustavi i tehnologija (profil)
Predmeti specijalizacije profila (2. semestar)
Računalno inženjerstvo (profil)
Teorijski predmeti profila (2. semestar)
Računarska znanost (profil)
Predmeti specijalizacije profila (2. semestar)

Literatura

J.W.S. Liu (2000.), Real-Time Systems, Prentice Hall
N. Nissanke (1997.), Realtime Systems, Prentice Hall
C.M. Krishna, K.G. Shin (1997.), Real-time Systems, McGraw-Hill
A. Burns, A. Wellings (1996.), Real-Time Systems and Programming Languages, Addison -Wesley

Laboratorijske vježbe

Izvedba

ID 86529
  Ljetni semestar
5 ECTS
R1 Engleski jezik
R1 E-učenje
40 Predavanja
0 Auditorne vježbe
5 Laboratorijske vježbe
0 Konstrukcijske vježbe

Ocjenjivanje

90 izvrstan
75 vrlo dobar
60 dobar
50 dovoljan