4. Table des matières
Introduction Concepts
Présentation du formateur
et du cours(Objectifs et but)
Définition et explication
de quelques concepts
You can describe the
topic of the section here
01 02
04 Test de connaissance
Introduction
4
Les outils de
programmation
03
Conclusion
7. But: Ce cours a pour but de vous apprendre
à maîtriser toutes les finesses de la
programmation système
Définir précisément la
programmation système ;
le fonctionnement général de la
programmation sous Unix ;
gérer correctement vos erreurs.
Objectifs :
7
9. Qu'est-ce que la
programmation
système ?
La programmation système permet
de créer des drivers, communiquer
avec les périphériques, voire même
créer un système d'exploitation !
9
10. On distingue deux
types de programmes :
les programmes d'application des
utilisateurs.
Les programmes systèmes qui
permettent le fonctionnement de
l'ordinateur.
10
14. Appels-systèmes?
« appel-système » désigne l'appel d'une
fonction, qui, depuis l'espace utilisateur,
demande des services ou des ressources
au système d'exploitation.
14
17. Merci!
d’avoir suivie ce premier chapitre avec
attention
Vos questions sont les bien venues
+228 -- -- -- -- |
,,,,,,,,,,,,,,,,,,,,mail@freepik.com
17
19. Définir les termes suivants avec vos propres
mots
Un système d’exploitation
Un appel système
Un noyau
Une couche d’abstraction
La programmation système
Quelle est la différence entre un
programme d’application et un programme
système?
19
20. La base du système est 1, qui est le seul
élément à porter véritablement le nom « Linux »
1 est souvent imaginé comme une sorte de
logiciel mystérieux fonctionnant en arrière-plan
pour surveiller les applications des utilisateurs,.
Dans une machine fonctionnant sous Linux, de
nombreuses 2 sont empilées,
chacune fournissant des services aux autres. Il est
important de comprendre comment fonctionne ce
modèle pour savoir où une application viendra
s’intégrer.
Trouvez les mots manquants
Le noyau fournit donc des points d’entrée, qu’on nomme « 3 »
et que le programmeur invoque comme des sous-routines
offrant des services variés.
Par exemple l’3 write() permet d’écrire des données dans un
fichier.
20
21. Liens utiles
Tutoriel : La programmation système en C
sous Unix ( http://sdz.tdct.org/sdz/la-
programmation-systeme-en-c-sous-
unix.html#Introduction )
La programmation système en Python
(http://calmettes.arnaud.free.fr/python_linux
.pdf )
21
Programmation système en C sous Linux (
http://tony3d3.free.fr/files/Programmation-
systeme-en-C-sous-Linux.pdf )
Hinweis der Redaktion
Le seul prérequis nécessaire à la lecture de ce cours est de connaître les bases du langage C.
Avoir quelques connaissances sur les systèmes d'exploitation de type Unix est également préférable
But: Ce cours a pour but de vous apprendre à maîtriser toutes les finesses de la programmation système
Avant de nous jeter corps et âme dans la programmation système, commençons par étudier quelques notions théoriques sur la programmation système et sur la famille Unix.
OBJECTIFS:
A la fin de ce cours, vous saurez :
Définir précisément la programmation système ;
le fonctionnement général de la programmation sous Unix ;
gérer correctement vos erreurs.
Avant de nous jeter corps et âme dans la programmation système, commençons par étudier quelques notions théoriques sur la programmation système et sur la famille Unix.
Dans cette deuxième partie, nous allons aborder quelques termes de vocabulaire indispensables pour la suite du cours
Qu'est-ce que la programmation système ? :
La programmation système permet de créer des drivers, communiquer avec les périphériques, voire même créer un système d'exploitation !
Lorsque l'on dispose d'un système d'exploitation, ce dernier permet de différencier deux types de programmes :
les programmes d'application des utilisateurs. Ces programmes sont réalisés lors de la programmation dite « classique », celle que vous avez fait par exemple pendant le cours sur le language C,
Les programmes systèmes qui permettent le fonctionnement de l'ordinateur. C'est ce type de programme que nous allons créer dans ce cours.
Exemples : L’accès aux fichiers, la gestion des processus, la programmation réseau, les entrées/sorties, la gestion de la mémoire
Les systèmes Unix sont des systèmes d'exploitation qui sont constitués de plusieurs programmes, et chacun d'eux fournit un service au système. Tous les programmes qui fournissent des services similaires sont regroupés dans une couche logicielle.
Une couche logicielle qui a accès au matériel informatique s'appelle une couche d'abstraction matérielle.
un système d’exploitation digne de ce nom doit fournir aux programmes une interface commune, de façon à ce que ceux-ci n’aient jamais besoin de se soucier du matériel sur lequel ils agissent. Cette interface, on l’appelle HAL pour Hardware Abstraction Layer (couche d’abstraction matérielle). C’est cette couche qui s’occupe de charger et d’utiliser le bon pilote de périphérique en fonction du matériel qui est effectivement branché à l’ordinateur.
Le noyau est une sorte de logiciel d'arrière-plan qui assure les communications entre ces programmes. C'est donc par lui qu'il va nous falloir passer pour avoir accès aux informations du système.
Pour accéder à ces informations, nous allons utiliser des fonctions qui permettent de communiquer avec le noyau. Ces fonctions s'appellent des appels-systèmes.De manière plus théorique, le terme « appel-système » désigne l'appel d'une fonction, qui, depuis l'espace utilisateur, demande des services ou des ressources au système d'exploitation.
Par exemple, les fonctions read et write sont des appels-systèmes.
Ce chapitre nous aura permis de faire faire une bref introduction sur la programmation système
Dans le prochain chapitre nous feront un rappel sur système d’exploitation et ensuite nous poursuivrons avec les notions de base du développement sur Linux
Merci d’avoir suivie ce cours avec attention
Vos questions sont les bien venues
1- Le noyau
2- couches logicielles
3- appels-système
4-