SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Programmation
Système avec le
Language C
Bienvenue à toutes et à tous
1
Prérequis
2
Avoir :
 les bases du langage C
 avoir quelques connaissances sur les
systèmes d'exploitation de type Unix
CHAPITRE 1 - GENERALITE
3
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
Introduction
Présentation du formateur et du
cours(Objectifs et but)
01
5
Salut!
NOM PTENOM
PARCOURT & EXPERIENCE
CONTACT TEL
MAIL
6
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
Concept
Définition et explication de
quelques concepts
02
8
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
On distingue deux
types de programmes :
 les programmes d'application des
utilisateurs.
 Les programmes systèmes qui
permettent le fonctionnement de
l'ordinateur.
10
Qu'est-ce qu’une
Couche logicielle?
Tous les programmes qui fournissent des
services similaires sont regroupés dans
une couche logicielle.
11
Qu'est-ce qu’une
Abstraction matérielle?
Une couche logicielle qui a accès au
matériel informatique s'appelle une
couche d'abstraction matérielle.
12
Noyau d’un système
d’exploitation?
Le noyau est une sorte de logiciel
d'arrière-plan qui assure les
communications entre ces programmes
13
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
Accès au matériel
15
Conclusion
Bref résumé et apercue du
chapritre suivant
03
16
Merci!
d’avoir suivie ce premier chapitre avec
attention
Vos questions sont les bien venues
+228 -- -- -- -- |
,,,,,,,,,,,,,,,,,,,,mail@freepik.com
17
Test de
connaissance
Questionnaires lié au chapitre
parcouru
04
18
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
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
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 )

Weitere ähnliche Inhalte

Ähnlich wie Programation système-CHAPITRE1.pptx

Introduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).pptIntroduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).ppt
MahdiHERMASSI1
 
Programmation-en-C-ESIITECH-2023-2024.pptx
Programmation-en-C-ESIITECH-2023-2024.pptxProgrammation-en-C-ESIITECH-2023-2024.pptx
Programmation-en-C-ESIITECH-2023-2024.pptx
OlyvierNzighou1
 
TP N1 Initiation à lutilisation.docx
TP N1 Initiation à lutilisation.docxTP N1 Initiation à lutilisation.docx
TP N1 Initiation à lutilisation.docx
SouadZid
 
COURS C++ [Enregistrement automatique]Complet (1).pptx
COURS C++ [Enregistrement automatique]Complet (1).pptxCOURS C++ [Enregistrement automatique]Complet (1).pptx
COURS C++ [Enregistrement automatique]Complet (1).pptx
LuneSabsPericolo1
 
1_Assurance_Qualit_et_Gnie_Logiciel.ppt
1_Assurance_Qualit_et_Gnie_Logiciel.ppt1_Assurance_Qualit_et_Gnie_Logiciel.ppt
1_Assurance_Qualit_et_Gnie_Logiciel.ppt
hbadir
 
Gl slides-cours-1
Gl slides-cours-1Gl slides-cours-1
Gl slides-cours-1
Sami Neili
 
Chapitre 1 (algorithme)
Chapitre 1 (algorithme)Chapitre 1 (algorithme)
Chapitre 1 (algorithme)
mahbouba
 
Op05 g formation-z-os-unix-system-services-concepts-et-fonctionnalites
Op05 g formation-z-os-unix-system-services-concepts-et-fonctionnalitesOp05 g formation-z-os-unix-system-services-concepts-et-fonctionnalites
Op05 g formation-z-os-unix-system-services-concepts-et-fonctionnalites
CERTyou Formation
 
Audit openERP 7.0: Mise en place &Optimisation de Performances
Audit openERP 7.0: Mise en place &Optimisation de Performances Audit openERP 7.0: Mise en place &Optimisation de Performances
Audit openERP 7.0: Mise en place &Optimisation de Performances
Firas Kouẞàa
 

Ähnlich wie Programation système-CHAPITRE1.pptx (20)

Introduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).pptIntroduction aux systèmes d-exploitation (2).ppt
Introduction aux systèmes d-exploitation (2).ppt
 
Outils de construction pour la recherche
Outils de construction pour la rechercheOutils de construction pour la recherche
Outils de construction pour la recherche
 
Programmation-en-C-ESIITECH-2023-2024.pptx
Programmation-en-C-ESIITECH-2023-2024.pptxProgrammation-en-C-ESIITECH-2023-2024.pptx
Programmation-en-C-ESIITECH-2023-2024.pptx
 
TP N1 Initiation à lutilisation.docx
TP N1 Initiation à lutilisation.docxTP N1 Initiation à lutilisation.docx
TP N1 Initiation à lutilisation.docx
 
