Operacijski sustavi za ugrađena računala

Opis predmeta

Ugrađena računala se bitno razlikuju od ostalih računalnih sustava. Mnogi od njih upravljaju procesima kod kojih je vremenski usklađena akcija od presudnog značenja te se zbog toga upravljački programi i ostatak sustava moraju prilagoditi da udovolje takvim zahtjevima. Takvi sustavi najčešće nisu pod stalnim nadzorom čovjeka te se od njih očekuje dugotrajan samostalan rad, što zahtijeva visoku pouzdanost i ugradnju mehanizama oporavka od pogrešaka. Osnovni cilj predmeta je na primjeru prikazati metode i postupke izgradnje operacijskog sustava i upravljačkih programa za ugrađena računala te na taj način kod studenata razviti razumijevanje mehanizama koji se koriste u takvim sustavima kao i savladati postupke izgradnje takvih sustava.

Opće kompetencije

Studenti stječu znanje i iskustvo za izgradnju i proširenje komponenata operacijskog sustava za ugrađena računala. Znanje uključuje metodologiju izgradnje, osnovne alate, korištenje naprednih mogućnosti programskog jezika C te dublje poznavanje koncepata jezgre operacijskog sustava prilagođene za ugrađena računala.

Ishodi učenja

  1. objasniti potrebna svojstva računalnih sustava za ugrađene primjene
  2. prepoznati probleme ostvarenja ugrađenih računalnih sustava
  3. opisati principe rada osnovnih komponenti jezgre operacijskog sustava
  4. prilagoditi postojeće komponente jezgre operacijskog sustava
  5. koristiti skup alata za izgradnju programske komponente za ugrađene računalne sustave
  6. koristiti napredne mogućnosti programskog jezika C
  7. odabrati prikladne algoritme za korištenje pri izgradnji programske komponente za ugrađena računala

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 2 š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 Napomena / komentar Udio u ocjeni
Domaće zadaće 50 % 30 % 50 % 0 %
Kratke provjere znanja 0 % 10 % 0 % 0 %
Međuispit: Pismeni 0 % 20 % 0 %
Završni ispit: Pismeni 50 % 20 %
Završni ispit: Usmeni 20 %
Ispit: Pismeni 50 % 50 %
Ispit: Usmeni 50 %

Tjedni plan nastave

  1. Svojstva ugrađenih računala. Načini ostvarenja programske komponente za ugrađena računala. Operacijski sustavi. Prikaz predložaka operacijskih sustava koji su zadani i koji se koriste u predmetu na predavanjima i u okviru domaćih zadaća. Razvojna okolina za izgradnju programske potpore za zgrađena računala. Primjer jednostavnog sustava.
  2. Otkrivanje grešaka programske komponente. Uobičajena struktura direktorija za izvorne kodove - podjela u slojeve. Prevođenje korištenjem skripti (Makefile). Generiranje slike sustava.
  3. Zadaće prekidnog podsustava. Mogućnosti ostvarenja prekidnog podsustava. Prekidni podsustav zadan u predlošku.
  4. Upravljanje vremenom (brojila, alarmi). Dinamičko upravljanje spremnikom.
  5. Opis rada ulazno-izlaznih naprava: prikaz na zaslon, tipkovnica, serijski pristup.
  6. Korištenje ulazno izlaznih naprava preko zajedničkog sučelja. Upravljački programi za standarni izlaz, tipkovnicu, serijski pristup.
  7. Naredbena ljuska. Zasebno (prilagođeno) prevođenje dijelova sustava.
  8. Međuispit.
  9. Višedretvenost - prednosti i nedostaci. Ostvarenje višedretvenosti izvan jezgre (programska višedretvenost). Ostvarenje višedretvenosti u jezgri.
  10. Upravljanje dretvama: stvaranje dretvi, završetak dretvi, čekanje na kraj dretve, stanja dretvi, raspoređivanje.
  11. Sinkronizacijski i komunikacijski mehanizmi: semafori, monitori, signali, poruke. Problemi sinkronizacijskih funkcija. Problem inverzije prioriteta. Proširenja funkcija da se mogu koristiti u sustavima za rad u stvarnom vremenu.
  12. Procesi - odvajanje dretvi u zaštićeno okruženje: pozivi jezgri preko programskih prekida, rad u korisničkom načinu rada, odvajanje adresnog prostora segmentiranjem, odvajanje adresnog prostora straničenjem.
  13. Straničenje. Problemi upravljanja spremnikom.
  14. Mogućnosti ostvarenja ostalih podsustava operacijskog sustava. Prilagodba predloška za druge arhitekture.
  15. Završni ispit.

Studijski programi

Sveučilišni diplomski
Elektroničko i računalno inženjerstvo (profil)
Predmeti specijalizacije profila (2. semestar)
Računalno inženjerstvo (profil)
Predmeti specijalizacije profila (2. semestar)
Računarska znanost (profil)
Predmeti specijalizacije profila (2. semestar)

Literatura

J.J. Labrosse (2000.), MicroC/OS-II, CMP Books
W.A. Halang, A.D. Stoyenko (1991.), Constructing predictable real-time systems, Kluwert Academic Publishers
A.M. Tilborg, G.M. Koob (1991.), Foundations of real-time computing: scheduling and resource management, Kluwert Academic Publishers
A. Silbershatz, P.B. Galvin, G. Gagne (2003.), Applied Operating Systems Concepts, John Wiley & Sons
L. Budin, M. Golub, D. Jakobović, L. Jelenković (2011.), Operacijski sustavi, Element

Izvedba

ID 127438
  Ljetni semestar
4 ECTS
R1 Engleski jezik
R1 E-učenje
30 Predavanja
0 Auditorne vježbe
10 Laboratorijske vježbe

Ocjenjivanje

90 izvrstan
75 vrlo dobar
60 dobar
50 dovoljan