Plan du cours

Introduction

  • Les objectifs
  • Qui êtes-vous ?
  • La Linux Fondation
  • Formation à la Fondation Linux
  • Programmes de certification et badges numériques
  • Linux Distributions
  • Plateformes
  • Préparer votre système
  • Utilisation et téléchargement d'une machine virtuelle
  • Les choses changent en Linux

Préliminaires

  • Procédures
  • Les normes et le LSB

Comment travailler dans des projets OSS **

  • Aperçu de la manière de contribuer correctement
  • Rester proche de la ligne principale pour la sécurité et la qualité
  • Étudier et comprendre l'ADN du projet
  • Déterminer la démangeaison à laquelle vous voulez vous attaquer Scratch
  • Identifier les mainteneurs et leurs méthodes de travail
  • Obtenez des contributions précoces et travaillez de manière ouverte
  • Contribuez par petits bouts, pas par gros morceaux de code
  • Laissez votre ego à la porte : Ne soyez pas frileux
  • Soyez patient, développez des relations à long terme, soyez utile.

Compilateurs

  • GCC
  • Autres compilateurs
  • Principales options de gcc
  • Préprocesseur
  • Environnements de développement intégré (IDE)
  • Laboratoires

Bibliothèques

  • Bibliothèques statiques
  • Bibliothèques partagées
  • Liaison avec les bibliothèques
  • Chargeur de liens dynamiques
  • Laboratoires

Make

  • Utilisation de make et des fichiers Makefile
  • Construire de grands projets
  • Règles plus complexes
  • Règles intégrées
  • Labs

Contrôle des sources

  • Contrôle des sources
  • RCS et CVS
  • Subversion
  • git
  • Labs

Débogage et Core Dumps

  • gdb
  • Que sont les fichiers Core Dump ?
  • Produire des Core Dumps
  • Examiner les Core Dumps
  • Labs

Outils de débogage

  • Obtenir le temps
  • Profilage et performance
  • valgrind
  • Labos

Appels système

  • Appels système et fonctions de bibliothèque
  • Comment les appels système sont effectués
  • Valeurs de retour et numéros d'erreur
  • Labos

Mémoire Management et allocation

  • Mémoire Management
  • Allocation dynamique
  • Optimisation de malloc()
  • Verrouillage des pages
  • Laboratoires

Fichiers et systèmes de fichiers dans Linux **

  • Fichiers, répertoires et périphériques
  • Le système de fichiers virtuel
  • Le système de fichiers ext2/ext3
  • Systèmes de fichiers de journalisation
  • Le système de fichiers ext4/
  • Laboratoires

E/S de fichiers

  • E/S de fichiers UNIX
  • Ouverture et fermeture
  • Lecture, écriture et recherche
  • E/S positionnelles et vectorielles
  • Bibliothèque d'E/S standard
  • Support des grands fichiers (LFS)
  • Laboratoires

Opérations avancées sur les fichiers

  • Fonctions Stat
  • Fonctions d'annuaire
  • inotify
  • Cartographie de la mémoire
  • flock() et fcntl()
  • Création de fichiers temporaires
  • Autres appels système
  • Laboratoires

Processus I

  • Qu'est-ce qu'un processus ?
  • Limites des processus
  • Groupes de processus
  • Le système de fichiers proc
  • Méthodes interprocessus Communication
  • Laboratoires

Processus II

  • Utilisation de system() pour créer un processus
  • Utilisation de fork() pour créer un processus
  • Utilisation de exec() pour créer un processus
  • Utilisation de clone()
  • Quitter
  • Constructeurs et destructeurs
  • Attente
  • Processus démon
  • Laboratoires

Pipes et Fifos

  • Pipes et InterProcess Communication (en anglais)
  • popen() et pclose()
  • pipe()
  • Pipes nommés (FIFOs)
  • splice(), vmsplice() et tee()
  • Labs

E/S asynchrones**

  • Qu'est-ce que les E/S asynchrones ?
  • L'API POSIX d'E/S asynchrones
  • Linux Mise en œuvre
  • Laboratoires

Signaux I

  • Que sont les signaux ?
  • Signaux disponibles
  • Répartition des signaux
  • Alarmes, mise en pause et mise en sommeil
  • Configuration d'un gestionnaire de signaux
  • Jeux de signaux
  • sigaction()
  • Laboratoires

