page header

cursus Linux/UNIX system calls in C

Deze opleiding is van toepassing op alle UNIX-versies

De cursus is bedoeld om gebruikers van de taal C kennis te laten maken met geavanceerde constructies uit de Linux/UNIX-programmeeromgeving. De cursus behandelt de "gevorderde" tools, bibliotheek-functies en system calls. Alle vormen van inter-process communicatie, waaronder TCP/IP-sockets, komen aan de orde. Ook gaan we uitvoerig in op multithreaded programmering met de z.g. pthread calls. Hierbij horen synchronisatie-aspecten, de levenscyclus van een thread (creatie en beëindiging) en herkennen van valkuilen.

Na afloop van deze cursus kunt u de meest geavanceerde mogelijkheden van een UNIX-kernel voor u aan het werk zetten. Lees verder >>>

Voor wie?

  • Ervaren programmeurs en software-ontwikkelaars met ruime kennis van de taal C en Linux of UNIX die grotere applicatie-pakketten (gaan) ontwikkelen.
Cursusduur: dagen        In-house cursus op maat
Contact
Kosten €  excl. BTW       

Wanneer

Wij hebben deze cursus momenteel niet van een vaste datum voorzien. Als u belangstelling hebt, neem dan contact met ons op, zodat we in overleg kunnen bepalen wanneer en op welke manier (klassikaal, coaching on the job, privé-cursus, expert session) wij de benodigde kennis overdragen.
Voor contact: telefoon 024-352 72 72 of info@ATComputing.nl.

Meer informatie over deze cursus

System calls

Het Linux/UNIX-besturingssysteem biedt een groot arsenaal aan mogelijkheden op het gebied van file I/O, procesbeheer en interproces-communicatie. Als een C-programmeur deze functionaliteit optimaal wil benutten, is gedegen kennis van de Linux/UNIX system calls onontbeerlijk.

Deze system calls maken het mogelijk om file-karakteristieken te wijzigen, op efficiënte wijze toegang te verkrijgen tot file-data en (delen van) een file af te schermen via het file- en record-locking mechanisme. Bovendien kan de C-programmeur nieuwe processen creëren en manipuleren met de identiteit waaronder een proces draait.

Verder biedt Linux/UNIX een grote verscheidenheid aan mechanismen om data uit te wisselen tussen processen, hetzij lokaal, hetzij over een netwerk. Interprocesscommunicatie (ipc) kan verlopen via het klassieke pipe-mechanisme, maar ook via shared memory, semaforen, message queues, signals of sockets.

Multithreaded programmering

Multithreaded programmering (MT) is een techniek waarbij er binnen een lopend proces meerdere uitvoeringslijnen actief zijn. Iedere uitvoeringslijn gaat min of meer onafhankelijk zijn eigen weg binnen de context van het omhullende proces. Op deze manier kunnen er verschillende taken door een proces (schijnbaar) parallel worden uitgevoerd. Deze programmeertechniek heeft pas de laatste jaren aan populariteit gewonnen, m.n. doordat multiprocessor-systemen gemeengoed zijn geworden. Alle bekende UNIX-implementaties bieden inmiddels ondersteuning voor de ontwikkeling van MT-programma's.

Voorkennis

Een optimale voorbereiding op deze cursus verkrijgt u door minstens een half jaar praktijkervaring met C en Linux/UNIX op te bouwen.

De theoretische voorkennis verwerft u via de cursussen "Linux/UNIX deel 1", "Linux/UNIX deel 2" en "De programmeertaal C".

Inhoud van de cursus

Aan de orde komen:

  • Proces-management: Proces-creatie en -synchronisatie, proces-relaties en -identiteiten, processen en terminals, daemon-processen.
  • File-management: Geavanceerde file I/O-mogelijkheden. Memory-mapped files. Directory I/O.
  • Het pipe-mechanisme: Opzetten en eigenschappen van pipes. Communicatie: eenrichtings- en tweerichtingsverkeer, pipes met meerdere lezers en/of schrijvers.
  • File- en record-locking.
  • System V IPC: Shared memory, message queues en semaforen.
  • Signals: Het omgaan met signals. Problemen bij signals.
  • Inleiding tot het socket mechanisme voor het client-server model; programmeren van een netwerk client en een netwerk server.
  • Device I/O: low level terminal I/O, pseudo terminals, I/O multiplexing.
  • POSIX pthreads: creatie en einde, thread-synchronisatie, omgaan met globale variabelen, consequenties van multithreading in een Linux/UNIX-omgeving.

Documentatie

U ontvangt dictaten over de onderwerpen procesbeheer, ipc, multithreading en portabiliteit. Daarnaast krijgt u oefeningen, oplossingen en kopieën van de gebruikte presentaties.

Afsluiting

Enige tijd na afloop van de cursus ontvangt u een certificaat van deelname.

Valid XHTML 1.0 Strict   Valid CSS2