Course Outline

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

Requirements

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 Hours

Related Courses

Related Categories