Programmation système de commandes en C

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimension: px
Commencer à balayer dès la page:

Download "Programmation système de commandes en C"

Transcription

1 Programmation système de commandes en C Cours de Programmation système Tuyêt Trâm DANG NGOC Université de Cergy-Pontoise Tuyêt Trâm DANG NGOC Programmation système de commandes en C 1 / 31

2 Plan 1 Caractéristiques d une commande bien programmée 2 Programmation de commandes 3 Primitives système 4 Descripteurs de fichiers 5 Applications : réécriture de la commande wc Tuyêt Trâm DANG NGOC Programmation système de commandes en C 2 / 31

3 Caractéristiques d une commande bien programmée 1 Caractéristiques d une commande bien programmée 2 Programmation de commandes 3 Primitives système 4 Descripteurs de fichiers 5 Applications : réécriture de la commande wc Tuyêt Trâm DANG NGOC Programmation système de commandes en C 3 / 31

4 Caractéristiques d une commande bien programmée Caractéristiques d une commande bien programmée Arguments en ligne de commande : La commande peut être suivie de 0, 1 ou plusieurs arguments. Options : Le comportement de la commande peut varier en fonction d options pouvant chacune prendre ou non des arguments. Valeur de retour : à la fin de l exécution de la commande, une valeur de retour est renvoyée (visible par dans le shell). 0 signale que la commande s est terminée normalement. Gestion des erreurs : la commande vérifie toutes les valeurs de retour des appels de primitives système (fichier inexistant, erreur de permission, etc.) Utilisation des flux d entrées/sorties standards : l affichage a lieu sur la sortie standard, les messages d erreurs doivent être envoyés sur l erreur standard. Si cela est pertinent, une gestion de l entrée standard doit être réalisée. Portabilité : La commande doit être écrite en utilisant autant que possible les standards (SVr4, 4.3BSD, POSIX.1, POSIX.2, etc.). Tuyêt Trâm DANG NGOC Programmation système de commandes en C 4 / 31

5 Programmation de commandes 1 Caractéristiques d une commande bien programmée 2 Programmation de commandes 3 Primitives système 4 Descripteurs de fichiers 5 Applications : réécriture de la commande wc Tuyêt Trâm DANG NGOC Programmation système de commandes en C 5 / 31

6 Programmation de commandes Gestion des arguments int main (int argc, char *argv []) argc : contient le nombre total d arguments de la commande y compris la commande elle-même argv : est un tableau contenant tous les arguments y compris la commande elle-même./monprogramme argument1 argument2 argument3 argv [0] argv [1] argv [2] argv [3] argv [argc] *argv []./monprogramme argument1 argument2 argument3 NULL argc = 4 Code source de argument.c Tuyêt Trâm DANG NGOC Programmation système de commandes en C 6 / 31

7 Programmation de commandes Gestion des arguments : exemple argument.c #include <stdio.h> int main (int argc, char *argv []) { int i ; printf ("Nombre d arguments : %d\n", argc) ; for (i = 0 ; i < argc ; i ++) { printf ("Argument %d : [%s]\n", i, argv [i]) ; return 0 ; Tuyêt Trâm DANG NGOC Programmation système de commandes en C 7 / 31

8 Programmation de commandes Récupération d options int getopt(int argc, char * const argv[], const char *format) ; argc et argv : Nombre et valeur des arguments. Récupéré en général tel quel du main. format chaine de caractères formée par tous les caractères utilisables pour les options. Les options prenant un argument doivent être suivi du caractère :. Avec le format : abc :de : $./monprogramme -a -b -c argumentc -d -e argumente arg1 arg2 arg3 $./monprogramme -bd -c argumentc -e argumente arg1 arg2 #include <unistd.h> extern char *optarg; /* argument des options */ extern int optind ; /* curseur option */ extern int opterr ; /* mis à 0 si pas d erreur */ extern int optopt; /* options inconnue ou en erreur (sans argumen Code source de options.c Tuyêt Trâm DANG NGOC Programmation système de commandes en C 8 / 31

9 Programmation de commandes Gestion des options : exemple options.c #include <unistd.h> #include <stdio.h> extern char *optarg; extern int optind ; int main(int argc, char *argv[]) { int options; char format[] = "abc:d:"; while ((options = getopt(argc, argv, format))!= -1) switch (options) { case a : printf ("Parametre a rencontre\n"); break; case b : printf ("Parametre b rencontre\n"); break; case c : printf ("Parametre c rencontre avec argument %s\n", optarg); break; case d : printf ("Parametre d rencontre avec argument %s\n", optarg); break; printf ("Le reste des arguments :\n") ; for (; optind < argc; ++optind) printf ("argv[%d] : %s\n", optind, argv[optind]); return 0; Tuyêt Trâm DANG NGOC Programmation système de commandes en C 9 / 31

