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
- Doelstellingen
- Wie je bent
- De Linux Stichting
- Linux Opleiding van de basis.
- Certificeringsprogramma's en digitale badges
- Linux Uitkeringen
- Platformen
- Uw systeem voorbereiden
- Een virtuele machine gebruiken en downloaden
- Dingen veranderen in Linux
Voorrondes
- Procedures
- Normen en de LSB
Hoe te werken in OSS-projecten **
- Overzicht van hoe u op de juiste manier kunt bijdragen
- Blijf dicht bij Mainline voor veiligheid en kwaliteit
- Bestudeer en begrijp het project-DNA
- Zoek uit welke jeuk je wilt Scratch
- Identificeer onderhouders en hun werkstromen en methoden
- Krijg vroege input en werk in de open lucht
- Draag incrementele bits bij, geen grote codedumps
- Laat je ego aan de deur: wees niet dunhuidig
- Wees geduldig, ontwikkel langdurige relaties, wees behulpzaam
Compilers
- GCC
- Andere compilers
- Belangrijkste GCC-opties
- Preprocessor
- Geïntegreerde ontwikkelomgevingen (IDE)
- Labs
Bibliotheken
- Statische bibliotheken
- Gedeelde bibliotheken
- Linken naar bibliotheken
- Dynamische koppelingslader
- Labs
Maken
- Make en Makefiles gebruiken
- Grote projecten bouwen
- Ingewikkeldere regels
- Ingebouwde regels
- Labs
Bron controle
- Bron controle
- RCS en CVS
- Omverwerping
- Git
- Labs
Foutopsporing en kerndumps
- Gdb
- Wat zijn Core Dump Files?
- Kerndumps produceren
- Kerndumps onderzoeken
- Labs
Hulpprogramma's voor foutopsporing
- De tijd krijgen
- Profilering en prestaties
- Valgrind
- Labs
Systeem aanroepen
- Systeemaanroepen versus bibliotheekfuncties
- Hoe systeemaanroepen worden gedaan
- Retourneerwaarden en foutnummers
- Labs
Geheugen Management en toewijzing
- Geheugen Management
- Dynamische toewijzing
- Stemmen malloc()
- Pagina's vergrendelen
- Labs
Bestanden en bestandssystemen in Linux **
- Bestanden, mappen en apparaten
- Het virtuele bestandssysteem
- Het ext2/ext3 bestandssysteem
- Bestandssystemen journaliseren
- Het ext4/ Bestandssysteem
- Labs
Bestand I/O
- UNIX-bestand I/O
- Openen en sluiten
- Lezen, schrijven en zoeken
- Positionele en Vector I/O
- Standaard I/O-bibliotheek
- Ondersteuning voor grote bestanden (LFS)
- Labs
Geavanceerde bestandsbewerkingen
- Stat Functies
- Directory Functies
- Ik meld
- Geheugen in kaart brengen
- flock() en fcntl()
- Tijdelijke bestanden maken
- Andere systeemaanroepen
- Labs
Processen I
- Wat is een proces?
- Proces limieten
- Groepen verwerken
- Het proc Bestandssysteem
- InterProcess Communication Methoden
- Labs
Processen II
- System() gebruiken om een proces te maken
- fork() gebruiken om een proces te maken
- Exec() gebruiken om een proces te maken
- Clone() gebruiken
- Afsluiten
- Constructeurs en destructors
- Wachten
- Daemon-processen
- Labs
Pijpen en Fifo's
- Leidingen en InterProcess Communication
- popen() en pclose()
- pijp()
- Named Pipes (FIFO's)
- splice(), vmsplice() en tee()
- Labs
Asynchrone I/O**
- Wat is asynchrone I/O?
- De POSIX Asynchronous I/O API
- Linux Implementatie
- Labs
Signalen I
- Wat zijn signalen?
- Beschikbare signalen
- Dispatching Signalen
- Alarmen, pauzeren en slapen
- Een seinhandler instellen
- Signaal Sets
- sigaction()
- Labs
Signalen II
- Re-entrency en seinafhandelaars
- Springen en niet-lokaal retourneren
- siginfo en sigqueue()
- Real-time signalen
- Labs
POSIX Draden I
- Multithreading onder Linux
- Basis Programma Structuur
- Threads maken en vernietigen
- Signalen en threads
- Smeden versus draadsnijden
- Labs
POSIX Draden II
- Impasses en raceomstandigheden
- Mutex-bewerkingen
- Semaforen
- Futexen
- Voorwaardelijke bewerkingen
- Labs
Networking en stopcontacten
- Networking Lagen
- Wat zijn stopcontacten?
- Stroom-stopcontacten
- Datagram-aansluitingen
- Ruwe stopcontacten
- Byte bestellen
- Labs
Sockets , adressen en hosts
- Socket-adresstructuren
- IP-adressen converteren
- Informatie over de host
- Labs
Sockets, poorten en protocollen
- Informatie over servicepoorten
- Protocolinformatie
- Labs
Stopcontacten Clients
- Basis clientvolgorde
- contactdoos()
- verbinden()
- close() en shutdown()
- UNIX-client
- Internet-client
- Labs
Stopcontacten Servers
- Basis servervolgorde
- bind()
- luister()
- accepteren()
- UNIX-server
- Internetserver
- Labs
Sockets Input/Output Bewerkingen
- write(), read()
- send(), recv()
- sendto(), recvfrom()
- sendmsg(), recvmsg()
- sendfile()
- socketpaar()
- Labs
Stopcontacten Opties
- Socket-opties ophalen en instellen
- fcntl()
- ioctl()
- getsockopt() en setsockopt()
- Labs
Netlink-aansluitingen**
- Wat zijn netlink-sockets?
- Een netlink-socket openen
- netlink-berichten
- Labs
Sockets, multiplexing en gelijktijdige servers
- Gemultiplexte en asynchrone socket I/O
- selecteren()
- poll()
- pselect() en ppoll()
- epoll
- Signaalgestuurde en asynchrone I/O
- Gelijktijdige servers
- Labs
Inter Proces Communication
- Methoden van IPC
- POSIX IPC
- Systeem V IPC**
- Labs
Gedeeld geheugen
- Wat is gedeeld geheugen?
- POSIX Gedeeld geheugen
- Gedeeld geheugen van System V**
- Labs
Semaforen
- Wat is een semafoor?
- POSIX Semaforen
- Systeem V Semaforen**
- Labs
Wachtrijen voor berichten
- Wat zijn berichtenwachtrijen?
- POSIX-berichtenwachtrijen
- Wachtrijen voor Systeem V-berichten**
- Labs
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