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
-
TTV21SATTV21SA
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.