Sulautettu Linux-ohjelmointi (3op)
Toteutuksen tunnus: TT00BM28-3001
Toteutuksen perustiedot
- Ilmoittautumisaika
- 23.08.2021 - 19.09.2021
- Ilmoittautuminen toteutukselle on päättynyt.
- Ajoitus
- 01.08.2021 - 31.12.2021
- Toteutus on päättynyt.
- Opintopistemäärä
- 3 op
- Lähiosuus
- 3 op
- Toteutustapa
- Lähiopetus
- Yksikkö
- Teknologia
- Opetuskielet
- suomi
- Koulutus
- Tieto- ja viestintätekniikan koulutus
Toteutukselle Sulautettu Linux-ohjelmointi TT00BM28-3001 ei valitettavasti löytynyt varauksia. Varauksia ei ole mahdollisesti vielä julkaistu tai toteutus on itsenäisesti suoritettava.
Arviointiasteikko
0 - 5
Tavoitteet
Linux-systeemiohjelmointi-kurssin opiskelija oppii Linux-arkkitehtuurin, Linux-ytimen rakenteen ja tehokkaiden sovellusten toteuttamisen C-kielellä. Kurssin käytyään opiskelija hallitsee myös moniajojärjestelmään toteutettavien sovellusten suunnittelun ja toteutuksen.
Sisältö
Linux-systeemiohjelmointi kurssin sisältö painottuu Linux / POSIX-ympäristössä tapahtuvaan ohjelmointiin käyttäen ANSI C:tä. Erityinen painopiste on Linux / Posix-järjestelmän vaatimissa systeemikutsuissa, prosessinohjauksessa, säikeistyksessä ja prosessien välisessä kommunikoinnissa. Eri I/O-tekniikkoiden läpikäynti, standardi-C-kirjaston I/O-toiminnot ja Unix/Linux systeemikutsut käydään myös läpi yksityiskohtaisesti.
Kurssi sisältää myös Linux laiteajuri ohjelmointi osuuden, jossa käydään läpi käydään Linuxin laitemalli (device model) ja sen käyttäminen sekä MMIO (memory mapped I/O) ja DMA (direct memory access). Lisäksi käydään läpi PCI-, I2C, Serial, 1-Wire, USB-, kiintolevy-, verkko- sekä tty-laiteajureiden ohjelmoiminen ja näiden erikoispiirteitä.
Linux kernel moduuliosiossa käännetään ja asennetaan yksinkertainen LKM:n (Loadable kernel module). Lisäksi opetellaan tuntemaan Linuxin ytimen arkkitehtuuri ja opetellaan miten konkurenssi- ja race condition-tilanteet tulee käsitellä. Edelleen opetellaan käsittelemään viiveitä ja ajastimia ytimessä, jakamaan muistia ja käsittelemään erityyppisiä keskeytyksiä, keskustelemaan hardwaren kanssa sekä käsittelemään perusdatatyyppejä ytimessä.
Kurssi sisältää runsaasti ohjattuja harjoituksia sekä harjoitustyökirjan tehtävien tekemisen.
Arviointikriteerit, tyydyttävä (1)
Kurssi arvioidaan palauttettujen Harjoitustyökirjan tehtävistä saatujen pisteiden perusteella.
Arvosana 1-2 edellyttää 40- 70 % maksimipistemäärästä.
Arviointikriteerit, hyvä (3)
Kurssi arvioidaan palauttettujen Harjoitustyökirjan tehtävistä saatujen pisteiden perusteella.
Arvosana 3-4 edellyttää 70-90 % maksimipistemäärästä.
Arviointikriteerit, kiitettävä (5)
Kurssi arvioidaan palauttettujen Harjoitustyökirjan tehtävistä saatujen pisteiden perusteella.
Arvosana 5 edellyttää yli 90 % maksimipistemäärästä.
Esitietovaatimukset
Esitietoina vaaditaan Linuxin perusosaaminen ja C-ohjelmointikurssin suoritus.