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: 5 dagen        Direct aanmelden
Kosten: € 1.895,- excl. BTW        Contact
          In-house cursus op maat

Wanneer

De volgende datum voor deze cursus is nog niet bekend. Neem contact op met ons cursussecretariaat als u belangstelling heeft voor deze cursus. Sommige cursussen worden uitsluitend bij voldoende belangstelling gepland, dus is het noodzakelijk ons van uw interesse op de hoogte te brengen. Wanneer we een cursusdatum willen kiezen nemen wij telefonisch contact op voor overleg, maar uw positie blijft geheel vrijblijvend.

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 en de daarmee samenhangende system calls.
  • 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.

Voorbeeld cursusmateriaal

Ter kennismaking presenteren wij u een hoofdstuk uit de cursusdocumentatie, in PDF-formaat. AT Computing heeft deze cursusdocumentatie in eigen beheer ontwikkeld.

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   Best viewed with any browser