Cours programmation système (en C sous linux)

Sommaire: Programmation système (en C sous linux)

1 Arguments d’un programme et variables d’environnement
1.1 atoi, sprinf et sscanf
1.2 Arguments du main
1.3 Variables d’environnement
2 Processus
2.1 Processus, PID, UID
2.2 La fonction fork
2.3 Terminaison d’un processus fils
2.4 Exercices
3 Lancement d’un programme : exec
3.1 Rappels : Arguments en ligne de commande
3.2 L’appel système exec
3.3 La fonction system
3.4 Applications suid et problèmes des sécurité liés system, execlp ou exevp
3.5 Exercices
4 Communication entre processus
4.1 Tubes et fork
4.2 Transmettre des données binaires
4.3 Rediriger les flots d’entrées-sorties vers des tubes
4.4 Tubes nommés
4.5 Exercices
5 Threads Posix
5.1 Pointeurs de fonction
5.2 Thread Posix (sous linux)
5.3 Donnée partagées et exclusion mutuelle
5.4 Sémaphores
5.5 Exercices
6 Gestion du disque dûr et des fichiers
6.1 Organisation du disque dur
6.2 Obtenir les informations sur un fichier en C
6.3 Parcourir les répertoires en C
6.4 Descripteurs de fichiers
6.5 Exercices
7 Signaux
7.1 Préliminaire : Pointeurs de fonctions
7.2 Les principaux signaux
7.3 Envoyer un signal
7.4 Capturer un signal
7.5 Exercices
8 Programmation réseaux
8.1 Adresses IP et MAC
8.2 Protocoles
8.3 Services et ports
8.4 Sockets TCP
8.5 Créer une connection client
8.6 Exercices
A Compilation séparée
A.1 Variables globales
A.2 Mettre du code dans plusieurs fichiers
A.3 Compiler un projet multifichiers

Extrait du cours programmation système (en C sous linux)

Introduction
Ce cours porte sur l’utilisation des appels système des systèmes de la famille Unix : Linux, MacOS X, AIX, LynxOS, BeOS, QNX, OpenBSD, FreeBSD,NetBSD.
Le rôle d’un système est de (vois la figure 1) :
• Gérer le matériel :
– Masquer le matériel en permettant aux programmes d’intéragir avec le matériel à travers des pilotes ;
– Partager les ressources entre les différents programmes en cours d’exécution (processus).
• Fournir une interfaces pour les programmes (un ensemble d’appels système)
• Fournir une interfaces bas niveau pour l’utilisateur (un ensemble de commande shell)
• Eventuellement une interface utilisateur haut niveau par un environnement graphique (kde, gnome)…
La norme POSIX (Portable Operating System Interface uniX) est un ensemble de standards de l’IEEE (Institute of Electrical and Electronics Engineers). POSIX définit notamment :
• Les commandes shell de base (ksh, ls, man, …)
• L’API (Application Programming Interface) des appels système.
• L’API des threads

……..

Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Cours programmation système (en C sous linux) (452 KO) (Cours PDF)
Programmation système

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *