|
|
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 (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.
De cursus behandelt de "gevorderde" tools, bibliotheek-functies en system calls. De klassieke en modernere vormen van ipc komen aan de orde. Ook gaan we uitvoerig in op de consequenties van multithreaded programmering met de POSIX pthread calls. Hierbij komen synchronisatie-aspecten aan de orde, de levenscyclus van een thread (creatie en beëindiging) en mogelijke valkuilen.
DoelgroepErvaren programmeurs en software-ontwikkelaars met ruime kennis van de taal C en Linux of UNIX die grotere applicatie-pakketten (gaan) ontwikkelen.
VoorkennisWij adviseren onderstaande voorkennis: - De cursus De programmeertaal C of vergelijkbare kennis.
- Een optimale voorbereiding op deze cursus verkrijgt u door minstens een half jaar praktijkervaring met C en Linux/UNIX op te bouwen.
DoelDe cursus is bedoeld om gebruikers van de taal C kennis te laten maken met geavanceerde constructies uit de Linux/UNIX-programmeeromgeving.
OnderwerpenDe cursus Linux/UNIX system calls in C behandelt de volgende onderwerpen:
- 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
Meer informatie?Geïnteresseerd geraakt in deze opleiding en wilt u weten wanneer er weer een sessie gepland wordt?
 Vraag informatie aan
Gerelateerde cursussenIn dezelfde cursusgroep bieden wij óók onderstaande opleidingen aan:
Alle vermelde prijzen zijn onder voorbehoud en exclusief BTW.
|
|
|
|
|
 |
|