Bedankt voor uw aanvraag! Een van onze medewerkers neemt binnenkort contact met u op
Bedankt voor uw boeking! Een van onze medewerkers neemt binnenkort contact met u op.
Cursusaanbod
Introductie
- Doelen
- Wie Ben Jij?
- De Linux Foundation
- Linux Foundation Training
- Certificeringsprogramma's en Digitale Badges
- Linux Distributies
- Platforms
- Je Systeem Voorbereiden
- Een Virtuele Machine Gebruiken en Downloaden
- Dingen veranderen in Linux
Voorbereidende Werkzaamheden
- Procedures
- Standaarden en de LSB
Hoe Te Werken in OSS-projecten
- Overzicht van Hoe Je Correct Kunt Bijdragen
- Blijf Dichtbij de Hoofdlijn voor Beveiliging en Kwaliteit
- Bestudeer en Begrijp de DNA van het Project
- Ontdek Wat Je Wil Verhelpen
- Identificeer Beheerders en Hun Werkstromen en Methoden
- Vroeg Inzicht en Werk in de Openlucht
- Draag Incrementele Deeljes Bij, Niet Grote Code Dumps
- Laat Je Ego Aan de Deur: Wees Geen Dunsvel
- Wees Geduldig, Ontwikkel Langetermijnrelaties, Wees Hulpszaam
Compilers
- GCC
- Andere Compilers
- Belangrijke GCC-opties
- Preprocessor
- Geïntegreerde Ontwikkelingsomgevingen (IDE)
- Labo's
Bibliotheken
- Statische Bibliotheken
- Gedelde Bibliotheken
- Verbinden met Bibliotheken
- Dynamische Linker
- Labo's
Make
- Make en Makefiles gebruiken
- Grote projecten bouwen
- Meer complexe regels
- Ingebouwde regels
- Labo's
Bronbeheer
- Bronbeheer
- RCS en CVS
- Subversion
- git
- Labo's
Debuggen en Core Dumps
- gdb
- Wat zijn Core Dump-bestanden?
- Core Dumps produceren
- Core Dumps onderzoeken
- Labo's
Debuggereenheden
- De Tijd Opvragen
- Profiling en Prestaties
- valgrind
- Labo's
Systeemoproepen
- Systeemoproepen vs. Bibliotheekfuncties
- Hoe Systeemoproepen Gedaan Worden
- Terugkerwaarden en Foutnummers
- Labo's
Geheugenbeheer en -toewijzing
- Geheugenbeheer
- Dynamische Toewijzing
- malloc() afstellen
- Paginering
- Labo's
Bestanden en Bestandsystemen in Linux
- Bestanden, Mapjes en Apparaten
- Het Virtuele Bestandsysteem
- Het ext2/ext3 Bestandsysteem
- Journaling Bestandsystemen
- Het ext4/ Bestandsysteem
- Labo's
Bestands I/O
- UNIX Bestands I/O
- Openen en Sluiten
- Lezen, Schrijven en Zoeken
- Positiesturing en Vector I/O
- Standaard I/O Bibliotheek
- Ondersteuning voor Grote Bestanden (LFS)
- Labo's
Geavanceerde Bestandsbewerkingen
- Stat Functies
- Mapfuncties
- inotify
- Geheugenmapping
- flock() en fcntl()
- Tijdelijke Bestanden Maken
- Andere Systeemoproepen
- Labo's
Processen I
- Wat is een Proces?
- Proceslimieten
- Procesgroepen
- Het proc Bestandsysteem
- Methoden voor InterProcescommunicatie
- Labo's
Processen II
- Het Gebruiken van system() om een Proces Te Creëren
- Het Gebruiken van fork() om een Proces Te Creëren
- Het Gebruiken van exec() om een Proces Te Creëren
- Het Gebruiken van clone()
- Afsluiten
- Constructoren en Destructoren
- Wachten
- Daemonprocessen
- Labo's
Pijpen en FIFOs
- Pijpen en InterProcescommunicatie
- popen() en pclose()
- pipe()
- Genomende Pijpen (FIFOs)
- splice(), vmsplice() en tee()
- Labo's
Asynchrone I/O
- Wat is Asynchrone I/O?
- De POSIX Asynchrone I/O API
- Linux-implementatie
- Labo's
Signalen I
- Wat zijn Signalen?
- Beschikbare Signalen
- Signalen Afhandelen
- Alarmen, Pauzeren en Slapen
- Een Signalengever Instellen
- Signalensets
- sigaction()
- Labo's
Signalen II
- Herbruikbaarheid en Signalengevers
- Springen en Niet-lokale Terugkerwaarden
- siginfo en sigqueue()
- Reële Tijd Signalen
- Labo's
POSIX Threads I
- Multithreading onder Linux
- Basisprogrammestructuur
- Threads Creëren en Vernieten
- Signalen en Threads
- Forken vs. Threading
- Labo's
POSIX Threads II
- Doodlussen en Racecondities
- Mutex-operaties
- Semaforen
- Futexes
- Voorwaardelijke Operaties
- Labo's
Netwerken en Sockets
- Netwerklagen
- Wat zijn Sockets?
- Stroom Sockets
- Datagram Sockets
- Ruwe Sockets
- Bytevolgorde
- Labo's
Sockets Adressen en Hosts
- Socketadresstructuren
- IP-adressen Omschakelen
- Gastgegevens
- Labo's
Sockets Poorten en Protocollen
- Dienaarspoortinformatie
- Protocolinformatie
- Labo's
Sockets Clients
- Basisclientvolgorde
- socket()
- connect()
- close() en shutdown()
- UNIX-client
- Internet-client
- Labo's
Sockets Servers
- Basisservervolgorde
- bind()
- listen()
- accept()
- UNIX-server
- Internet-server
- Labo's
Sockets Invoer/Uitvoer-operaties
- write(), read()
- send(), recv()
- sendto(), recvfrom()
- sendmsg(), recvmsg()
- sendfile()
- socketpair()
- Labo's
Sockets Opties
- Socketopties Ophalen en Instellen
- fcntl()
- ioctl()
- getsockopt() en setsockopt()
- Labo's
Netlink Sockets
- Wat zijn Netlink Sockets?
- Een Netlink Socket Openen
- Netlink Berichten
- Labo's
Sockets Multiplexen en Concurrent Servers
- Gemultiplexeerde en Asynchrone Socket I/O
- select()
- poll()
- pselect() en ppoll()
- epoll
- Signaalgedreven en Asynchrone I/O
- Concurrent Servers
- Labo's
Interprocescommunicatie
- Methoden van IPC
- POSIX IPC
- System V IPC
- Labo's
Gedeelde Geheugen
- Wat is Gedeelde Geheugen?
- POSIX Gedeelde Geheugen
- System V Gedeelde Geheugen
- Labo's
Semaforen
- Wat is een Semafoor?
- POSIX Semaforen
- System V Semaforen
- Labo's
Berichtwachtrijen
- Wat zijn Berichtwachtrijen?
- POSIX Berichtwachtrijen
- System V Berichtwachtrijen
- Labo's
Vereisten
Deze cursus is voor ervaren ontwikkelaars. Studenten moeten bedreven zijn in C-programmeren en bekend zijn met basis Linux hulpprogramma's en teksteditors.
Audiëntie
Deze cursus is voor ervaren ontwikkelaars. Studenten moeten bedreven zijn in C-programmeren en bekend zijn met basis Linux hulpprogramma's en teksteditors.
Ervaringsniveau: Gemiddeld
28 Uren