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

Aantal deelnemers


Prijs Per Deelnemer

Voorlopige Aankomende Cursussen

Gerelateerde categorieën