Ch1-Généralités.pdf
Ch1-Généralités.pdfCh1-Généralités.pdf
Ch1-Généralités.pdf
 
UNIX_SE4_2023 (1).pdf
UNIX_SE4_2023 (1).pdfUNIX_SE4_2023 (1).pdf
UNIX_SE4_2023 (1).pdf
 
COURS C++ [Enregistrement automatique]Complet (1).pptx
COURS C++ [Enregistrement automatique]Complet (1).pptxCOURS C++ [Enregistrement automatique]Complet (1).pptx
COURS C++ [Enregistrement automatique]Complet (1).pptx
 
1_Assurance_Qualit_et_Gnie_Logiciel.ppt
1_Assurance_Qualit_et_Gnie_Logiciel.ppt1_Assurance_Qualit_et_Gnie_Logiciel.ppt
1_Assurance_Qualit_et_Gnie_Logiciel.ppt
 
F Les Scripts En Power Shell
F Les Scripts En Power ShellF Les Scripts En Power Shell
F Les Scripts En Power Shell
 
Gl slides-cours-1
Gl slides-cours-1Gl slides-cours-1
Gl slides-cours-1
 
Cours langage-c
Cours langage-cCours langage-c
Cours langage-c
 
Chapitre 1 (algorithme)
Chapitre 1 (algorithme)Chapitre 1 (algorithme)
Chapitre 1 (algorithme)
 
Op05 g formation-z-os-unix-system-services-concepts-et-fonctionnalites
Op05 g formation-z-os-unix-system-services-concepts-et-fonctionnalitesOp05 g formation-z-os-unix-system-services-concepts-et-fonctionnalites
Op05 g formation-z-os-unix-system-services-concepts-et-fonctionnalites
 
Audit openERP 7.0: Mise en place &Optimisation de Performances
Audit openERP 7.0: Mise en place &Optimisation de Performances Audit openERP 7.0: Mise en place &Optimisation de Performances
Audit openERP 7.0: Mise en place &Optimisation de Performances
 
Microsoft07coursbaptiste
Microsoft07coursbaptisteMicrosoft07coursbaptiste
Microsoft07coursbaptiste
 
Programmation linéniaire
Programmation linéniaire Programmation linéniaire
Programmation linéniaire
 
Mql4 pour les nuls
Mql4 pour les nulsMql4 pour les nuls
Mql4 pour les nuls
 
Pl 2-bis
Pl 2-bisPl 2-bis
Pl 2-bis
 
Algorithmique et methodes de programmation
Algorithmique et methodes de programmationAlgorithmique et methodes de programmation
Algorithmique et methodes de programmation
 
Introduction à ASP.NET
Introduction à ASP.NETIntroduction à ASP.NET
Introduction à ASP.NET
 

Programation système-CHAPITRE1.pptx

  • 1. Programmation Système avec le Language C Bienvenue à toutes et à tous 1
  • 2. Prérequis 2 Avoir :  les bases du langage C  avoir quelques connaissances sur les systèmes d'exploitation de type Unix
  • 3. CHAPITRE 1 - GENERALITE 3
  • 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
  • 5. Introduction Présentation du formateur et du cours(Objectifs et but) 01 5
  • 6. Salut! NOM PTENOM PARCOURT & EXPERIENCE CONTACT TEL MAIL 6
  • 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
  • 8. Concept Définition et explication de quelques concepts 02 8
  • 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
  • 11. Qu'est-ce qu’une Couche logicielle? Tous les programmes qui fournissent des services similaires sont regroupés dans une couche logicielle. 11
  • 12. Qu'est-ce qu’une Abstraction matérielle? Une couche logicielle qui a accès au matériel informatique s'appelle une couche d'abstraction matérielle. 12
  • 13. Noyau d’un système d’exploitation? Le noyau est une sorte de logiciel d'arrière-plan qui assure les communications entre ces programmes 13
  • 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
  • 16. Conclusion Bref résumé et apercue du chapritre suivant 03 16
  • 17. Merci! d’avoir suivie ce premier chapitre avec attention Vos questions sont les bien venues +228 -- -- -- -- | ,,,,,,,,,,,,,,,,,,,,mail@freepik.com 17
  • 18. Test de connaissance Questionnaires lié au chapitre parcouru 04 18
  • 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

  1. 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
  2. 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.
  3. 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
  4. 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 !
  5. 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
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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
  11. Merci d’avoir suivie ce cours avec attention Vos questions sont les bien venues
  12. 1- Le noyau 2- couches logicielles 3- appels-système 4-