10 Programmation de commandes Valeur de retour La valeur de retour du return de la fonction main détermine la valeur de retour du programme. int main () { if (il_y_a_des_erreurs ) return une_valeur_differente_de_zero ; return 0 ; /* valeur de retour du programme quand tout s est bien passé */ Code source de retour.c $ $ l Tuyêt Trâm DANG NGOC Programmation système de commandes en C 10 / 31

11 Programmation de commandes Renvoi d une valeur de retour : exemple retour.c #include <fcntl.h> #include <stdio.h> int main (int argc, char *argv []) { int desc ; if ((desc = open (argv [1], O_RDONLY)) == -1) { printf ("Ouverture du fichier echoue\n") ; return 1 ; printf ("Ouverture du fichier reussi\n") ; close (desc) ; return 0 ; Tuyêt Trâm DANG NGOC Programmation système de commandes en C 11 / 31

12 Programmation de commandes Gestion des erreurs Les primitives systèmes (gestion de fichiers, gestion des processus,...) retournent un nombre différent de 0 lorsqu elles rencontrent une erreur (pb droit d accès, fichier inexistant, création de processus impossible, pb d accès à un périphérique,...). On peut identifier l erreur (code d erreur et message associé). void perror(const char *chaine) Affiche sur l erreur standard la chaine suivi du message d erreur. #include <stdio.h> void perror(const char *s); #include <errno.h> extern int errno ; Code source de erreur.c Tuyêt Trâm DANG NGOC Programmation système de commandes en C 12 / 31

13 Programmation de commandes Gestion des erreurs : exemple erreur.c #include <errno.h> #include <stdio.h> #include <fcntl.h> extern int errno ; int main (int argc, char *argv []) { int desc ; if ((desc = open (argv [1], O_RDONLY)) == -1) { printf ("Erreur %d\n", errno) ; perror ("Erreur documentee") ; return errno ; else { printf ("Le fichier %s a bien ete ouvert\n", argv [1]) ; close (desc) ; return 0 ; Tuyêt Trâm DANG NGOC Programmation système de commandes en C 13 / 31

14 Primitives système 1 Caractéristiques d une commande bien programmée 2 Programmation de commandes 3 Primitives système 4 Descripteurs de fichiers 5 Applications : réécriture de la commande wc Tuyêt Trâm DANG NGOC Programmation système de commandes en C 14 / 31

15 Primitives système Langage C, Primitives système et fonctions de bibliothèques Le langage C ne définit que le langage proprement dit. Ceci permet une plus grande souplesse dans le traitement des entrées/sorties et dans l interface avec le système. l accès aux services du système Unix est réalisée au moyen des appels système, encore appelés primitives système : Gestion memoire, processus, interprocessus, horloge, systeme de fichier, ressources machine. Ces primitives systèmes sont pour la plupart définies dans unistd.h et sys/*.h et sont toutes documentées dans le chapitre 2 du man (faire man 2 commande) Le programmeur dispose de nombreuses bibliothèques C, depuis la gestion de la vidéo jusqu aux fonctions mathématiques. Ces bibliothèques sont plus ou moins standardisées, plus ou moins communes aux systèmes. Tuyêt Trâm DANG NGOC Programmation système de commandes en C 15 / 31

16 Primitives système Bibliothèque standard Une bibliothèque est particulière et commune : la bibliothèque standard (libc). L éditeur de liens la prend automatiquement. Ses fonctions peuvent être classées en grandes catégories : les fonctions d entrées / sorties les fonctions de gestion de la mémoire les fonctions sur les caractères et les chaînes les fonctions associées aux sockets Berkeley les fonctions système Tuyêt Trâm DANG NGOC Programmation système de commandes en C 16 / 31

17 Descripteurs de fichiers 1 Caractéristiques d une commande bien programmée 2 Programmation de commandes 3 Primitives système 4 Descripteurs de fichiers 5 Applications : réécriture de la commande wc Tuyêt Trâm DANG NGOC Programmation système de commandes en C 17 / 31

18 Descripteurs de fichiers Tout est fichier Fichier Fichier Fichier table des descripteurs Processus read write write read write read read write Internet Tuyêt Trâm DANG NGOC Programmation système de commandes en C 18 / 31

19 Descripteurs de fichiers Ouverture d un fichier int open(const char *pathname, int flags) int open(const char *pathname, int flags, mode t mode) Ouvre un fichier et retourne un descripteur sur ce fichier. Renvoi -1 si le fichier n a pu être ouvert. flags : O RDONLY (lecture seule), O WRONLY (écriture seule), O RDWR (lecture/écriture), O CREAT (créer le fichier), O TRUNC (tronquer le fichier), O APPEND (concaténer au fichier), O NDELAY (lire/écrire sans délai), etc. mode : (facultatif) S I(RWX)(USR,GRP,OTH) ou 0640 Tuyêt Trâm DANG NGOC Programmation système de commandes en C 19 / 31

20 Descripteurs de fichiers Ouverture d un fichier int desc_orig, desc_copie ; if ((desc_orig = open ("fichier", O_RDONLY)) == -1) { perror ("Erreur fichier source") ; return 1 ; if ((desc_copie = open ("copie", O_CREAT O_TRUNC O_WRONLY, S_IRUSR S_IWUSR S_IRGRP)) == -1) { perror ("Erreur fichier destination") ; return 1 ;... Code source de copier.c Tuyêt Trâm DANG NGOC Programmation système de commandes en C 20 / 31

21 Descripteurs de fichiers Lecture d un descripteur ssize t read(int fd, void *buf, size t count) lit jusqu à count octets depuis le descripteur de fichier fd dans le tampon pointé par buf. ssize t et size t sont des entiers. renvoie le nombre d octets lus (0 signifiant aucune écriture), ou -1 s il échoue. Si le nombre renvoyé est plus petit que le nombre demandé, c est que la fin du fichier a été rencontrée ou que la commande a été interrompue par un signal. char buf [MAX] ;... for (i = 0 ; i < MAX ; i++) { buf [i] = 0 ; while ((n = read (desc_orig, buf, MAX-1)) == MAX-1) { printf ("Voici les %d caractères que j ai lu : [%s] n", n, buf) ; for (i = 0 ; i < MAX ; i++) { buf [i] = 0 ; printf ("Voici les %d caractères que j ai lu : [%s] n", n, buf) ;... Code source de lire.c Tuyêt Trâm DANG NGOC Programmation système de commandes en C 21 / 31

22 Descripteurs de fichiers Lecture d un fichier : exemple lire.c #include <errno.h> #include <stdio.h> #include <fcntl.h> #include <sys/stat.h> #define MAX 10 extern int errno ; int main () { int desc_orig ; int i, n ; char buf [MAX] ; if ((desc_orig = open ("fichier", O_RDONLY)) == -1) { perror ("Erreur fichier source") ; return 1 ; for (i = 0 ; i < MAX ; i++) { buf [i] = 0 ; while ((n = read (desc_orig, buf, MAX-1)) == MAX-1) { printf ("Voici les %d caracteres que j ai lu : [%s]\n", n, buf) ; for (i = 0 ; i < MAX ; i++) { buf [i] = 0 ; printf ("Voici les %d caracteres que j ai lu : [%s]\n", n, buf) ; close (desc_orig) ; return 0 ; Tuyêt Trâm DANG NGOC Programmation système de commandes en C 22 / 31

23 Descripteurs de fichiers Ecriture dans un descripteur ssize t write(int fd, const void *buf, size t count) écrit jusqu à count octets dans le fichier associé au descripteur fd depuis le tampon pointé par buf. ssize t et size t sont des entiers. renvoie le nombre d octets écrits (0 signifiant aucune écriture), ou -1 s il échoue.... for (i = 0 ; i < MAX ; i++) { buf [i] = 0 ; strcpy (buf, "Ca va? n") ; n = write (desc_copie, buf, strlen ("Ca va? n")) ; printf ("Voici les %d caractères que j ai ecrit : [%s] n", n, buf) ;... Code source de ecrire.c Tuyêt Trâm DANG NGOC Programmation système de commandes en C 23 / 31

24 Descripteurs de fichiers Ecriture dans un fichier : exemple ecrire.c #include <errno.h> #include <stdio.h> #include <fcntl.h> #include <sys/stat.h> #include <string.h> #define MAX 10 extern int errno ; int main () { int desc_copie ; int i, n ; char buf [MAX] ; if ((desc_copie = open ("copie", O_CREAT O_TRUNC O_WRONLY, S_IRUSR S_IWUSR S_IRGRP)) == -1) { perror ("Erreur fichier destination") ; return 1 ; for (i = 0 ; i < MAX ; i++) { buf [i] = 0 ; strcpy (buf, "Bonjour\n") ; n = write (desc_copie, buf, strlen ("Bonjour\n")) ; printf ("Voici les %d caracteres que j ai ecrit : [%s]\n", n, buf) ; for (i = 0 ; i < MAX ; i++) { buf [i] = 0 ; strcpy (buf, "Ca va?\n") ; n = write (desc_copie, buf, strlen ("Ca va?\n")) ; printf ("Voici les %d caracteres que j ai ecrit : [%s]\n", n, buf) ; n = write (desc_copie, buf, strlen ("Ca va?\n")) ; printf ("Voici les %d caracteres que j ai ecrit : [%s]\n", n, buf) ; close (desc_copie) ; return 0 ; Tuyêt Trâm DANG NGOC Programmation système de commandes en C 24 / 31

25 Descripteurs de fichiers Fermeture d un fichier int close (int fd) ferme le descripteur fd, de manière à ce qu il ne référence plus aucun fichier, et puisse être réutilisé. int desc_orig, desc_copie ;... desc_orig = open ("fichier", O_RDONLY) ; desc_copie = open ("copie", O_CREAT O_TRUNC O_WRONLY, S_IRUSR S_IWUSR S_IRGRP) ;... close (desc_orig) ; close (desc_copie) ; Code source de copier.c Tuyêt Trâm DANG NGOC Programmation système de commandes en C 25 / 31

26 Descripteurs de fichiers Gestion d un fichier : exemple complet copier.c #include <errno.h> #include <stdio.h> #include <fcntl.h> #include <sys/stat.h> #define MAX 10 extern int errno ; int main () { int desc_orig, desc_copie ; int i, n ; char buf [MAX] ; if ((desc_orig = open ("fichier", O_RDONLY)) == -1) { perror ("Erreur fichier source") ; return 1 ; if ((desc_copie = open ("copie", O_CREAT O_TRUNC O_WRONLY, S_IRUSR S_IWUSR S_IRGRP)) == -1) { perror ("Erreur fichier destination") ; return 1 ; for (i = 0 ; i < MAX ; i++) { buf [i] = 0 ; while ((n = read (desc_orig, buf, MAX-1)) == MAX-1) { printf ("Voici les %d caracteres que j ai lu : [%s]\n", n, buf) ; write (desc_copie, buf, n) ; for (i = 0 ; i < MAX ; i++) { buf [i] = 0 ; printf ("Voici les %d caracteres que j ai lu : [%s]\n", n, buf) ; write (desc_copie, buf, n) ; close (desc_orig) ; close (desc_copie) ; return 0 ; Tuyêt Trâm DANG NGOC Programmation système de commandes en C 26 / 31

27 Descripteurs de fichiers Entrée/Sortie/Erreur standards Rappel : Entrée standard (stdin, 0) Commande Sortie standard (stdout, 1) Erreur standard (stderr, 2) Les descripteurs 0, 1 et 2 sont ouverts par défaut. Code source de entreestd.c Code source de sortiestd.c Tuyêt Trâm DANG NGOC Programmation système de commandes en C 27 / 31

28 Descripteurs de fichiers Gestion de l entrée standard : exemple entreestd.c #include <errno.h> #include <stdio.h> #include <fcntl.h> #include <sys/stat.h> #define MAX 10 extern int errno ; int main () { int i, n ; char buf [MAX] ; for (i = 0 ; i < MAX ; i++) { buf [i] = 0 ; while ((n = read (0, buf, MAX-1)) == MAX-1) { printf ("Voici les %d caracteres que j ai lu : [%s]\n", n, buf) ; for (i = 0 ; i < MAX ; i++) { buf [i] = 0 ; printf ("Voici les %d caracteres que j ai lu : [%s]\n", n, buf) ; return 0 ; Tuyêt Trâm DANG NGOC Programmation système de commandes en C 28 / 31

29 Descripteurs de fichiers Gestion de la sortie et de l erreur standard : exemple sortiestd.c #include <errno.h> #include <stdio.h> #include <fcntl.h> #include <sys/stat.h> #include <string.h> #define MAX 10 extern int errno ; int main () { int i, n ; char buf [MAX] ; for (i = 0 ; i < MAX ; i++) { buf [i] = 0 ; strcpy (buf, "En sortie\n") ; n = write (1, buf, strlen ("En sortie\n")) ; for (i = 0 ; i < MAX ; i++) { buf [i] = 0 ; strcpy (buf, "En erreur\n") ; n = write (2, buf, strlen ("En erreur\n")) ; return 0 ; Tuyêt Trâm DANG NGOC Programmation système de commandes en C 29 / 31

30 Applications : réécriture de la commande wc 1 Caractéristiques d une commande bien programmée 2 Programmation de commandes 3 Primitives système 4 Descripteurs de fichiers 5 Applications : réécriture de la commande wc Tuyêt Trâm DANG NGOC Programmation système de commandes en C 30 / 31

31 Applications : réécriture de la commande wc Réécriture de la commande wc Voir le cours de Pierre Andry Code source de wc2.c Tuyêt Trâm DANG NGOC Programmation système de commandes en C 31 / 31

3IS - Système d'exploitation linux - Programmation système

3IS - Système d'exploitation linux - Programmation système 3IS - Système d'exploitation linux - Programmation système 2010 David Picard Contributions de : Arnaud Revel, Mickaël Maillard picard@ensea.fr Environnement Les programmes peuvent être exécutés dans des

Plus en détail

GESTION DES FICHIERS C/UNIX

GESTION DES FICHIERS C/UNIX Licence IG Page 1 sur 6 GESTION DES FICHIERS C/UNIX Introduction Deux modes d appel - Par la bibliothèque standard C (appel de haut niveau) - Par appels système (bas niveau) Nécessite les includes suivant

Plus en détail

Cours 6 : Tubes anonymes et nommés

Cours 6 : Tubes anonymes et nommés Cours 6 : Tubes anonymes et nommés Mécanisme de communications du système de fichiers I-node associé. Type de fichier: S_IFIFO. Accès au travers des primitives read et write. Les tubes sont unidirectionnels

Plus en détail

Le système de gestion des fichiers, les entrées/sorties.

Le système de gestion des fichiers, les entrées/sorties. Le système de gestion des fichiers, les entrées/sorties. Luigi Santocanale Laboratoire d Informatique Fondamentale, Centre de Mathématiques et Informatique, 39, rue Joliot-Curie - F-13453 Marseille 19

Plus en détail

Arguments d un programme

Arguments d un programme Arguments d un programme L2 SPI, Bruno Jacob 1 Arguments Quand on appelle un programme dans un environnement UNIX ou MS- DOS, on compose une ligne de commandes de la forme : nom-du-programme argument1

Plus en détail

Traducteur mot à mot

Traducteur mot à mot Traducteur mot à mot CORRECTION Ce document, ainsi que le programme C et un exemple de programme trad-fr-us, peut être trouvé en ligne à l'addresse suivante : http ://www.lifl.fr/hauspie/hauspie/teaching.

Plus en détail

M3101 Principes des systèmes d exploitation. Les fichiers

M3101 Principes des systèmes d exploitation. Les fichiers M3101 Principes des systèmes d exploitation Les fichiers IUT d Orsay DUT Informatique 2015 / 2016 Les fichiers, les processus et le noyau A 0 1 2 3 4 5 entrée sortie erreur descripteurs de fichiers attributs

Plus en détail

TP 18 - Communication

TP 18 - Communication TP 18 - Communication 3 GI, INSA de Lyon Mars 2004 1 Objectifs Le but de ce TP est d étudier la programmation directe à bas niveau du hardware d un ordinateur et du système d exploitation (Linux). Pour

Plus en détail

Le prototype de la fonction main()

Le prototype de la fonction main() Le prototype de la fonction main() 1. Introduction...1 2. Paramètres et type de retour de la fonction main()...1 3. Exemple 1...2 4. La fonction exit() du C...2 5. Détecter le code de retour d un programme

Plus en détail

UNIX COMMUNICATION INTERNE ENTRE PROCESSUS. C. Crochepeyre Cnam - Diapason Unix: communications internes 1

UNIX COMMUNICATION INTERNE ENTRE PROCESSUS. C. Crochepeyre Cnam - Diapason Unix: communications internes 1 UNIX COMMUNICATION INTERNE ENTRE PROCESSUS C. Crochepeyre Cnam - Diapason Unix: communications internes 1 1. GÉNÉRALITÉS Communications internes: entre processus sur une même machine: exec() fichiers moyens

Plus en détail

Langage C et programmation système

Langage C et programmation système Langage C et programmation système DUT Informatique Villetaneuse Module : Système d'exploitation christophe.cerin@iutv.univ-paris13.fr Variables d environnement Votre problème : vous développez une application

Plus en détail

Programmation système I Les entrées/sorties

Programmation système I Les entrées/sorties Programmation système I Les entrées/sorties DUT 1 re année Université de Marne La vallée Les entrées-sorties : E/O Entrées/Sorties : Opérations d échanges d informations dans un système informatique. Les

Plus en détail

Plan. Le système de gestion des fichiers, (II) Contenu d un répertoire (/etc) (Bach 1988) i-noeud + contenu. Luigi Santocanale.

Plan. Le système de gestion des fichiers, (II) Contenu d un répertoire (/etc) (Bach 1988) i-noeud + contenu. Luigi Santocanale. Plan Le système de gestion des fichiers, (II) Luigi Santocanale Laboratoire d Informatique Fondamentale, Centre de Mathématiques et Informatique, 39, rue Joliot-Curie - F-13453 Marseille 25 octobre 2005

Plus en détail

I. Moniteur POP3 de emails en C

I. Moniteur POP3 de emails en C Année universitaire 2014/2015 Site : Luminy St-Charles St-Jérôme Cht-Gombert Aix-Montperrin Aubagne-SATIS Sujet de : 1 er semestre 2ème semestre Session 2 Examen de : L3 Code du module : SIN5U3 Calculatrices

Plus en détail

Unix et Programmation Shell

Unix et Programmation Shell Unix et Programmation Shell Philippe Langevin départment d informatique UFR sciences et technique université du sud Toulon Var Automne 2013 Philippe Langevin (imath/ustv) Unix et Programmation Shell Automne

Plus en détail

Programmation système en C/C++

Programmation système en C/C++ Programmation système en C/C++ Jean-Baptiste Vioix (jb.vioix@free.fr) LE2I - ENESAD http://jb.vioix.free.fr 1-41 Programmation en C/C++ sous Unix Il existe des très nombreux outils de développement sous

Plus en détail

Langages et concepts de programmation

Langages et concepts de programmation Langages et concepts de programmation Séances 3 et 4 Tri d un fichier de voitures Une correction possible 1 Le sujet On dispose d un fichier contenant des informations sur des voitures d occasion : le

Plus en détail

EPITA - Spé: C: Entrée - Sortie.

EPITA - Spé: C: Entrée - Sortie. EPITA - Spé: C: Entrée - Sortie. Marwan BURELLE 1 Manipulations élémentaires Nous commencerons ce TP avec des manipulations simples sur les descripteurs de fichiers à l aide des fonctions read(), write(),

Plus en détail

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année 2003-2004 Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES Maude Manouvrier La reproduction de ce document par

Plus en détail

Cours de Système : Gestion de Fichiers

Cours de Système : Gestion de Fichiers Cours de Système : Gestion de Fichiers Bertrand Le cun et Emmanuel Hyon bertrand.le cun{at}u-paris10.fr et Emmanuel.Hyon{at}u-paris10.fr Université Paris Ouest Nanterre 25 octobre 2011 B.L.C. & E.H. (UPO)

Plus en détail

Examen. Les processus. Examen : systèmes d exploitation L3, parcours informatique, 2004-2005

Examen. Les processus. Examen : systèmes d exploitation L3, parcours informatique, 2004-2005 Mercredi 5 janvier 2005 Durée : 3 heures Documents autorisés Examen : systèmes d exploitation L3, parcours informatique, 2004-2005 Corrigé préliminaire et partiel. Examen Les valeurs de retour des primitives

Plus en détail

Structure arborescente de fichiers. Fichiers. Types de fichiers. Systèmes de fichiers. Wieslaw Zielonka. October 2, 2014 media

Structure arborescente de fichiers. Fichiers. Types de fichiers. Systèmes de fichiers. Wieslaw Zielonka. October 2, 2014 media Structure arborescente de fichiers / bin dev home etc Fichiers bash bunzip tar sda tty3 tom mike peter postgresql python Wieslaw Zielonka enseignement Systemes 9 93 October, 04 media courspdf courstex

Plus en détail

Systèmes d exploitation

Systèmes d exploitation Cours no. 7 Jean-Sébastien Coron Université du Luxembourg coron@clipper.ens.fr Communications inter-processus Méthodes de communications inter-processus: Les signaux. Pas de données transmises. Les tuyaux:

Plus en détail

TP 3 Mini client/serveur ftp

TP 3 Mini client/serveur ftp TP 3 Mini client/serveur ftp 1 But Le but du TP est de réaliser un client et un serveur de transfert de fichiers à distance. Pour transférer un fichier (par exemple obtenir un fichier depuis une machine

Plus en détail

TRAVAUX PRATIQUES Programmation Système Langage C / Système UNIX. 2 e année Génie Informatique

TRAVAUX PRATIQUES Programmation Système Langage C / Système UNIX. 2 e année Génie Informatique Communications entre Processus Communication par tubes. TRAVAUX PRATIQUES Programmation Système Langage C / Système UNIX. 2 e année Génie Informatique Exemple 1: On a deux processus Père/Fils. Le père

Plus en détail

Cours de Réseau et communication Unix n 4

Cours de Réseau et communication Unix n 4 Cours de Réseau et communication Unix n 4 Edouard THIEL Faculté des Sciences Université d Aix-Marseille (AMU) Septembre 2014 Les transparents de ce cours sont téléchargeables ici : http://pageperso.lif.univ-mrs.fr/~edouard.thiel/ens/rezo/

Plus en détail

Programmation système : tampons

Programmation système : tampons Programmation système : tampons Juliusz Chroboczek 12 Octobre 2009 1 Tampons Le programme de copie décrit au cours précédent effectue deux appels système pour chaque octet copié ce qui est tragique. Une

Plus en détail

Réseau et Communication Notes de Cours/TD/TP autorisées; autres documents, calculettes, ordinateurs interdits.

Réseau et Communication Notes de Cours/TD/TP autorisées; autres documents, calculettes, ordinateurs interdits. Département d Informatique Faculté des Sciences de Luminy Réseau et Communication Lundi 9 mai 2011 Durée 3h Licence MI, UE INF15, E. Thiel Notes de Cours/TD/TP autorisées; autres documents, calculettes,

Plus en détail

Rapport de TP sur le mini-serveur HTTP. Maxime Chambreuil - Sébastien Le Digabel

Rapport de TP sur le mini-serveur HTTP. Maxime Chambreuil - Sébastien Le Digabel Rapport de TP sur le mini-serveur HTTP Maxime Chambreuil - Sébastien Le Digabel 16 janvier 2003 Table des matières 1 Détails sur nos travaux 2 1.1 But du TP............................. 2 1.2 La fonction

Plus en détail

Ecriture d une commande en C.

Ecriture d une commande en C. Ecriture d une commande en C. 1 Objectif : wcl2 Nous souhaitons écrire en C une commande qui effectue le même travail que wc: écrire le programme C première approche de la gestion des flux en C utiliser

Plus en détail

Réseau et Communication Notes de Cours/TD/TP autorisées; autres documents, calculettes, ordinateurs interdits.

Réseau et Communication Notes de Cours/TD/TP autorisées; autres documents, calculettes, ordinateurs interdits. Département d Informatique Faculté des Sciences de Luminy Réseau et Communication Vendredi 11 mai 2012 Durée 3h Licence MI, UE INF15, E. Thiel Notes de Cours/TD/TP autorisées; autres documents, calculettes,

Plus en détail

Communication entre processus avec des tuyaux Fils Java. Partie A La communication entre processus avec tuyaux

Communication entre processus avec des tuyaux Fils Java. Partie A La communication entre processus avec tuyaux Systèmes d exploitation CSI3531 Labo 2 Communication entre processus avec des tuyaux Fils Java Partie A La communication entre processus avec tuyaux Objectif : Explorer le IPC avec les tuyaux UNIX/Linux

Plus en détail

1. Eléments de base du langage C

1. Eléments de base du langage C 1 1. Eléments de base du langage C Généralités Programme et sous-programme Fonction C Structure d un programme C Vocabulaire de base et syntaxe Exemples 2 Généralités Crée en 1972 par D. Ritchie pour écrire

Plus en détail

Introduction au langage C

Introduction au langage C Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les

Plus en détail

Introduction Les arguments de main() Passons aux choses serieuses. Formation Linux. Adrien Chardon. Novembre 2014

Introduction Les arguments de main() Passons aux choses serieuses. Formation Linux. Adrien Chardon. Novembre 2014 Novembre 2014 1 Introduction 2 3 1 Introduction 2 Les deux prototypes possibles de main() Deux exemples pour comprendre 3 Exemples simples Explorateur de fichiers Connexion à distance Redirection et pipe

Plus en détail

Cours Programmation Système

Cours Programmation Système Cours Programmation Système Filière SMI Semestre S6 El Mostafa DAOUDI Département de Mathématiques et d Informatique, Faculté des Sciences Université Mohammed Premier Oujda m.daoudi@fso.ump.ma Février

Plus en détail

Programmation impérative

Programmation impérative Programmation impérative Cours 4 : Manipulation des fichiers en C Catalin Dima Organisation des fichiers Qqs caractéristiques des fichiers : Nom (+ extension). Chemin d accès absolu = suite des noms des

Plus en détail

DUT Informatique Module Système S4 C Département Informatique 2009 / 2010. Travaux Dirigés n o 3 : Sockets Stream

DUT Informatique Module Système S4 C Département Informatique 2009 / 2010. Travaux Dirigés n o 3 : Sockets Stream iut ORSAY DUT Informatique Département Informatique 2009 / 2010 Travaux Dirigés n o 3 : Sockets Stream Objectifs : comprendre les principes et les mécanismes de communication par sockets stream, être capable

Plus en détail

TP Interface graphique et C++ numéro 1

TP Interface graphique et C++ numéro 1 TP Interface graphique et C++ numéro 1 Master IGC - 1 re année année 2010-2011 Ce premier TP a pour objectif de vous familiariser avec le compilateur C++, les entréessorties du langage et l utilisation

Plus en détail

Projet du cours d ARCHITECTURE Gestion distribué d un parking

Projet du cours d ARCHITECTURE Gestion distribué d un parking Projet du cours d ARCHITECTURE Gestion distribué d un parking 3 GI, INSA de Lyon Janvier 2004 1 Objectifs du projet Ce projet a pour but d apprendre à manipuler une application multitâche où les différentes

Plus en détail

cours 7 - entrées/sorties et fichiers

cours 7 - entrées/sorties et fichiers cours 7 - entrées/sorties et fichiers G. Bianchi, G. Blin, A. Bugeau, S. Gueorguieva, R. Uricaru 2015-2016 Programmation 1 - uf-info.ue.prog1@diff.u-bordeaux.fr utilisation avancée de printf retour de

Plus en détail

Chap. VIII : Manipulation des fichiers en C

Chap. VIII : Manipulation des fichiers en C UMR 7030 - Université Paris 13 - Institut Galilée Cours Architecture et Système Nous avons déjà abordé le sujet des fichiers que ce soit en cours (partie Architecture, chap. IV Le système de fichiers ),

Plus en détail

Le langage C. Séance n 4

Le langage C. Séance n 4 Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de

Plus en détail

1 Hello world. 2 Sorties en C. DUT Informatique M3101 Système S3 2015 / 2016. Travaux Pratiques n o 0 : Rappels de programmation C

1 Hello world. 2 Sorties en C. DUT Informatique M3101 Système S3 2015 / 2016. Travaux Pratiques n o 0 : Rappels de programmation C DUT Informatique 2015 / 2016 Travaux Pratiques n o 0 : Rappels de programmation C Nom(s) : Groupe : Date : Objectifs : renouer avec les notions, la manipulation et l écriture de programmes C, en particulier

Plus en détail

Interfaçage de programmation. c Olivier Caron

Interfaçage de programmation. c Olivier Caron Interfaçage de programmation 1 Le SGBD est-il suffisant? (1/2) Les pour : La puissance du langage de requêtes. 1 Le SGBD est-il suffisant? (1/2) Les pour : La puissance du langage de requêtes. L aspect

Plus en détail

(File System) Semestre 6 2012-2013. Licence miage Université Lille 1 Pour toutes remarques : Alexandre.Sedoglavic@univ-lille1.fr

(File System) Semestre 6 2012-2013. Licence miage Université Lille 1 Pour toutes remarques : Alexandre.Sedoglavic@univ-lille1.fr V-2 (12-01-2009) de s Notion de? s s proc de s Licence miage Université Lille 1 Pour toutes remarques : Alexandre.Sedoglavic@univ-lille1.fr Semestre 6 2012-2013 de s Notion de? s s proc Qu est ce qu un

Plus en détail

Interface des sockets

Interface des sockets Interface des sockets IUT Bordeaux I 08/12/2008 Interface des Sockets 1 A quoi servent les sockets? Applications client/serveur Transfert de fichiers, Connexion à distance, Courrier électronique, Groupe

Plus en détail

CHAPITRE. 7.1 Lire et écrire des données dans des fichiers personnels

CHAPITRE. 7.1 Lire et écrire des données dans des fichiers personnels CHAPITRE 7 Entrées et sorties en C 7.1 Lire et écrire des données dans des fichiers personnels Jusqu ici les programmes dont nous avons discutés ne concernent que des e/s pré-définies, standard. Nous voulons

Plus en détail

GESTION DES FICHIERS. Plan

GESTION DES FICHIERS. Plan Chapitre 10 GESTION DES FICHIERS Objectif: Connaître et manipuler les différentes primitives de gestion de fichier de niveau haut. Pré requis: Les fonction d'entrées sorties Les pointeurs Les structures

Plus en détail

Les chaînes de caractères

Les chaînes de caractères Les chaînes de caractères Comme déjà précisé dans les premiers chapitres de ce cours, il n existe pas de type chaîne de caractères prédéfinit en C. Il existe deux façons pour déclarer une chaîne de caractères

Plus en détail

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

Plus en détail

UE NSY 103 Programmation Système. EXAMEN 2007-2008 Session Septembre. documents autorisés : Non. Session 2008 NSY 103 (S. Cherrier) Page 1 / 9

UE NSY 103 Programmation Système. EXAMEN 2007-2008 Session Septembre. documents autorisés : Non. Session 2008 NSY 103 (S. Cherrier) Page 1 / 9 UE NSY 103 Programmation Système EXAMEN 2007-2008 Session Septembre documents autorisés : Non Session 2008 NSY 103 (S. Cherrier) Page 1 / 9 Une sonde WEB L'équipe de développement dans laquelle vous travaillez

Plus en détail

Une introduction au langage C++ Marc Jachym, Lurpa

Une introduction au langage C++ Marc Jachym, Lurpa Une introduction au langage C++ Marc Jachym, Lurpa Janvier 2008 À l origine, le langage C Langage procédural créé dans les années 1970 aux laboratoires Bell (ATT : télécoms américains) en vue d écrire

Plus en détail

Programmation Système et Réseau sous Unix

Programmation Système et Réseau sous Unix Programmation Système et Réseau sous Unix M. Billaud michel.billaud@u-bordeaux1.fr 4 février 2012 Résumé Ce document est un support de cours pour les enseignements de Système et de Réseau. Il présente

Plus en détail

Noyau d'un système d'exploitation INF2610 Chapitre 7 : Gestion de la mémoire (annexe 2)

Noyau d'un système d'exploitation INF2610 Chapitre 7 : Gestion de la mémoire (annexe 2) INF2610 Chapitre 7 : Gestion de la mémoire (annexe 2) Département de génie informatique et génie logiciel Hiver 2014 Exemple 1 : Espace virtuel d un processus Où seront stockées les données des variables

Plus en détail

Département de génie informatique et génie logiciel

Département de génie informatique et génie logiciel INF2610 Chapitre 2 : Processus Département de génie informatique et génie logiciel Hiver 2014 Chapitre 2 - Processus Qu est ce qu un processus? États d un processus Hiérarchie des processus Processus UNIX-Linux

Plus en détail

Plan. Tableaux. Utilité. Définition. Exemples. Déclaration d un tableau

Plan. Tableaux. Utilité. Définition. Exemples. Déclaration d un tableau Plan Tableaux Université de Nice - Sophia Antipolis Richard Grin Version 1.0.4 25/11/10 Définition Déclaration d un tableau Création d un tableau Utilisation d un dun tableau Tableau des paramètres de

Plus en détail

LIF1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION

LIF1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION Licence STS Université Claude Bernard Lyon I LIF1 : ALGORITHMIQUE ET PROGRAMMATION IMPÉRATIVE, INITIATION 1 COURS 7 : Structures et Fichiers OBJECTIFS DE LA SÉANCE Deux notions abordées dans ce cours Celle

Plus en détail

Examen de Langage C Vendredi 2 Décembre 2011

Examen de Langage C Vendredi 2 Décembre 2011 Année 2011-2012 Examen de Langage C Vendredi 2 Décembre 2011 Promotion Guichet 1 ière année É. Salvat Modalités : Durée : 2 heures Seul document autorisé : carte de référence du C, pas de machine à calculer,

Plus en détail

2 Complément de notes de cours : génération de clés par ftok

2 Complément de notes de cours : génération de clés par ftok O r s a y Travaux Pratiques n o 4 : Segments de Mémoire Partagée DUT Informatique 2010 / 2011 Nom(s) : Groupe : Date : Objectifs : savoir mettre au point des applications multiprocessus dont les mécanismes

Plus en détail

Réseau et Communication Notes de Cours/TD/TP autorisées; autres documents, calculettes, ordinateurs interdits.

Réseau et Communication Notes de Cours/TD/TP autorisées; autres documents, calculettes, ordinateurs interdits. Faculté des Sciences, AMU Licence d Informatique Réseau et Communication Jeudi 10 janvier 2013 Durée 2h UE SIN5U3 Sites Luminy et Aix Notes de Cours/TD/TP autorisées; autres documents, calculettes, ordinateurs

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Objectifs de ce cours. Introduction au langage C - Cours 4. Procédures. Exemple de procédure. Analyse de problème.

Objectifs de ce cours. Introduction au langage C - Cours 4. Procédures. Exemple de procédure. Analyse de problème. 1/30 Objectif de ce cours 2/30 Objectifs de ce cours Introduction au langage C - Cours 4 Girardot/Roelens Septembre 2013 Analyse de problème I décomposer un traitement complexe en traitements simples Concepts

Plus en détail

La programmation Impérative par le Langage C

La programmation Impérative par le Langage C La programmation Impérative par le Langage C 1. Introduction 1.1 Qu est-ce que la programmation impérative? Un programme est constitué de plusieurs lignes d instructions. Chaque instruction permet d effectuer

Plus en détail

Cours d Analyse, Algorithmique Elements de programmation

Cours d Analyse, Algorithmique Elements de programmation 1 de 33 Cours d Analyse, Algorithmique Elements de programmation Florent Hivert Mél : Florent.Hivert@lri.fr Adresse universelle : http://www.lri.fr/ hivert 2 de 33 Données et instructions Un programme

Plus en détail

TP7 : Fichiers. Programmation en C (LC4) Semaine du 10 mars 2007

TP7 : Fichiers. Programmation en C (LC4) Semaine du 10 mars 2007 TP7 : Fichiers Programmation en C (LC4) Semaine du 10 mars 2007 1 Fichiers : les bases Afin de pouvoir stocker des données, ou d exploiter des données déjà existantes, il est indispensable de pouvoir manipuler

Plus en détail

communication interprocessus

communication interprocessus communication interprocessus Novembre 2008 On examine deux autres moyens de communication interprocessus offerts par les systèmes autres que les tubes : file de message, mémoire partagés. Un dernier moyen

Plus en détail

Les chaînes de caractères

Les chaînes de caractères Les chaînes de caractères Dans un programme informatique, les chaînes de caractères servent à stocker les informations non numériques comme par exemple une liste de nom de personne ou des adresses. Il

Plus en détail

Les entrées et les sorties sont considérées comme des flots. Un flot est associé à un fichier ou à un périphérique.

Les entrées et les sorties sont considérées comme des flots. Un flot est associé à un fichier ou à un périphérique. Le langage C++ Master Actuariat Séance 5 : Les flots C++ - F.CHAKER- M1 Actuariat 2014/2015 1 Les entrées sorties en C++ Les entrées et les sorties sont considérées comme des flots. Un flot est associé

Plus en détail

Unité d enseignement Systèmes d exploitation Unix : Mise en œuvre du noyau Unix 1-ière Année Informatique et Mathématiques Appliquées

Unité d enseignement Systèmes d exploitation Unix : Mise en œuvre du noyau Unix 1-ière Année Informatique et Mathématiques Appliquées Unité d enseignement Systèmes d exploitation Unix : Mise en œuvre du noyau Unix 1-ière Année Informatique et Mathématiques Appliquées 1 Présentation générale TD-TP : Mémoire virtuelle 21 mai 2013 Le système

Plus en détail

Projet codage de texte

Projet codage de texte Formation ISN Professeurs de Terminale Denis Bouhineau, Éric Gaussier, Alexandre Termier, Cyril Labbé, Philippe Bizard, Anne Rasse, Jean-Marc Vincent UFR IM 2 AG email Jean-Marc.Vincent@imag.fr Formation

Plus en détail

UE1 : Architecture. Travaux Dirigés. Programmation de la liaison série. A. Programmation au niveau du composant

UE1 : Architecture. Travaux Dirigés. Programmation de la liaison série. A. Programmation au niveau du composant Licence Pro SIRI Année 2010 2011 UE1 : Architecture Travaux Dirigés Programmation de la liaison série A. Programmation au niveau du composant 1. Définition des adresses des différents registres Si l adresse

Plus en détail

Systèmes répartis : les Remote Procedure Calls p.1/25

Systèmes répartis : les Remote Procedure Calls p.1/25 Systèmes répartis : les Remote Procedure Calls Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine Systèmes répartis : les Remote Procedure Calls p.1/25 Les Remote Procedure Calls

Plus en détail

ISMIN 1A Programmation 1 : Examen de programmation C. Réponses. Partie 1. Questions ouvertes

ISMIN 1A Programmation 1 : Examen de programmation C. Réponses. Partie 1. Questions ouvertes ISMIN 1A Programmation 1 : Examen de programmation C Réponses Partie 1. Questions ouvertes 1. Soit la déclaration suivante, char tab[] = "". Que contient le tableau tab? Réponse : tab[0] = \0. tab est

Plus en détail

Programmation C++ (débutant)/les fichiers

Programmation C++ (débutant)/les fichiers Programmation C++ (débutant)/les fichiers 1 Programmation C++ (débutant)/les fichiers Généralité sur les fichiers La règle générale pour créer un fichier est la suivante : il faut l'ouvrir en écriture.

Plus en détail

Sujet d examen 1. Pratique du C. Novembre 2009

Sujet d examen 1. Pratique du C. Novembre 2009 Durée 1 h 30 Documents autorisés Sujet d examen 1 Pratique du C Novembre 2009 Introduction Écrivez lisiblement et n hésitez pas à commenter votre code en langage C. Vous ne pouvez utiliser que les fonctions

Plus en détail

ENSI. Visual C++ Initiation

ENSI. Visual C++ Initiation ENSI Visual C++ Initiation Tables des matières 1. LES MFC (MICROSOFT FOUNDATION CLASSES)...3 1.1 DÉFINITION... 3 1.2 L ESPACE DE TRAVAIL... 3 2. CRÉER UN NOUVEAU PROJET...5 2.1 ETAPE 1 : CHOISIR LE TYPE

Plus en détail

Hiver 2014 Génie informatique et génie logiciel Ecole Polytechnique de Montréal Chapitre 1-1

Hiver 2014 Génie informatique et génie logiciel Ecole Polytechnique de Montréal Chapitre 1-1 INF2610 Chapitre 1 : Concepts généraux Département de génie informatique et génie logiciel Hiver 2014 Ecole Polytechnique de Montréal Chapitre 1-1 Chapitre 1 - Concepts généraux Qu est ce qu un système

Plus en détail

Cours de système. Le système de gestion de fichiers. Sébastien Paumier

Cours de système. Le système de gestion de fichiers. Sébastien Paumier Cours de système Le système de gestion de fichiers Sébastien Paumier paumier@univ-mlv.fr Illustrations provenant du site http://tux.crystalxp.net/ 1 Rôle gérer l'organisation des fichiers et de l'arborescence

Plus en détail

Méthodologie de la programmation

Méthodologie de la programmation Méthodologie de la programmation Pablo Rauzy pablo rauzy @ univ-paris8 fr pablo.rauzy.name/teaching/mdlp UFR MITSIC / L1 informatique Séance e Aperçu du langage C : introduction Pablo Rauzy (Paris 8 /

Plus en détail

Principes de la programmation impérative

Principes de la programmation impérative Séquence d instructions Variables et types Types élaborés Procédures, arguments Gestion de la mémoire Langage compilé, interprété Principes de la programmation impérative Séquence d instructions Variables

Plus en détail

Cours Langage C. Passage de paramètres à la fonction main Pointeur de fonction Allocation dynamique

Cours Langage C. Passage de paramètres à la fonction main Pointeur de fonction Allocation dynamique Cours Langage C Passage de paramètres à la fonction main Pointeur de fonction Allocation dynamique I Passage de paramètres à la fonction main Tout exécutable C doit comporter une fonction main dont le

Plus en détail

1 : 1 er programmes & prise en main de l environnement

1 : 1 er programmes & prise en main de l environnement 1 : 1 er programmes & prise en main de l environnement 1 Introduction 1.1 Rappel : gestion d arborescence et de fichiers sous UNIX Pour la manipulation de répertoire et de fichier à partir d un terminal

Plus en détail

Les processus. Système L3, 2014-2015 1/39

Les processus. Système L3, 2014-2015 1/39 Les processus Système L3, 2014-2015 1/39 Les processus Processus = Instance d un programme en cours d exécution plusieurs exécutions de programmes plusieurs exécutions d un même programme plusieurs exécutions

Plus en détail

Processus. Identité d'un processus

Processus. Identité d'un processus Processus Processus: entité active du système 1 correspond à l'exécution d'un programme binaire 1 identifié de façon unique par son numéro : pid 1 possède 3 segments : 2 code, données et pile 1 Exécuté

Plus en détail

TP 5 : Entrées/Sorties, Fichiers, Chaînes de caractères

TP 5 : Entrées/Sorties, Fichiers, Chaînes de caractères TP 5 : Entrées/Sorties, Fichiers, Chaînes de caractères Objectifs : Maîtriser les entrées/sorties au clavier et à l écran ; Savoir manipuler les fichiers de données ; Savoir manipuler des chaînes de caractères.

Plus en détail

1 Création de processus : primitive fork()

1 Création de processus : primitive fork() O r s a y Travaux Pratiques n o 2 : Synchronisation DUT Informatique 2010 / 2011 Nom(s) : Groupe : Date : Objectifs : rappels sur la création de processus par la primitive fork() et synchronisation de

Plus en détail

Programmation Avancée en Langage C Séances de Travaux-Pratiques

Programmation Avancée en Langage C Séances de Travaux-Pratiques Programmation Avancée en Langage C Séances de Travaux-Pratiques Ph. Langevin Année Universitaire 2010 Contents 1 Préambule 2 2 Commandes de base 2 2.1 man................................ 2 2.2 Recherche.............................

Plus en détail

Chapitre 3 Systèmes de gestion de fichiers

Chapitre 3 Systèmes de gestion de fichiers Chapitre 3 Systèmes de gestion de fichiers Jean Privat Université du Québec à Montréal INF3172 Principes des systèmes d exploitation Automne 2011 Jean Privat (UQAM) 03 SGF INF3172 Automne 2011 1 / 1 Plan

Plus en détail

Formation Unix/Linux (6) Le Shell: programmation et écriture de scripts

Formation Unix/Linux (6) Le Shell: programmation et écriture de scripts Formation Unix/Linux (6) Le Shell: programmation et écriture de scripts Olivier BOEBION Mars 2004 1 Les expressions conditionnelles et les structures de contrôle 1.1 La commande test La commande interne

Plus en détail

Programmation des sockets de Berkeley en C

Programmation des sockets de Berkeley en C Programmation des sockets de Berkeley en C 26 février 2012 IUT de Lyon - La Doua - Département Informatique 1 Introduction aux sockets Généralités Description 2 Programmation des sockets en C Gestion de

Plus en détail

DUT Informatique Module Système S4 C Département Informatique 2009 / 2010. Travaux Pratiques n o 2 : Communication

DUT Informatique Module Système S4 C Département Informatique 2009 / 2010. Travaux Pratiques n o 2 : Communication iut ORSAY DUT Informatique Département Informatique 2009 / 2010 Travaux Pratiques n o 2 : Communication Nom(s) : Groupe : Date : Objectifs : rappels sur la création de processus par la primitive fork()

Plus en détail

Au moment de rendre votre travail, créer une archive au format *.zip (nom binôme 1 nom binôme 2.zip) contenant :

Au moment de rendre votre travail, créer une archive au format *.zip (nom binôme 1 nom binôme 2.zip) contenant : Travaux pratiques informatique Module Système d exploitation Année 2006-2007 TP N 3 : Mémoire Partagée Mathieu.Barcikowski@univ-savoie.fr Pierre.Hyvernat@univ-savoie.fr Cyril.Vachet@univ-savoie.fr 1. Objectifs

Plus en détail

Programmation Système et Réseau sous Unix

Programmation Système et Réseau sous Unix Programmation Système et Réseau sous Unix M. Billaud 18 Octobre 2002 Ce document est un support de cours pour les enseignements de Système et de Réseau. Il présente quelques

Plus en détail

Systèmes Informatiques TD 1: langage C entrées/sorties et la fonction main()

Systèmes Informatiques TD 1: langage C entrées/sorties et la fonction main() Systèmes Informatiques TD 1: langage C entrées/sorties et la fonction main() P. Bakowski bako@ieee.org Fonctions printf() et scanf() Les programmes en langages C ont besoin des fonctions qui permettent

Plus en détail

Les entrées sorties en C/C++

Les entrées sorties en C/C++ Les entrées sorties en C/C++ Dans ce chapitre, nous allons voir les fonctions d entrée/sortie du langage C++, extension du langage C. Écriture sur la sortie standard Fonction printf et opérateur

Plus en détail

SSL_METHOD : Cette structure contient un pointeur vers la méthode qui implémente une version du protocole SSL. Cette doit être créée avant SSL_CTX.

SSL_METHOD : Cette structure contient un pointeur vers la méthode qui implémente une version du protocole SSL. Cette doit être créée avant SSL_CTX. SSL_CTX : Une structure SSL_CTX doit être créée pour chaque application SSL (client ou serveur). Cette structure sauvegarde les valeurs par défaut qui seront héritées par les structures SSL. Elle détient

Plus en détail

MEUTER Cédric / LEVY Eythan. Université Libre de Bruxelles 23/09/2005

MEUTER Cédric / LEVY Eythan. Université Libre de Bruxelles 23/09/2005 Développement en C sous LINUX MEUTER Cédric / LEVY Eythan Université Libre de Bruxelles 23/09/2005 Développement en C sous LINUX p. 1 Comment écrire son programme? Principaux éditeurs : XEmacs Emacs vi

Plus en détail

TD 6 Architecture client/serveur (Socket)

TD 6 Architecture client/serveur (Socket) TD 6 Architecture client/serveur (Socket) Chaque machine (hôte) d un réseau informatique doit posséder une adresse la caractérisant. Par exemple, 19.168.60.5 est une adresse IP (réseau internet). Pour

Plus en détail

Communication par Signal - premiers pas

Communication par Signal - premiers pas Communication par Signal - premiers pas Quelques remarques sur la gestion des signaux UNIX ================================================== Un premier problème se pose lorsque plusieurs exemplaires d

Plus en détail