Reaaliaikaiset käyttöjärjestelmät (5 op)
Toteutuksen tunnus: TT00BB69-3010
Toteutuksen perustiedot
Ilmoittautumisaika
02.07.2025 - 31.07.2025
Ajoitus
01.08.2025 - 31.12.2025
Opintopistemäärä
5 op
Virtuaaliosuus
2 op
Toteutustapa
60 % Lähiopetus, 40 % Etäopetus
Yksikkö
Teknologia
Opetuskielet
- Suomi
Koulutus
- Tieto- ja viestintätekniikan koulutus
Opettaja
- Eero Huusko
Ryhmät
-
TTV23SATTV23SA
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ää.
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ä.
Aika ja paikka
Teams ja verkko-oppimisympäristö.
Oppimateriaalit
Kurssilla jaettava materiaali.
Opetusmenetelmät
Teams-luennot, luentotallenteet ja labraharjoitukset.
Tenttien ajankohdat ja uusintamahdollisuudet
Kurssiin kuuluva tentti suoritetaan verkkotenttinä Repu-verkko-oppimisympäristössä.
Opiskelijan ajankäyttö ja kuormitus
Kurssin laajuus 5 op
Lisätietoja opiskelijoille
Kurssi edellyttää vahvaa C-kielen osaamista sekä Embedded Linux -kurssin hyväksyttyä suorittamista.
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ä.
Arviointimenetelmät ja arvioinnin perusteet
Kurssi arvioidaan tentin ja oppimispäiväkirjan perusteella.
Hylätty (0)
Hyvätty arvosana tentistä ja puutteellinen oppimispäiväkirja.
Toteutuksen arviointikriteerit, kiitettävä (5)
Hyväksytty tentti, oppimispäiväkirjassa käsitelty labraharjoituksia. Osaamisen kehittyminen on selkeästi tunnistettavissa ja opiskelija osaa itsenäisesti toteuttaa reaaliaikaisen mittausjärjestelmän mukaan lukien pilvipalveluympäristön.
Toteutuksen arviointikriteerit, hyvä (3-4)
Hyväksytty tentti, oppimispäiväkirjassa käsitelty labraharjoituksia. Osaamisen kehittyminen on selkeästi tunnistettavissa ja opiskelija osaa malliratkaisuun perustuen toteuttaa reaaliaikaisen mittausjärjestelmän.
Toteutuksen arviointikriteerit, tyydyttävä (1-2)
Hyväksytty tentti, oppimispäiväkirjassa käsitelty labraharjoituksia.
Esitietovaatimukset
C-ohjelmointi ja Systeemiohjelmointikurssin suoritus.