Siirry suoraan sisältöön

Sulautettu Linux-ohjelmointi (5 op)

Toteutuksen tunnus: TT00BW43-3004

Toteutuksen perustiedot


Ilmoittautumisaika

01.12.2023 - 31.01.2024

Ajoitus

01.01.2024 - 06.05.2024

Opintopistemäärä

5 op

Toteutustapa

Lähiopetus

Yksikkö

Teknologia

Opetuskielet

  • Suomi

Koulutus

  • Tieto- ja viestintätekniikan koulutus

Opettaja

  • Eero Huusko

Ryhmät

  • TTV22SA
    TTV22SA
  • 10.01.2024 12:30 - 16:00, Sulautettu Linux-ohjelmointi TT00BW43-3004
  • 17.01.2024 12:30 - 16:00, Sulautettu Linux-ohjelmointi TT00BW43-3004
  • 24.01.2024 12:30 - 16:00, Sulautettu Linux-ohjelmointi TT00BW43-3004
  • 31.01.2024 12:30 - 16:00, Sulautettu Linux-ohjelmointi TT00BW43-3004
  • 07.02.2024 12:30 - 16:00, Sulautettu Linux-ohjelmointi TT00BW43-3004
  • 14.02.2024 12:30 - 16:00, Sulautettu Linux-ohjelmointi TT00BW43-3004
  • 21.02.2024 12:30 - 16:00, Sulautettu Linux-ohjelmointi TT00BW43-3004
  • 28.02.2024 12:30 - 16:00, Sulautettu Linux-ohjelmointi TT00BW43-3004
  • 21.03.2024 08:15 - 11:30, Sulautettu Linux-ohjelmointi TT00BW43-3004
  • 25.03.2024 12:30 - 16:00, Sulautettu Linux-ohjelmointi TT00BW43-3004
  • 08.04.2024 12:30 - 16:00, Sulautettu Linux-ohjelmointi TT00BW43-3004
  • 15.04.2024 12:30 - 16:00, Sulautettu Linux-ohjelmointi TT00BW43-3004
  • 22.04.2024 12:30 - 16:00, Sulautettu Linux-ohjelmointi TT00BW43-3004
  • 29.04.2024 12:30 - 16:00, Sulautettu Linux-ohjelmointi TT00BW43-3004
  • 06.05.2024 12:30 - 16:00, Sulautettu Linux-ohjelmointi TT00BW43-3004

Tavoitteet

Linux-käyttöjärjestelmä ja sen sulautettu versio, mukaan lukien palvelinohjelmat, ovat kriittisiä komponentteja nykypäivän avainasemassa olevassa hajautetussa ja verkottuneessa esineiden internetissä (Internet of Things).
Alan ammattitaitoisten Linux-kehittäjien kysyntä kasvaa jatkuvasti. Kurssin tavoitteena on antaa opiskelijalle kaksi oleellista osaamista:
1.Hyvä teoreettinen perusta ja käytännöllinen, teollisuuden kannalta merkityksellinen tieto, joka kattaa Linux-järjestelmän ohjelmointialueen.
2. Sulautetun linux-järjestelmän (Embedded Linux) ohjelmointiosaamisen, mukaan lukien järjestelmäarkkitehtuurin, virtuaalimuistin, prosessien luomisen ja hallinnan, prosessien välisen signaloinnin, timerien käytön, monisäikeisen ohjelmoinnin, prosessien scheduloinnin ja tiedostojen I / O- ja socket-ohjelmointiin liittyvän osaamisen.

Sanaa sulautettu Linux (Embedded Linux)ei ole määritelty hyvin. Mutta sitä voidaan käyttää käyttöjärjestelmänä monenlaisissa laitteissa termostaateista tukiasemiin, Wi-Fi-reitittimiin ja teollisiin ohjausyksiköihin. Kurssilla opitaan, että sulautetulla Linuxilla on tärkeä tehtävä esineiden Internetissä (Internet of Things).

Sulautetun Linux ohjelmointi -kurssin opiskelija oppii Linux-arkkitehtuurin, Linux-ytimen rakenteen ja tehokkaiden sovellusten toteuttamisen C-kielellä sulautettuihin laitteisiin, joissa on PSoC piiri. Kurssin käytyään opiskelija hallitsee myös moniajojärjestelmään toteutettavien sovellusten suunnittelun ja toteutuksen sekä asiakas-palvelin ohjelmien toteutuksen.

Sisältö

Sulautetun Linux ohjelmointi -kurssin sisältö painottuu UNIX / 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 esitellään yksityiskohtaisesti.

Program Development Review
Multiprocessing & Multithreading
Posix Signal Handling
Linux Memory Management
UNIX/POSIX Files and File System
- File I/O

Local Interprocess Communication
- Using Signals for Interprocess Communication
- Kernel IPC Facilities
- Shared Memory
- Semaphores
- Mutex
- Message Queues
- Managing Kernel IPC Resources
- Pipes
- System calls

Socket programming
Timers
Boot to Qt (Raspberry pi)

Arviointiasteikko

0 - 5

Arviointikriteerit, kiitettävä (5)

Kurssi arvioidaan sekä tentin että palauttettujen harjoitusten perusteella.
Arvosana 5 edellyttää yli 90 % tehtävien palautusta ja kiitettävää arvosanaa tentistä.

Arviointikriteerit, hyvä (3)

Kurssi arvioidaan sekä tentin että palauttettujen harjoitusten perusteella.
Arvosanat 3 tai 4 edellyttävää yli 70-80 % tehtävien palautusta ja arvosanaa hyvä tentistä.

Arviointikriteerit, tyydyttävä (1)

Kurssi arvioidaan sekä tentin että palauttettujen harjoitusten perusteella.
Arvosanat 1 tai 2 edellyttävää yli 50 - 60 % tehtävien palautusta ja arvosanaa välttävä tentistä.

Esitietovaatimukset

Esitietoina vaaditaan Linuxin perusosaaminen ja C-ohjelmointikurssin suoritus.

Lisätiedot

Kurssimateriaali on englanninkielinen. Kurssiin kuuluu itsenäisesti tehtävät harjoitukset.
TKI pisteet 2.