OTA YHTEYTTÄ

Ora Hanttu

Tuoteryhmäpäällikkö, ICT

040 582 6008 Lähetä viesti

Kesto: 3 päivää
Veroton hinta (+ alv 24 %): 1 890 €

Tästä asiakaskohtainen toteutus?

Toteutamme koulutuksia myös asiakaskohtaisina. Jätä yhteystietosi ja tehdään juuri teille sopiva toteutus.

Voit maksaa:
Koulutuskortti

Paikka ja päiväys

Tampere
24.10.2016 – 26.10.2016
Ilmoittaudu

Jaa

Lataa pdf-muodossa

Linux-systeemiohjelmointi

Koulutuksessa käydään läpi Linux käyttöjärjestelmän arkkitehtuuria ja toimintamalleja. Koulutuksen käynyt osaa Linux-arkkitehtuurin, ytimen rakenteen ja tehokkaiden sovellusten toteuttamisen kyseiseen ympäristöön C-kielellä.

Kurssilla tarkastellaan myös moniajojärjestelmään toteutettavien sovellusten suunnittelussa ja toteutuksessa huomioitavia seikkoja. Tämän lisäksi käytetään automatisointityökaluja ohjelmistokehitykseen.

Linuxin ja avoimen lähdekoodin ohjelmistojen yleistyessä UNIX-maailmasta tuttujen ohjelmointimenetelmien ja -tekniikoiden suosio on taas huimassa kasvussa. Käyttöjärjestelmän arkkitehtuurin ja toimintamallien tunteminen on välttämätön edellytys tehokkaiden sovellusten kehityksessä. Projektien laajetessa on myös tärkeää osata käyttää aikaa säästäviä kehitystyökaluja.

Kohderyhmä

Kurssi on tarkoitettu sovelluskehittäjille, jotka toteuttavat sovelluksia Linux-ympäristöön.

Esitiedot

Esitietoina vaaditaan Linuxin perusosaaminen ja C-kielen ohjelmointitaito.

Kurssin materiaalit

Kurssimateriaali on englanninkielinen.

 

Ohjelma

1. päivä

8.45 Ilmoittautuminen ja kahvit

9.00 Kurssin aloitus

Linuxin arkkitehtuuri

  • Linuxin lyhyt historia
  • Linux ydin vs. käyttöjärjestelmä
  • Systeemikomponentit
  • Versiointi
  • Distribuutiot

Kehitysympäristöt ja työkalut

  • Kääntäjä
  • Virheenjäljitin
  • Make
  • Kirjastot
  • Editorit ja IDEt

Virheiden/suorituksen selvittämistä

  • Strace ja muita työkaluja

Systeemikutsut

  • Tarkoitus ja toiminnallisuus
  • Systeemikutsujen käyttäminen
  • Systeemikutsut vs. ohjelmointikielen kirjastofunktiot

Tiedostojärjestelmä

  • Rakenne
  • Tiedostotyypit
  • Palvelut
  • Tiedostojen lukeminen ja kirjoittaminen
  • Systeemi I/O
  • Ansi C I/O
  • Hakemistojen käsittely
  • Tiedoston tila, fcntl
  • Tiedostojen lukitseminen
  • Laitteet ja tiedostot

Muistinhallinta

  • Virtuaalimuisti
  • Muistinhallintafunktiot
  • Palvelut
  • Työkalut

16.30 päivä päättyy

2. päivä

Prosessit

  • Prosessimalli
  • Prosessien hallinta
  • Ryhmät, attribuutit ja oikeudet
  • fork systeemikutsu
  • exec ja kumppanit
  • Prosessin odottaminen

Taustaprosessit

  • Signalointi
  • Daemonit
  • Lokeihin kirjoittaminen

Säikeet

  • Säiemalli
  • POSIX säikeet
  • Muita säietoteutuksia
  • Säikeiden synkronointi: mutexit ja semaforit
  • Säieturvallisuus: Rentrant koodi
  • Irralliset (detached) säikeet


16.30 päivä päättyy

3. päivä

Prosessien välinen kommunikointi (IPC)

  • POSIX IPC vs. System V IPC
  • Putket (pipes)
  • Semaforit
  • Sanomajonot
  • Jaettu muisti

Pistokkeet (sockets)

  • Pistokkeet
  • Internet pistokkeet
  • Unix paikalliset pistokkeet (local sockets)
  • select käyttö

Kirjastot

  • Dynaamiset kirjastot
  • Jaettujen kirjastojen kehitys
  • Jaettujen kirjastojen asennus

Käyttöjärjestelmän ytimen moduulit (kernel modules)

  • Perusteet
  • Ytimen moduulit vs. laiteajurit
  • Hoi maailma -moduulin toteutus
  • Moduulin lataaminen
  • Laiteajurit

16.00 Koulutus päättyy