Siirry suoraan sisältöön

Reaaliaikaiset käyttöjärjestelmät (5 op)

Toteutuksen tunnus: TT00BB69-3008

Toteutuksen perustiedot


Ilmoittautumisaika

01.08.2023 - 30.09.2023

Ajoitus

01.08.2023 - 31.12.2023

Opintopistemäärä

5 op

Toteutustapa

Lähiopetus

Yksikkö

Teknologia

Opetuskielet

  • Suomi

Koulutus

  • Tieto- ja viestintätekniikan koulutus

Opettaja

  • Eero Huusko

Ryhmät

  • TTV21SA
    TTV21SA
  • 01.09.2023 08:15 - 11:45, Reaaliaikaiset käyttöjärjestelmät TT00BB69-3008
  • 08.09.2023 08:15 - 11:45, Reaaliaikaiset käyttöjärjestelmät TT00BB69-3008
  • 15.09.2023 08:15 - 11:45, Reaaliaikaiset käyttöjärjestelmät TT00BB69-3008
  • 22.09.2023 08:15 - 11:45, Reaaliaikaiset käyttöjärjestelmät TT00BB69-3008
  • 29.09.2023 08:15 - 11:45, Reaaliaikaiset käyttöjärjestelmät TT00BB69-3008
  • 06.10.2023 08:15 - 11:45, Reaaliaikaiset käyttöjärjestelmät TT00BB69-3008
  • 13.10.2023 08:15 - 11:45, Reaaliaikaiset käyttöjärjestelmät TT00BB69-3008

Tavoitteet

Opintojakson suoritettuaan opiskelija osaa reaaliaikaohjelmistojen suunnitteluun ja toteutukseen liittyvät tekniikat ja ohjelmistoteollisuudessa käytettävät ohjelmistotyökalut. Opiskelija pystyy myös ohjelmistokehitystyöhön ympäristössä, jossa systeemi muodostuu useista rinnakkain toimivista ja keskenään kommunikoivista prosesseista tai säikeistä. Hän osaa suunnitella ja toteuttaa reaaliaikasovelluksia, jotka toimivat luotettavasti ja joissa on varauduttu erilaisten asynkronisten tapausten aiheuttamiin ongelmatilanteisiin.
Kurssin käytyään opiskelija hallitsee reaaliaikajärjestelmän ominaispiirteet sekä osaa suunnitella ja ohjelmoida mittaussovelluksen ja tarvittavat laiteajurit Linux-käyttöjärjestelmää hyödyntäen osaksi teollisuuden tietojärjestelmää. Ohjelmistoprojekti antaa valmiudet käyttää em. tyyppisessä projektissa tarvittavia ohjelmointityökaluja.

Sisältö

Kurssin sisältö koostuu reaaliaikaisen ohjelman kehityksestä Linux-ympäristössä, reaaliaikaisuuden toteutuksesta linux-ympäristössä. Ohjatuilla harjoitustöillä opetellaan prosessit ja niiden vuorovaikutus, prosessien synkronointitarve ja -välineet, reaaliaikasignalointi, putket ja FIFOt, synkroninen ja multipleksattu I/O, ajoitukset, timerit ja timeoutit. Lisäksi kurssilla käydään harjoitustehtävien avulla läpi semaforit, jaetun muistin käyttö, viestijonot, säikeet ja niiden synkronointi, soketit ja erilaiset skedulointipolitiikat reaaliaikajärjestelmissä.

Arviointiasteikko

0 - 5

Arviointikriteerit, kiitettävä (5)

Kurssiin kuuluvan harjoitustyön avulla arvioidaan osaako opiskelija arvioida erilaisten toteutustekniikoiden sopivuutta eri tilanteisiin ja valita kulloinkin tilanteeseen parhaiten sopivan sekä osaako opiskelija toteuttaa sovelluksen kaikilla POSIX-rajapinnan tarjoamilla tekniikoilla. Kiitettävään arvosana edellyttää myös opiskelijalta laaja-alaista ymmärrystä reaaliaikasovellusten luotettavuuden ja toimintavarmuuden analysoinnissa.

Arviointikriteerit, hyvä (3)

Kurssiin kuuluvan harjoitustyön avulla arvioidaan osaako opiskelija välittää tietoa prosessien ja säikeiden välillä ja ymmärtääkö opiskelija tiedon välittämiseen liittyvät synkronointiongelmat. Opiskelijan tulee osata myös välttää synkronointiongelmat jollakin menelmällä.

Arviointikriteerit, tyydyttävä (1)

Kurssiin kuuluvan harjoitustyön avulla arvioidaan ymmärtääkö opiskelija miksi ja millä periaatteella tietokone vuorontaa tehtäviä sekä ymmärtääkö opiskelija prosessin ja säikeen ominaisuudet ja erot. Harjoitustyössä arvioidaan myös osaako opiskelija kirjoittaa sovelluksen, jossa käytetään prosesseja tai säikeitä.

Esitietovaatimukset

C-ohjelmointi ja Systeemiohjelmointikurssin suoritus.