Formation Linux
formation linux

> Offre Formations
> Présentation
> Brochure pdf
> Nos formateurs
> Contact
> News
> Les offres Linux
> Linux embarqué
> Linux temps réel
> Linux noyau / drivers
> Programmation système
> Linux pour les managers
> Expertise
> Développement


Formation Linux Système

Réf : LINUX_06
Durée : 4 jours


- Objectif de la formation

 Ce stage aborde les principaux concepts systèmes utilisés dans le développement d’une application linux (appels systèmes et bibliothèque donc principalement la LibC). Il traite notamment du multitâche sous Linux (processus/thread), de la gestion de la mémoire, de la communication et synchronisation inter processus (signaux, files de message, mémoire partagée, sémaphores et mutex, tubes de communication), de la gestions des entrées/sorties et de la programmation réseau.

L’ensemble du cours est étayé de réalisations pratiques permettant aux stagiaires d’assimiler de manière concrète les thématiques abordées.

Public visé : Développeurs et chefs de projets souhaitant obtenir une vision d’ensemble sur le développement d’une application Linux.


- Sommaire

Introduction
•    Historique Unix
•    Présentation de Linux
•    Licences (GPL, LGPL, BSD)
•    Distributions, gestion de paquets

Fichiers
•    Structure du système de fichiers
•    Fichiers et devices
•    Descripteurs de fichiers, E/S standards
•    Fonctions de bas niveau
•    Fonctions de la librairie standard d'E/S
•    Verrous et autres fonctions

Processus
•    Présentation et concepts
•    Attributs et identifications des processus
•    Création de processus
•    Attente d'un processus
•    Terminaison de processus

Threads
•    Présentation et concepts
•    Threads vs. processus
•    Création de threads
•    Terminaison de threads
•    Synchronisation, sections critiques, mutexes

Signaux
•    Présentation des signaux
•    Liste des signaux sous Linux
•    Émission d’un signal
•    Réception des signaux
•    Blocage des signaux

Tubes
•    Présentation des tubes
•    Tubes entre processus
•    La fonction pipe
•    Utilisation lors d'un fork()
•    Les tubes nommés

Mémoire partagée
•    Présentation et concepts
•    Création d'un segment de mémoire partagée
•    Connexion et déconnection au segment

Files de messages
•    Présentation et concepts
•    Création et ouverture d'une file
•    Ecriture d'un message dans une file
•    Lecture de messages dans une file
•    Contrôle des files

Sémaphores
•    Présentation et concepts
•    Création d'un sémaphore
•    Opérations sur un sémaphore
•    Contrôle et destruction des sémaphores

Gestion de la mémoire
•    Fonctions d’allocation
•    Fonction de libération
•    Règles de sécurité
•    Débogage des allocations mémoire
•    Verrouillage de pages en mémoire
•    Protection de l’accès à la mémoire

Sockets
•    Présentation et concepts
•    Domaines, types et protocoles
•    Création d’une socket
•    Affectation d’adresse
•    Mode connecté et mode non connecté
•    Attente de connexions
•    Demander une connexion
•    Fermeture d’une socket
•    Recevoir et envoyer des données
•    Options des sockets

Travaux Pratiques:
•     Chaque chapitre est étayé par des travaux pratiques permettant de mettre en œuvre les notions abordées.

•    Les travaux pratiques sont constitués :

  • D’un squelette de code permettant de réaliser  l’exercice
  • D’une correction