2.Les signaux et les alarmes
|
|
- Laurence Bureau
- il y a 8 ans
- Total affichages :
Transcription
1 Travaux pratique d'informatique Temps Réel,, TP Les signaux et les alarmes 2.1.Objectifs Cette séance permettra de découvrir un autre moyen de faire communiquer des processus : l'utilisation des signaux. Cette fois ce sont des notifications (signaux) et non des données qui sont transmises. Les manipulations à faire sont notamment : envoi et réception de signaux; modification du comportement du processus à la réception d'un signal. Les alarmes et les minuteurs permettront d'intégrer la notion de temps par la génération d'un signal particulier (e.g. SIGALRM) périodiquement et/ou après un temps déterminé. 2.2.Généralités sur les signaux Les signaux sont des notifications générées au sein d'un processus pour l'avertir de l'occurrence d'un événement déterminé. Les signaux sont produits soit manuellement (envoi explicite d'un signal d'un processus à un autre), soit par le système (par exemple lors d'une violation d espace mémoire, d'une erreur arithmétique, d'instructions illicites). Les macros courantes relatives aux signaux sont définies dans le fichier d'en tête <signal.h>. En annexe les principaux signaux sont énumérés. a) Envoi d'un signal La fonction suivante est utilisée pour envoyer un signal : int kill(int pid, int n_signal) Le système envoie le signal n_signal au processus d'identifiant pid. Le paramètre n_signal est une constante entière soit définie par l'utilisateur, soit choisie parmi celles du système relative aux signaux (par exemple SIGKILL ou SIGUSR1). Si pid vaut 0, le signal est alors envoyé à tous les processus de son groupe. Cet appel renvoie 0 en cas de réussite et 1 sinon (auquel cas il affecte la variable système errno qui permet la génération automatique d'un message d'erreur, à l'aide de perror). Par exemple, pour envoyer le signal SIGUSR1 au processus de pid 7232: if(kill(7232, SIGUSR1) == 1) { perror("erreur"); } Remarque : un signal peut être envoyé à partir du terminal (voir la commande kill). b)comportement à la réception d'un signal Par défaut, la réception d'un signal est associée à un comportement donné (différent selon le type de signal). Un programme peut modifier ce comportement par défaut à l'aide de la fonction sigaction et spécifier un déroutage, c'est à dire un appel à une fonction spécifique lors de la réception d'un signal. Cet appel n'est ni synchronisé avec l'envoi du signal, ni bloquant. Une fois ce nouveau comportement défini, lorsque dans la suite du programme, le processus reçoit le signal, il interrompt son exécution «normale» et fait appel à la fonction de déroutage. Celle ci réalise un certain nombre d'opérations après quoi le processus reprend son exécution à l'endroit où il a été interrompu.
2 Travaux pratique d'informatique Temps Réel,, TP 2 2 int sigaction(int n_signal,const struct sigaction * nouveau_comportement,struct sigaction * ancien_comportement) Cette fonction reçoit en paramètre, le numéro du signal (n_signal) auquel on souhaite définir un nouveau comportement. Le deuxième paramètre est une structure sigaction spécifie le nouveau comportement. L'ancien comportement peut éventuellement être récupéré dans une structure de même type (sigaction) passée comme troisième paramètre. Cette structure sigaction, définie dans la librairie signal.h, reprend principalement trois informations utiles: struct sigaction { sighandler_t sa_handler; sigset_t sa_mask; int sa_flags;... }; sa_handler spécifie la fonction à exécuter en cas de réception du signal et peut prendre une des trois valeurs suivantes: SIG_DFL : pointeur vers la fonction appelée par défaut lors de la réception du signal; SIG_IGN : pointeur vers une fonction système qui permet d'ignorer le signal (sauf pour les signaux SIGKILL et SIGSTOP qui ne peuvent pas être ignorés); fonction : fonction définie par le programmeur. sa_mask correspond à un ensemble de signaux qui seront bloqués pendant toute l'exécution de la fonction de déroutage. Cet ensemble de signaux peut être manipulé à l'aide des appels suivants: sigemptyset(sigset_t * ensemble); // Vide l'ensemble de signaux sigfillset(sigset_t * ensemble); // Remplit l'ensemble avec tous les signaux connus sigaddset(sigset_t * ensemble, int n_signal); // Ajoute le signal n_signal à l'ensemble sigdelset(sigset_t * ensemble, int n_signal); // Retire le signal n_signal de l'ensemble sigismember(sigset_t * ensemble, int n_signal); // Test l'appartenance de n_signal à l'ensemble sa_flags permet de spécifier un ensemble d'options de configuration qui ne seront pas décrites ici (on fera donc sa_flags=0). L'exemple ci dessous montre le déroutage vers une fonction deroute lors de la réception du signal SIGUSR1: struct sigaction sa; sa.sa_handler = deroute; sigfillset(&sa.sa_mask); // Bloquer tous les signaux // Aucune option particulière // Si récupérer l'ancien comportement ne nous // intéresse pas, on peut placer le troisième // paramètre à NULL Après cet appel, si le processus reçoit un signal SIGUSR1, il arrête son traitement en cours pour sa.sa_flags=0; sigaction(sigusr1, &sa, NULL); exécuter la fonction deroute. 2.3.Généralités sur les alarmes et les minuteurs a) Les alarmes Les signaux SIGALRM, SIGVTALRM et SIGPROF sont des signaux particuliers qui sont gérés en fonction du temps. Une alarme peut être mise en place à l'aide de la fonction suivante : unsigned int alarm(unsigned int s)
3 Travaux pratique d'informatique Temps Réel,, TP 2 3 Elle possède les caractéristiques suivantes : elle provoque l'émission d'un signal SIGALRM après s secondes; elle renvoie le nombre de secondes qui restaient avant le déclenchement de l'éventuelle alarme précédemment définie; si s vaut 0, l'alarme en cours est annulée; le traitement de l'alarme doit être défini (à l'aide de la fonction signal), sinon le processus est tué à la réception de SIGALRM. b)les minuteurs La gestion du temps dans les processus peut être réalisée plus précisément avec les fonctions setitimer et getitimer. Le temps est alors défini en secondes et microsecondes, qu'il s'agisse du temps réel (elapsed time) ou du temps effectif (temps d'exécution du processus). #include <sys/time.h> setitimer(int which, struct itimerval *value, struct itimerval *ovalue) getitimer(int which, struct itimerval *ovalue) La première fonction installe un minuteur, alors que la seconde en récupère les valeurs. Le premier paramètre which spécifie le type de temps concerné et conditionne le type de signal émis. Valeur de which Type de temps Description Signal émis ITIMER_REAL temps réel Temps réel sans tenir compte de l'exécution du processus (temps écoulé) SIGALRM ITIMER_VIRTUAL temps virtuel Temps évalué uniquement lorsque le processus tourne (temps CPU propre) SIGVTALRM ITIMER_PROF temps virtuel et système Temps évalué lorsque le processus tourne ou lorsque le système exécute des tâches pour le compte du processus (temps CPU global) SIGPROF La durée de l'alarme peut être spécifiée à l'aide du paramètre value. Le paramètre ovalue permet d'obtenir la durée restante de l'alarme précédemment fixée (si cette valeur n'est pas intéressante dans le programme, ce paramètre peut être NULL). Les paramètres value et ovalue sont définis sur base d'une structure itimerval. Celle ci contient les valeurs suivantes : struct itimerval { struct timeval it_interval; struct timeval it_value; } // durée entre 2 alarmes // durée avant la première alarme (offset) Chaque structure timeval permet de spécifier le nombre de secondes et de microsecondes à compter : struct timeval { long tv_sec; long tv_usec; } // secondes // microsecondes Si it_value est NULL, le minuteur est annulé. Si it_interval est NULL, le prochain déclenchement est annulé.
4 Travaux pratique d'informatique Temps Réel,, TP Exercice 1 La réalisation de cet exercice se fera en plusieurs étapes: 1. Créer un programme qui tourne indéfiniment et qui affiche en boucle un message quelconque toutes les secondes. 2. Tester les effets de CTRL C et CTRL Z (il est important de vérifier à chaque fois l'état des processus avec la commande ps). 3. Modifier le programme pour qu'il ignore les CTRL C (correspond à la génération d'un signal SIGINT). 4. Modifier le programme pour qu'il affiche un message déterminé toutes les 5 secondes en faisant usage de la fonction alarm(). Remarque : il est possible de tuer un processus en utilisant la commande kill ou killall. 2.5.Exercice 2 Écrire un programme qui réalise un compte à rebours de précision. Il reçoit en paramètre le nombre (entier) de secondes qu'il doit décompter et affiche la valeur du compteur tous les dixièmes de seconde jusqu'à expiration. Par exemple : $./rebours Exercice 3 Un programme père crée un fils. Le fils boucle indéfiniment en demandant à l'utilisateur s'il veut envoyer un signal à son père. Lorsque l'utilisateur le souhaite, le fils envoie un signal SIGUSR1 au père qui demande au fils de se terminer. Par exemple: Fils Envoyer un signal? (y/n) n Fils Envoyer un signal? (y/n) y Pere J'ai recu un signal, je tue mon fils 2.7.Exercice 4 Écrire un programme qui crée deux fils, lit des entiers non nuls et transmet les entiers négatifs au fils de gauche et les entiers positifs au fils de droite en utilisant un seul tube. Lorsqu'il reçoit 0, le père signale aux deux fils la fin de la saisie et ces derniers affichent la somme des nombres reçus. Indications: le signal SIGUSR1 sera envoyé pour demander au fils de lire dans le tube; le signal SIGUSR2 permettra de demander au fils d'afficher la somme et de se terminer. 2.8.Correction de codes sources a) Le fichier err1.c contient un code qui devrait créer un second processus pour que le fils déclenche après 5 secondes une alarme qui provoque l'affichage d'un message et l'envoie du signal SIGUSR1 au père. Lorsque le père reçoit le signal, il doit afficher un message et s'achever. Cependant, le programme rend rapidement la main sans afficher aucun message.
5 Travaux pratique d'informatique Temps Réel,, TP 2 5 Corrigez l'erreur. b)le fichier err2.c contient un code qui devrait afficher et décrémenter la valeur, passée en argument, d'une variable de 0,1 tous les dixièmes de secondes. Le programme s'arrêterait lorsque la variable arrive à 0. Cependant, le programme n'affiche rien et ne s'arrête pas. Corrigez l'erreur. c) Le fichier err3.c contient un code qui devrait créer un second processus pour que le fils demande en boucle de valider l'extinction du père. Lorsque l'utilisateur valide, le fils envoie un signal au père pour que celui ci «tue» le fils et s'achève. Cependant, le programme ne s'achève pas. Corrigez l'erreur.
6 Travaux pratique d'informatique Temps Réel,, TP Annexes Noms de signaux Description Particularités SIGABRT SIGALRM Abandon Alarme SIGFPE Erreur arithmétique Synchrone SIGHUP SIGILL SIGINT Terminaison du processus leader de session ou déconnexion modem Instruction illégale Interruption du terminal SIGKILL Signal de terminaison Non déroutable SIGPIPE SIGQUIT Écriture sur un tube sans lecteur Terminaison du terminal SIGSEGV Adressage mémoire invalide Synchrone SIGTERM SIGUSR1 SIGUSR2 SIGCHLD SIGCONT Terminaison Signal 1 défini par l utilisateur Signal 2 défini par l utilisateur Signal envoyé aux processus dont un fils s'est terminé Reprise du processus SIGSTOP Suspension du processus Non déroutable SIGTSTP SIGTTIN SIGTTOU Émission vers le terminal du caractère de terminaison Écriture sur le terminal pour un processus d arrière plan Lecture du terminal pour un processus d arrière plan 2.10.Références bibliographiques 1. Informatique temps réel Pierre Manneback, Faculté Polytechnique de Mons. 2. Informatique de base Notes de Laboratoire Mohammed Benjelloun Faculté Polytechnique de Mons. 3. Programmation Linux Neil Matthew, Richard Stones Eyrolles Programmation système en C sous Linux Christophe Blaess Éditions Eyrolles, 2005.
ENSP Strasbourg (Edition 2009-2010) Les Systèmes Temps Réels - Ch. DOIGNON. Chapitre 3. Mise en œuvre : signaux, gestion du temps et multi-activités
Chapitre 3 Mise en œuvre : signaux, gestion du temps et multi-activités 77 GENERALITES SUR LES SIGNAUX Un signal est une information de contrôle (requête) transmise à un processus par un autre processus
Plus en détailLe traitement du temps
Programmation Système Mesure Horloges Sommeil Mise en forme Fabrice Harrouet École Nationale d Ingénieurs de Brest harrouet@enib.fr http://www.enib.fr/~harrouet/ enib, F.H... 1/30 Intérêt Cadencer les
Plus en détailCours de S.E. les Signaux
Cours de S.E. les Signaux A. Dragut Univ. Aix-Marseille, IUT Aix en Provence 2012 A. Dragut Cours de S.E. les Signaux 1 / 76 Plan notion noms et numéros kill() effets de l arrivée des signaux Dynamique
Plus en détailLes processus 2/54. Qu est-ce qu un processus? 3(6)/54. Se souvenir 1(1)/54. Le système de fichiers (exemple du disque dur)
Se souvenir 1(1)/54 Le système de fichiers (exemple du disque dur) Qu est-ce qu un processus? 3(3)/54 Les caches (inodes et blocks) Accès à un fichier : double indirection Compteurs de références : Les
Plus en détailProgrammation 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étailLEs processus coopèrent souvent pour traiter un même problème. Ces
Chapitre 5 Communication interprocessus LEs processus coopèrent souvent pour traiter un même problème. Ces processus s exécutent en parallèle sur un même ordinateur (monoprocesseur ou multiprocesseurs)
Plus en détailCours 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étailCommunication Interprocessus
Communication Interprocessus Introduction Segments de données et fichiers communs Les signaux Les tubes de communication d UNIX Tubes anonymes Tubes nommés Les tubes de communication de Windows Tubes anonymes
Plus en détailIntroduction aux Systèmes et aux Réseaux
Introduction aux Systèmes et aux Réseaux Cours 5 Processus D après un cours de Julien Forget (univ Lille1) Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@univ-lyon1.fr Master CCI -
Plus en détailCours 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étailPlan global. Programmation système II. Socket du domaine UNIX. Plan. Socket UNIX, Terminaux, Async IO, Mémoire, ELF.
Programmation système II Socket UNIX, Terminaux, Async IO, Mémoire, ELF Timothée Ravier LIFO, INSA-CVL, LIPN 1 re année cycle ingénieur STI 2013 2014 Plan global 1 Socket UNIX 2 Terminaux 3 Autres modèles
Plus en détailLe système GNU/Linux IUP NTIC2-1013 - 17/11/05
Capocchi Laurent Doctorant en Informatique capocchi@univ-corse.fr http://spe.univ-corse.fr/capocchiweb Objectifs Comprendre les notions de noyau Linux et des modules. Le système GNU/Linux IUP NTIC2-1013
Plus en détailDUT Informatique Module Système S4 C Département Informatique 2009 / 2010. Travaux Pratiques n o 5 : Sockets Stream
iut ORSAY DUT Informatique Département Informatique 2009 / 2010 Travaux Pratiques n o 5 : Sockets Stream Nom(s) : Groupe : Date : Objectifs : manipuler les primitives relatives à la communication par sockets
Plus en détail03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing
3/4/27 Programmation Avancée Multimédia Multithreading Benoît Piranda Équipe SISAR Université de Marne La Vallée Besoin Programmes à traitements simultanés Réseau Réseau Afficher une animation en temps
Plus en détailREALISATION d'un. ORDONNANCEUR à ECHEANCES
REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6
Plus en détailProgrammation 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étailLes messages d erreur d'applidis Client
Fiche technique AppliDis Les messages d erreur d'applidis Client Fiche IS00313 Version document : 1.00 Diffusion limitée : Systancia, membres du programme Partenaires AppliDis et clients ou prospects de
Plus en détailAnalyse de sécurité de logiciels système par typage statique
Contexte Modélisation Expérimentation Conclusion Analyse de sécurité de logiciels système par typage statique Application au noyau Linux Étienne Millon UPMC/LIP6 Airbus Group Innovations Sous la direction
Plus en détailExécutif temps réel Pierre-Yves Duval (cppm)
Exécutif temps réel Pierre-Yves Duval (cppm) Ecole d informatique temps réel - La Londes les Maures 7-11 Octobre 2002 Plan Exécutif Tâches Evénements et synchronisation Partage de ressources Communications
Plus en détailTravaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation
Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des
Plus en détail1. Introduction... 2. 2. Création d'une macro autonome... 2. 3. Exécuter la macro pas à pas... 5. 4. Modifier une macro... 5
1. Introduction... 2 2. Création d'une macro autonome... 2 3. Exécuter la macro pas à pas... 5 4. Modifier une macro... 5 5. Création d'une macro associée à un formulaire... 6 6. Exécuter des actions en
Plus en détailCours de Systèmes d Exploitation
Licence d informatique Synchronisation et Communication inter-processus Hafid Bourzoufi Université de Valenciennes - ISTV Introduction Les processus concurrents s exécutant dans le système d exploitation
Plus en détailProgrammation système
Programmation système Christine Solnon Table des matières 1 Les processus 2 1.1 Etats d un processus................................... 2 1.2 Descripteur d un processus (PCB)...........................
Plus en détailMise en service HORUS version HTTP
HTTP 1 / 8 Mise en service HORUS version HTTP Date Indice Nature des modifications Rédaction Nom/visa 03/05/06 A Première rédaction XI Vérification Nom/visa Approbation Nom/visa HTTP 2 / 8 SOMMAIRE 1)
Plus en détailArguments 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étailSéance n o 5 : Alternatives, gestion des utilisateurs et des processus
Licence Professionnelle ASRALL Linux - Installation Séance n o 5 : Alternatives, gestion des utilisateurs et des processus 1 Alternatives sous Debian Il arrive fréquemment que plusieurs logiciels puissent
Plus en détailIN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C
IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en
Plus en détailQu'est-ce qu'un processus: Définitions
Version septembre 2013 N 187 Qu'est-ce qu'un processus: Définitions Instruction = indécomposable et indivisible Processeur =... Processus = suite temporelle d'exécutions d'instructions Processus = exécution
Plus en détailDans le chapitre 1, nous associions aux fichiers ouverts des descripteurs de fichiers par lesquels nous accédions aux fichiers.
I Présentation : Dans le chapitre 1, nous avons vu comment utiliser les appels-systèmes de bas niveau pour créer et accéder à des fichiers sur le disque. Nous avons notamment mis en évidence leur dépouillement
Plus en détailTravail collaboratif avec OpenOffice Texte (Writer)
Travail collaboratif avec OpenOffice Texte (Writer) Fichier «OOo - Travail collaboratif.odt» Pascal Arnould - Version du 04/02/2009 Page 1/9 Table des matières Présentation du problème : Concevoir un document
Plus en détailSéquence de découverte de SparkAngels Logiciel d entraide numérique
Contributeurs : GUILLEZ Frédéric BANDINI Gérard DENIGOT Michaël FOLCH Janine PERILLAUD Stéphanie PLATEL Carl REANT Franck I. Matériel et préparation Pré requis matériel et logiciel : Ordinateur avec connexion
Plus en détail1 Mesure de la performance d un système temps réel : la gigue
TP TR ENSPS et MSTER 1 Travaux Pratiques Systèmes temps réel et embarqués ENSPS ISV et Master TP1 - Ordonnancement et communication inter-processus (IPC) Environnement de travail Un ordinateur dual-core
Plus en détailTélécom Nancy Année 2013-2014
Télécom Nancy Année 2013-2014 Rapport 1A Ajout du langage C dans la Programmer's Learning Machine GIANNINI Valentin Loria 615, rue du Jardin Botanique 54600, Villers-Lès-Nancy Maître de stage : QUINSON
Plus en détailTP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts
E3FI ESIEE Paris Systèmes et scripts B. Perret TP : Shell Scripts 1 Remarque générale Lorsque vous cherchez des informations sur Internet, n'oubliez pas que langage de shell script que nous avons vu correspond
Plus en détailNote : Ce tutoriel a été réalisé sur GNU/Linux (Ubuntu) avec un serveur LAMP installé en local.
Tutoriel d'utilisation de Chamilo Chamilo 1.8.6.2-1.8.7 Version Administrateur Note : Ce tutoriel a été réalisé sur GNU/Linux (Ubuntu) avec un serveur LAMP installé en local. Table des matières Le serveur...2
Plus en détailProgrammation Objet - Cours II
Programmation Objet - Cours II - Exercices - Page 1 Programmation Objet - Cours II Exercices Auteur : E.Thirion - Dernière mise à jour : 05/07/2015 Les exercices suivants sont en majorité des projets à
Plus en détailTP3 : Manipulation et implantation de systèmes de fichiers 1
École Normale Supérieure Systèmes et réseaux Année 2012-2013 TP3 : Manipulation et implantation de systèmes de fichiers 1 1 Répertoire de travail courant Le but de l exercice est d écrire une commande
Plus en détail1 - Clients 2 - Devis 3 - Commandes 4 - Livraisons 5 - Factures 6 - Avoirs 7 - Modèles
1 - Clients 2 - Devis 3 - Commandes 4 - Livraisons 5 - Factures 6 - Avoirs 7 - Modèles Page 1/16 1 - Clients Un client est un tiers qui vous passe des commandes, où pour lequel vous faîtes des devis, des
Plus en détailDE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51
DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de
Plus en détailVersion default Titre : Procédure POURSUITE Date : 07/04/2009 Page : 1/10 Responsable : Clé : U4.11.03 Révision : 496
Titre : Procédure POURSUITE Date : 07/04/2009 Page : 1/10 Procédure POURSUITE 1 But Poursuivre une étude à partir de la sauvegarde au format JEVEUX ou au format HDF de sa base 'GLOBALE'. La syntaxe apparemment
Plus en détail1.6- Génération de nombres aléatoires
1.6- Génération de nombres aléatoires 1- Le générateur aléatoire disponible en C++ 2 Création d'un générateur aléatoire uniforme sur un intervalle 3- Génération de valeurs aléatoires selon une loi normale
Plus en détail1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.
1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this
Plus en détail3IS - 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étailStockage du fichier dans une table mysql:
Stockage de fichiers dans des tables MYSQL avec PHP Rédacteur: Alain Messin CNRS UMS 2202 Admin06 30/06/2006 Le but de ce document est de donner les principes de manipulation de fichiers dans une table
Plus en détailProcessus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace
Processus 1) Contexte 2) Modèles de Notion de Points de vue Modèle fourni par le SX Opérations sur les 3) Gestion des Représentation des Opérations 4) Ordonnancement des Niveaux d ordonnancement Ordonnancement
Plus en détailINITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
Plus en détailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailAtelier C TIA Portal CTIA06 : programmation des automates S7-300 Blocs d organisation
Atelier C TIA Portal CTIA06 : programmation des automates S7-300 Blocs d organisation CTIA06 Page 1 1. Types de blocs de programme L automate met à disposition différents types de blocs qui contiennent
Plus en détailLe transfert de fichiers avec Filezilla Initiation à l'utilisation d'un client FTP
Le transfert de fichiers avec Filezilla Initiation à l'utilisation d'un client FTP Présentation Ce tutoriel explique comment transférer les fichiers du site Web créé sur votre ordinateur personnel vers
Plus en détailINTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores
INTRODUCTION AUX SYSTEMES D EXPLOITATION TD2 Exclusion mutuelle / Sémaphores Exclusion mutuelle / Sémaphores - 0.1 - S O M M A I R E 1. GENERALITES SUR LES SEMAPHORES... 1 1.1. PRESENTATION... 1 1.2. UN
Plus en détailGuide de démarrage rapide Centre de copies et d'impression Bureau en Gros en ligne
Guide de démarrage rapide Centre de copies et d'impression Bureau en Gros en ligne Aperçu du Centre de copies et d'impression Bureau en Gros en ligne Pour accéder à «copies et impression Bureau en Gros
Plus en détailLibreOffice Calc : introduction aux tableaux croisés dynamiques
Fiche logiciel LibreOffice Calc 3.x Tableur Niveau LibreOffice Calc : introduction aux tableaux croisés dynamiques Un tableau croisé dynamique (appelé Pilote de données dans LibreOffice) est un tableau
Plus en détailDOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin
DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin Objectifs : Apprendre à l apprenant à lancer un serveur local «Apache» Apprendre à l'apprenant à lancer un serveur MySQL
Plus en détailAutomatisation d'une Facture 4. Liste Déroulante Remises Case à cocher Calculs
Dans la série Les tutoriels libres présentés par le site FRAMASOFT Automatisation d'une Facture 4 Liste Déroulante Remises Case à cocher Calculs Logiciel: Version: Licence: Site: OpenOffice.org Calc :
Plus en détailGuide de démarrage rapide
Guide de démarrage rapide 1 Sommaire 1.Préambule...3 2.Démarrage du programme...4 3.Prise en main...6 3.1.Les saisies...6 3.2.Les listes...10 4.Gestion courante...13 4.1.Saisie d'un devis...13 4.2.Transformation
Plus en détailIntroduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr
Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr Mars 2002 Pour Irène et Marie Legal Notice Copyright c 2002 Patrick Cégielski Université
Plus en détailUEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.
UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases
Plus en détailEXCEL PERFECTIONNEMENT CALCULS AVANCES
TABLE DES MATIÈRES FORMATS... 2 Formats personnalisés... 2 ADRESSAGE DE CELLULES... 3 relatif & absolu Rappel... 3 Adressage par nom... 4 Valider avec la touche Entrée... 4 FONCTIONS SI-ET-OU... 6 LA FONCTION
Plus en détailgestion des processus La gestion des processus
1 La Pseudo parallélisme 2 Plusieurs programmes en mémoire Le processeur exécute les instructions tantôt pour l'un tantôt pour l'autre P1 P2 programme de supervision Vu de l'utilisateur => programmes en
Plus en détailUnix : Programmation Système
Département Informatique Année Universitaire 2004/2005 1 Compilation et programmation...6 1.1 Préparation du fichier source...6 1.1.1 L'éditeur vi (mode console)...6 1.1.2 L'éditeur nedit ou xedit (sous
Plus en détailUE Programmation Impérative Licence 2ème Année 2014 2015
UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative
Plus en détailMessages d'erreurs. Redémarrez votre PC en cliquant sur Démarrer, en sélectionnant ensuite Arrêter puis en cochant Redémarrer
Messages d'erreurs Erreur 602 Vous essayez de vous connecter à Internet. L'erreur n 602 apparaît et il vous est impossible de vous connecter. L'erreur 602 est souvent issue de l'utilisation de l'accès
Plus en détailCompression de Données - Algorithme de Huffman Document de Conception
ROLLET Samuel SALLE Jennifer Compression de Données - Algorithme de Huffman Document de Conception Projet d'algorithmique et Structure des Données 1 SOMMAIRE 1. Domaine d application....4 1.1 Objectifs
Plus en détailCahier des charges. driver WIFI pour chipset Ralink RT2571W. sur hardware ARM7
Cahier des charges driver WIFI pour chipset Ralink RT2571W sur hardware ARM7 RevA 13/03/2006 Création du document Sylvain Huet RevB 16/03/2006 Fusion des fonctions ARP et IP. SH Modification des milestones
Plus en détailCours d initiation à la programmation en C++ Johann Cuenin
Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................
Plus en détailSHERLOCK 7. Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5
SHERLOCK 7 Version 1.2.0 du 01/09/09 JAVASCRIPT 1.5 Cette note montre comment intégrer un script Java dans une investigation Sherlock et les différents aspects de Java script. S T E M M E R I M A G I N
Plus en détailApplication de lecture de carte SESAM-Vitale Jeebop
Application de lecture de carte SESAM-Vitale Jeebop Présentation Le module de lecture de carte SESAM-Vitale Jeebop est une application Java Web Start, c'est à dire une application Java qui se télécharge
Plus en détailLe 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étailMiddleware eid v2.6 pour Windows
Manuel d'utilisation Middleware eid v2.6 page 1 de 19 Table des matières Introduction...3 Installation...4 Les éléments du logiciel eid...6 Module pour la zone de notification dans la barre des tâches...7
Plus en détailCOPIER, COUPER, COLLER, SELECTIONNER, ENREGISTRER.
COPIER, COUPER, COLLER, SELECTIONNER, ENREGISTRER. 1. Comment déplacer ou copier un fichier sur Windows Vous aurez régulièrement besoin de déplacer ou dupliquer des fichiers sur votre ordinateur. Par exemple
Plus en détailGuide d utilisation. Gamme Telium. Application AMEX EMV 722 02 5x
Guide d utilisation Gamme Telium Application AMEX EMV 722 02 5x Ingenico 28/32 boulevard de Grenelle 75015 Paris Tel. 33(0)1 58 01 80 00 Fax. 33(0)1 58 01 91 35 ingenico@ingenico.com Guide d Utilisation
Plus en détailÉcole Polytechnique de Montréal. Département de Génie Informatique et Génie Logiciel. Cours INF2610. Contrôle périodique.
École Polytechnique de Montréal Département de Génie Informatique et Génie Logiciel Cours INF2610 Contrôle périodique Automne 2013 Date : 11 octobre 2013 de 18h à 20h Professeur : Boucheneb Hanifa Documentation
Plus en détailFoire aux Questions Note: Les réponses aux questions correspondent à la version 3.73.2212 Mise en route
Foire aux Questions Note: Les réponses aux questions correspondent à la version 3.73.2212 Mise en route Q. Je crois que le logiciel du SISA serait un bon choix pour mon organisation. Quels sont les étapes
Plus en détailGestion des utilisateurs : Active Directory
Gestion des utilisateurs : Active Directory 1. Installation J'ai réalisé ce compte-rendu avec une machine tournant sous Windows 2008 server, cependant, les manipulations et les options restent plus ou
Plus en détailFAQ : Procédure d'import de fichiers dwg/pdf/dxf
FAQ : Procédure d'import de fichiers dwg/pdf/dxf Ceci est une procédure complète qui vous sera utile lors de l'import de vos fichiers dwg/pdf/dxf. La plupart du temps, les problèmes rencontrés lors d'un
Plus en détailVersion française. Serie de serrures SELO SELO-B SELO-BR
Version française Serie de serrures SELO SELO-B SELO-BR Sicherheitsprodukte GmbH Classe de serrures et champ d application : Les serrures électroniques SELO-B et SELO-BR ont été conçues selon les prescriptions
Plus en détailGuide d'utilisation EMP Monitor V4.21
Guide d'utilisation EMP Monitor V4.21 Signification des symboles utilisés 1 Le tableau suivant montre les symboles utilisés dans ce manuel, et indique leur signification. Attention Signale un risque de
Plus en détailAide à l'utilisation de l'application 'base de données communales' intégrée à la plate-forme PEGASE. Interface 'Front-Office'
DREAL POITOU CHARENTE Aide à l'utilisation de l'application 'base de données communales' intégrée à la plate-forme PEGASE Interface 'Front-Office' Base de données communales Poitou- Charentes Alkante 2013
Plus en détailRappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme
Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation
Plus en détailTP 1 : prise en main de Windows. TP 1 : prise en main de Windows
TP 1 : prise en main de Windows TP 1 : prise en main de Windows Objectif du TP : prise en main de Windows manipulation de l'environnement utilisation de quelques logiciels de récupération de données Introduction
Plus en détailCloner un disque dur
Cloner un disque dur Préambule: J'ai testé beaucoup d'outils disponibles sur le Web, pour cloner des disques dur et/ou des partitions, dans de nombreux cas et sur de nombreuses machines, et avec de nombreux
Plus en détailMANUEL. de l application «CdC Online» pour Windows. Table des matières
MANUEL de l application «CdC Online» pour Windows Version 2.0 juin 2015 Table des matières 1 Introduction... 2 2 Compatibilité... 2 3 Téléchargement et installation... 2 4 Configuration... 6 5 Fonctionnement
Plus en détailCours 14 Les fichiers
Cours 14 Les fichiers F. Gayral 1 Fichier : définition /media/travaux/documents/fgenseignement/java1/courstpsfgfc/14-fichiers/voirtypefichiers Fichier = ensemble d informations codées et stockées sur une
Plus en détaile-secure guide d'utilisation
e-secure guide d'utilisation V 06 2010 1 Pour tout renseignement, contactez le SAV au 0 825 041 040 (0,15 /min) FICHE N 1 : PREMIERE UTILISATION 1. Connectez votre clé e-secure : - sur le socle USB contenu
Plus en détailUE C avancé cours 1: introduction et révisions
Introduction Types Structures de contrôle Exemple UE C avancé cours 1: introduction et révisions Jean-Lou Desbarbieux et Stéphane Doncieux UMPC 2004/2005 Introduction Types Structures de contrôle Exemple
Plus en détailInstallation du SLIS 4.1
Documentation SLIS 4.1 Installation du SLIS 4.1 1.3RC2 CARMI PÉDAGOGIQUE - ÉQUIPE «INTERNET» DE L'ACADÉMIE DE GRENOBLE juillet 2013 Table des matières Objectifs 5 I - Prérequis 7 A. Préconisations matérielles...7
Plus en détailCRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE
CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE 2 ème partie : REQUÊTES Sommaire 1. Les REQUÊTES...2 1.1 Créer une requête simple...2 1.1.1 Requête de création de listage ouvrages...2 1.1.2 Procédure de
Plus en détailOPTENET DCAgent 2.01. Manuel d'utilisateur
OPTENET DCAgent 2.01 Manuel d'utilisateur SOMMAIRE 1. INTRODUCTION...1 2. INSTALLATION...2 3. ÉTABLISSEMENT DES PERMISSIONS...4 Pour de plus amples informations, reportez-vous aux annexes «Conditions requises
Plus en détailMédiathèque DASTRI Mentions légales
Médiathèque DASTRI Mentions légales I. Objet... 1 II. Définitions... 1 III. Inscription et accès Utilisateur et Professionnel... 2 IV. Utilisation des services de la médiathèque par les Utilisateurs...
Plus en détailObjectifs de la formation : Savoir réaliser la maintenance et l'administration de premier niveau sur un réseau d'établissement SCRIBE.
Scribe : Formation Référent TICE Objectifs de la formation : Savoir réaliser la maintenance et l'administration de premier niveau sur un réseau d'établissement SCRIBE. Savoir déterminer la cause d'un problème
Plus en détailPROJET ALGORITHMIQUE ET PROGRAMMATION II
PROJET 1 ALGORITHMIQUE ET PROGRAMMATION II CONTENU DU RAPPORT A RENDRE : o Fiche signalétique du binôme o Listing des différents fichiers sources o CD sources o Il sera tenu compte de la présentation du
Plus en détailInstallation et Réinstallation de Windows XP
Installation et Réinstallation de Windows XP Vous trouvez que votre PC n'est plus très stable ou n'est plus aussi rapide qu'avant? Un virus a tellement mis la pagaille dans votre système d'exploitation
Plus en détailAdministration du site (Back Office)
Administration du site (Back Office) A quoi sert une interface d'administration? Une interface d'administration est une composante essentielle de l'infrastructure d'un site internet. Il s'agit d'une interface
Plus en détailLes arbres binaires de recherche
Institut Galilée Année 2010-2011 Algorithmique et arbres L2 TD 6 Les arbres binaires de recherche Type en C des arbres binaires (également utilisé pour les ABR) : typedef struct noeud_s { struct noeud_s
Plus en détailGuide de l'utilisateur de Telemarketing. Version 6.0 SP1
Guide de l'utilisateur de Telemarketing Version 6.0 SP1 2013 Pitney Bowes Software Inc. Tous droits réservés. Ce document peut contenir des informations confidentielles et exclusives appartenant à Pitney
Plus en détailLe meilleur de l'open source dans votre cyber cafe
Le meilleur de l'open source dans votre cyber cafe Sommaire PRESENTATION...1 Fonctionnalités...2 Les comptes...3 Le système d'extensions...4 Les apparences...5 UTILISATION...6 Maelys Admin...6 Le panneau
Plus en détailGuide d utilisation. Table des matières. Mutualisé : guide utilisation FileZilla
Table des matières Table des matières Généralités Présentation Interface Utiliser FileZilla Connexion FTP Connexion SFTP Erreurs de connexion Transfert des fichiers Vue sur la file d'attente Menu contextuel
Plus en détailCréation d'un site dynamique en PHP avec Dreamweaver et MySQL
Création d'un site dynamique en PHP avec Dreamweaver et MySQL 1. Création et configuration du site 1.1. Configuration de Dreamweaver Avant de commencer, il est nécessaire de connaître l'emplacement du
Plus en détailNovell. NetWare 6. www.novell.com GUIDE D'ADMINISTRATION DE NETDRIVE
Novell NetWare 6 www.novell.com GUIDE D'ADMINISTRATION DE NETDRIVE Notices légales Novell exclut toute garantie relative au contenu ou à l'utilisation de cette documentation. En particulier, Novell ne
Plus en détail