Signaux II

  • Réentrance et gestionnaires de signaux
  • Sauts et retours non locaux
  • siginfo et sigqueue()
  • Signaux en temps réel
  • Laboratoires

Threads POSIX I

  • Le multithreading sous Linux
  • Structure de base du programme
  • Création et destruction de threads
  • Signaux et threads
  • Forking vs. Threading
  • Laboratoires

Fils POSIX II

  • Blocages et conditions de course
  • Opérations Mutex
  • Sémaphores
  • Futex
  • Opérations conditionnelles
  • Laboratoires

Networking et Sockets

  • Couches Networking
  • Que sont les sockets ?
  • Sockets de flux
  • Sockets de datagramme
  • Sockets brutes
  • Ordre des octets
  • Laboratoires

Adresses des sockets et hôtes

  • Structures d'adresses de sockets
  • Conversion des adresses IP
  • Informations sur les hôtes
  • Labos

Ports et protocoles de sockets

  • Informations sur les ports de service
  • Informations sur le protocole
  • Laboratoires

Clients Sockets

  • Séquence de base du client
  • socket()
  • connect()
  • close() et shutdown()
  • Client UNIX
  • Client Internet
  • Laboratoires

Serveurs de sockets

  • Séquence de base du serveur
  • bind()
  • listen()
  • accept()
  • Serveur UNIX
  • Serveur Internet
  • Laboratoires

Opérations d'entrée/sortie des sockets

  • écrire(), lire()
  • send(), recv()
  • sendto(), recvfrom()
  • sendmsg(), recvmsg()
  • sendfile()
  • socketpair()
  • Labs

Options des sockets

  • Obtenir et définir des options de sockets
  • fcntl()
  • ioctl()
  • getsockopt() et setsockopt()
  • Labs

Les sockets Netlink**

  • Que sont les sockets netlink ?
  • Ouvrir une socket netlink
  • Messages netlink
  • Labos

Multiplexage des sockets et serveurs simultanés

  • E/S sockets multiplexées et asynchrones
  • select()
  • poll()
  • pselect() et ppoll()
  • epoll
  • E/S asynchrones et pilotées par signaux
  • Serveurs simultanés
  • Laboratoires

Interprocessus Communication

  • Méthodes d'IPC
  • IPC POSIX
  • IPC du système V**
  • Laboratoires

Mémoire partagée

  • Qu'est-ce que la mémoire partagée ?
  • Mémoire partagée POSIX
  • Mémoire partagée du Système V**
  • Labos

Sémaphores

  • Qu'est-ce qu'un sémaphore ?
  • Sémaphores POSIX
  • Sémaphores Système V**
  • Labos

Files d'attente de messages

  • Qu'est-ce qu'une file d'attente de messages ?
  • Files d'attente de messages POSIX
  • Files d'attente de messages System V**
  • Laboratoires

Pré requis

Ce cours s'adresse aux développeurs expérimentés. Les étudiants doivent maîtriser la programmation en C et être familiarisés avec les utilitaires de base et les éditeurs de texte.

Public

Ce cours s'adresse aux développeurs expérimentés. Les étudiants doivent maîtriser la programmation en C et être familiers avec les utilitaires de base Linux et les éditeurs de texte.

Niveau d'expérience : Intermédiaire

 28 heures

Nombre de participants



Prix par participant

Cours Similaires

Linux for Cloud Technicians (LFS303). Preparation for Linux Foundation Certified Cloud Technician (LFCT) with exam

28 heures

Linux System Administration (LFS307). Preparation for Linux Foundation Certified System Administrator (LFCS) with exam.

28 heures

Kubernetes for App Developers (LFD459)

21 heures

Kubernetes Administration (LFS458)

28 heures

Kubernetes Security Fundamentals (LFS460)

28 heures

Fundamentals of Linux (LFS300)

28 heures

Linux for System Administrators (LFS301 retired)

28 heures

Linux Security (LFS416)

28 heures

Linux Performance Tuning (LFS426)

28 heures

Linux for System Engineers (LFS311)

28 heures

Linux Enterprise Automation (LFS430)

28 heures

Open Source Virtualization (LFS462)

28 heures

Catégories Similaires

1