Chapitre 6 : Gestion des signaux

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

Download "Chapitre 6 : Gestion des signaux"

Transcription

1 Chapitre 6 : Gestion des signaux Version Septembre 2011 N 290 Pour commencer (1) Deux types de communication Synchrone (plus facile à programmer) Processus décide du moment de la communication Mise en attente possible Appel systèmes (IPC, tubes, Sockets) Asynchrone Programmation événementielle plusieurs formes : interruption, signal, événement graphique, exception Lisibilité?, perte évènements, 1

2 Version Septembre 2011 N 291 Pour commencer (2) A quoi sert un signal? Indiquer à un processus l arrivée d un évènement Faire exécuter un traitement à un processus D où vient un signal? Du noyau D un autre processus Qui délivre un signal? Le noyau Qui décide de la réaction à un signal? Le processus (mais quelques contraintes) Version Septembre 2011 N 292 Classification des signaux Fin d'un processus Exceptions (processus): hors adressage,... Etat irrécupérables (appels systèmes): espace dépilé Erreur inattendue (appels systèmes) Signaux (processus en mode utilisateur) Interaction avec le terminal Mise au point des processus Système V/POSIX : 19 signaux Origine: processus ou interne 2

3 Version Septembre 2011 N 293 Principaux signaux Signal Numéro Signification SIGHUP 1 liaison coupée / relecture fichier de configuration SIGINT 2 Interruption / CTRL-C au clavier SIGQUIT 3 Quit SIGFPE 8 Erreur calcul en virgule flottante (division par zéro) SIGKILL 9 Tuer le processus (non interceptable) SIGSEGV 11 violation de segment (en général pointeur nul) SIGSYS 12 Paramètre Invalide (appel système) SIGPIPE 13 Écriture dans un tuyau qui n'a plus de lecteurs SIGALRM 14 Alarme (chronomètre) SIGCHLD 20,17,18 Indique au processus père la terminaison d un fils SIGXFSZ 25,25,31 Taille de fichier supérieure à la limite SIGUSR1 30,10,16 Signal utilisateur 1/2 différent sur alpha & sparc, i386 & ppc, mips? SIGCHLD : ignoré par défaut SIGXFSZ : pas POSIX.1 Version Septembre 2011 N 294 Quelques précisions Action par défaut : Termine le processus : SIGHUP, SIGINT, SIGKILL, SIGUSR1/2, SIGPIPE, SIGALARM, SIGTERM, Termine + core : SIGQUIT, SIGILL, SIGTRAP, SIGBUS, SIGSEGV, SIGXCPU, SIGXFSZ, Ne fait rien : SIGCHLD, SIGURG, Interrompt le processus : SIGSTOP, SIGTTIN, SIGTTOU, SIGTSTP Contraintes SIGKILL/SIGSTOP: ne peut être intercepté SIGKILL/SIGSTOP: ne peut être ignoré/bloqué (Signaux: Non POSIX) 3

4 Version Septembre 2011 N 295 Liste des signaux (1) Version Septembre 2011 N 296 Liste des signaux (2) 4

5 Version Septembre 2011 N 297 Classification des signaux (1) Signaux de terminaison Version Septembre 2011 N 298 Classification des signaux (2) Réveils par horloge + gestion des tâches 5

6 Version Septembre 2011 N 299 Classification des signaux (3) Gestion du système, périphériques Version Septembre 2011 N 300 Classification des signaux (4) matériel, «logique», obsolètes 6

7 Version Septembre 2011 N 301 Appartenance à une norme (1) SIGABRT, SIGALRM, SIGCHLD, SIGCONT, SIGFPE, SIGHUP, SIGILL, SIGINT Version Septembre 2011 N 302 Appartenance à une norme (2) SIGKILL, SIGPIPE, SIGQUIT, SIGSEGV, SIGSTOP, SIGTERM 7

8 Version Septembre 2011 N 303 Appartenance à une norme (3) SIGTSTP, SIGTTIN, SIGTTOU, SIGUSR1, SIGUSR2 Version Septembre 2011 N 304 Principes de base Structures de mémorisation : d un signal (table des processus) du comportement (zone utilisateur) du masquage d un signal Principes fondamentaux : Fonctionnement comme une interruption Pas de mémorisation du nombre d'occurrences Traitement du signal: Mode noyau Mode utilisateur Mode noyau: Pas d'action immédiate Principales fonctionnalités : envoyer un signal, définir un comportement, retarder l arrivée d un signal 8

9 Version Septembre 2011 N 305 Intégration dans un processus PID: xxxx Handler1(){ } Handler2(){ } main(){ } 0 Table des Processus Processus 2 Processus 1 Masquage de singaux 0/1 0/1/offset 1 2 Spécification du comportement Réception du signal 0/1 31 Version Septembre 2011 N 306 Processus et signaux : compléments L'appel fork préserve les comportements des signaux (et le groupe du processus) Les appels exec remettent les comportements des Signaux à SIG_DFL sauf pour les signaux ignorés avant le exec. Traitement du signal SIGCHLD différent: Réveil d'un processus endormi Voir la famille d appels systèmes wait 9

10 Version Septembre 2011 N 307 Gestion du groupe d un processus (1) Un processus peut consulter/modifier son groupe Ne pas confondre avec le groupe de l utilisateur Utilisé dans le shell (lancement de la commande) Appels systèmes: int setpgid (pid_t pid, pid_t pgid); Le groupe de pid devient pgid pid_t getpgid (pid_t pid); Lecture du groupe du processus s pid int setpgrp (void); Obsolète: le groupe du processus courant devient «numéro du processus courant» pid_t getpgrp (void); Obsolète: le groupe du processus courant Version Septembre 2011 N 308 Gestion du groupe d un processus (2) #include <signal.h> int main () { setpgrp(); ou setpgid(0,0)... fork ();... printf ("groupe = %d", getpgrp());... } ou getpgid(0) 10

11 Version Septembre 2011 N 309 Gestion du groupe d un processus (3) PID Table des Processus PGID fork bash 1003 fork fork Tout processus peut changer son groupe Pouvoir envoyer un signal à un groupe 1065 fork Version Septembre 2011 N 310 Signal: se préparer à recevoir un signal Une première fonction N signal traitement signal Traitement t par défaut (SIG_DFL) Ignorer le signal (SIG_IGN) Nom du «handler» ou «signal catching function» Pas de parenthèses sous linux et UNIX V7: l association est valable une fois sous BSD: association permanente 11

12 Version Septembre 2011 N 311 Traiter l arrivée d un signal (1) Attention to au code réentrant t (ex: printf) Variable(s) partagée(s) si plusieurs threads signal (numéro, SIG_DFL) signal (numéro, SIG_IGN) signal (numéro, routine) Version Septembre 2011 N 312 Traiter l arrivée d un signal (2) Masquage éventuel de signaux (signal traité?) S interroger sur le signal + infos (siginfo) Traitement Analyser la cause (errno ), communiquer Démasquage éventuel (Re) positionnement éventuel du signal Terminer : Quitter le processus (exit) Retourner au point d interruption (return) Se positionner ailleurs gestionnaire spécialisé (sig)(long set)jmp Lieu interruption: inst. Ordinaire ou Ap. Sys. 12

13 Version Septembre 2011 N 313 signal: exemple simple #include <signal.h> Détourner CTRL-C void capture (int sig) { printf(``signal reçu %d\n'', sig); } int main () { signal (SIGINT, capture);... while (1) { printf(``hello World!\n''); sleep(1); } } Remise à zéro de la capture: Oblige à recapturer. Version Septembre 2011 N 314 Signal: exemple plus complexe #include <signal.h> int main () { int pid, res, etat; signal (SIGCHLD, hello); for (i=0; i<3; i++) { if ( (pid = fork()) == 0) { signal (SIGCHLD, SIG_IGN);... exit (1) } } else... } res = wait (&etat);... 13

14 Version Septembre 2011 N 315 kill: envoyer un signal Processus cible N signal kill (pid, signal) : au processus n pid kill (-pid, signal) : à tous les processus du groupe n pid kill (0, signal) : à tous les processus du même groupe kill (-1, signal) : à tous les processus (propriétaire/tous) sauf : swapper (0), init (1) et le processus lui-même SUID, EUID peut être différent mais RUID identique Version Septembre 2011 N 316 Envoyer un signal (compléments) Qui envoie? un processus tout signaux peut être envoyé cas d une touche / shell le noyau, le matériel Une horloge Notification: toujours le système, pas de priorité MAJ infos processus Signaux - cas particuliers SIGCONT (même session) «0» pour tests processus 14

15 Version Septembre 2011 N 317 kill: exemple simple #include <signal.h> capture (int s) {...}... int main () { /* Processus 1 */ signal (SIGINT, hello);... } int main () { /* Processus 2 */ kill (pid, SIGINT); kill (0, SIGINT); kill (-1, SIGINT); (*)... } (*): pour root Protection: euid/uid (émetteur) = euid/uid (récepteur) Version Septembre 2011 N 318 Informations sur un signal Tableau nom des signaux Nb signaux Nombre de signaux sur le système utilisé 48 (OSF1), 45 (SOLARIS), 32 (LINUX) psignal perror psignal: pas POSIX (voir signal.h) Affichage message + nom 15

16 Version Septembre 2011 N 319 Envoi d un signal sur soi-même N signal S envoyer SIGABRT kill ( getpid(), SIGABRT) Ne pas terminer le handler par return vidage mémoire (fichier core) S envoyer un signal kill ( getpid(), signo) section 3 (C-ANSI) Version Septembre 2011 N 320 Gestion du temps (1) 1μ sec f(système) 10ms ITIMER_REAL ITIMER_VIRTUAL ITIMER_PROF 0: actif 0: inactif 0 +t fréquence [ SIGALRM] SG [ SIGVTALRM] [ SIGPROF] Val. restante sec. μsec. sec. μsec. temps réel externe (montre). temps virtuel du processus seul (temps CPU). temps virtuel complet du processus (temps CPU + des appels systèmes). SIGPROF + SIGVTALRM : principalement par les outils de profilage (estimation du temps passé dans les différentes parties d un programme. 16

17 Version Septembre 2011 N 321 Gestion du temps (2) ITIMER_REAL ITIMER_VIRTUAL ITIMER_PROF Nouv. Valeur (*) NULL sauvegarde (**) NULL valeur retournée (*): seule la fréquence est nécessaire (**): avant réinitialisation Version Septembre 2011 N 322 Gestion du temps (3) Fréquence en secondes setitimer ( ITIMER_REAL, itermerval) mesure grossière (ok si machine chargée) ualarm (micro secondes, secondes) 17

18 Version Septembre 2011 N 323 Faire attendre un processus Attente active bornée ou pas For (;;;) ou for (i=xxx,(, i > 0, i--) mauvaise utilisation CPU Passive + bornée : sleep nanosleep Passive + non bornée Handler: return : process continue exit : process se termine SIG_DFL: termine Mise en attente du processus (jusqu à réception signal) Ne gaspille pas le CPU Attention: pas de masquage des signaux Version Septembre 2011 N 324 nanosleep: Attente bornée Temps d attente résultat Très loin des nanosecondes: mais 1 à 10 millisecondes rem NULL : durée restante au réveil 18

19 Version Septembre 2011 N 325 Insuffisance de signal: exemples (1) sleep(n) : «attendre» n secondes sauf si un signal est reçu Réception du signal Mettre en attente tant qu un signal n arrive pas Non atomicité du traitement Le processus reste bloqué si un seul signal Version Septembre 2011 N 326 Insuffisance de signal: exemples (2) Implémenter sleep (3) Réception du signal Le processus reste bloqué 19

20 Version Septembre 2011 N 327 Insuffisance de signal: exemples (3a) Utiliser setjmp et longjmp pour assurer qu il n y a pas de blocages les conditions de vitesse le retour de longjmp peut faire échouer un autre handler qui serait interrompu par SIGALRM Restauration environnement Sauvegarde de l environnement avant «alarm» Implémenter pé sleep (3) Version Septembre 2011 N 328 Insuffisance de signal: exemples (3b) Implémenter sleep (3) sortie très incertaine 20

21 Version Septembre 2011 N 329 Handlers et la réetrance (1) Un handler est considéré comme valide si : un appel système ou une fonction s exécute il/elle ll est interrompu(e) par la réception d un signal le handler appelle cet(te) appel système/fonction Et : le résultat du handler est correct le résultat de l appel système/fonction est correct Appel système / fonction réentrant(e) Appel système / fonction non réentrant si interruptible utilise la mémoire du processus bss, data, heap ( malloc, free + leurs utilisateurs) Primitives C-ANSI d E/S: printf, getchar Version Septembre 2011 N 330 Handlers et la réetrance (2) Primitives garanties réentrantes 21

22 Version Septembre 2011 N 331 Handlers et la réetrance (3) Primitives non interruptibles (rapides, E/S sur le disque) N utilisent pas la mémoire du processus pour le résultat Primitives garanties réentrantes Version Septembre 2011 N 332 Se préparer à recevoir un signal évolution signal: mécanisme non fiable Atomicité? possibilité de masquage? Comportement? 1 ère évolution : SVRX : sigset, sighold, sigrelse, sigignore, sigpause BSD4.X : sigvec, sigblock, sigsetmask, sigpause, 2 ème évolution (POSIX) : un mécanisme de signaux fiables, avec masquage possible : sigaction : associer handler/signal + masquage atomique ; sigprocmask : connaître ou modifier le masque ; sigpending : connaître les signaux en suspens ; sigsuspend : mettre le processus en attente + démasquage atomique. 22

23 Version Septembre 2011 N 333 sigaction: se à recevoir un signal Une deuxième fonction N signal comportement Sauvegarde comportement Le numéro du signal auquel on souhaite réagir. Un pointeur sur une structure de type sigaction. Comportement relatif à la réception du signal Un pointeur résultat : si NULL ancienne configuration de traitement du signal. Association handler/signal perdure ( prochain appel) Version Septembre 2011 N 334 Struct sigaction: champs intéressants SIG_DFL,SIG_IGN,pointeur struct sigaction { void (* sa_handler) (int); sigset_t sa_mask; int sa_flags; } Options liées à la gestion d un signal SA_RESTART, SA_RESETHAND Tableau des signaux bloqués sigemptyset(sigset_t m) SA_ONESHOT ou SA_RESETHAND : Rétablir l'action à son comportement par défaut. 23

24 Version Septembre 2011 N 335 Gestion du blocage d un signal (1) Intialisation Masquer tout Signal à masquer Signal à ne pas masquer Initialisation du tableau pour sigaction Partir d un tableau vide et ajouter des signaux à bloquer Faire l inverse Version Septembre 2011 N 336 Gestion du blocage d un signal (2) #include <signal.h> Type abstrait macros SIG_* et sig* int sigemptyset (sigset_t *set); Initialisation du tableau à 0 réentrantes int sigfillset (sigset_t *set); Initialisation du tableau à 1 int sigaddset (sigset_t *set,, int signum); Initialisation de la case signum du tableau à 1 int sigdelset (sigset_t *set,, int signum); Initialisation de la case signum du tableau à 0 int sigismember (const sigset_t *set,, int signum); Est-ce que la case signum du tableau est initialisée à 1 24

25 Version Septembre 2011 N 337 Gestion du blocage d un signal (3) Signaux masqués Signal masqué? signo dans set? Par rapport à sigaction: act.sa_mask: ajoutés avant appel du handler act.sa_mask: démasqués au retour du handler Le signal associé au handler: masqué implicitement Rajouté au tableau Version Septembre 2011 N 338 sigaction: exemple simple #include <signal.h> Détourner CTRL-C void capture (int sig) { printf(``signal reçu %d\n'', sig); } int main() { struct sigaction act; act.sa_handler = capture; pas de «()» sigemptyset(&act.sa_mask); pas de «blocage» act.sa_flags=0; Rien en plus sigaction(sigint, &act, 0); while (1) { printf(``hello World!\n''); sleep(1); } } 25

26 Version Septembre 2011 N 339 sigaction: options Pour handler Version Septembre 2011 N 340 sigaction: handler Si SA_SIGINFOSIGINFO theadinfo non étudié 26

27 Version Septembre 2011 N 341 Signaux: envoi / réaction PID: 1003 Handler1(){ } Handler2(){ } main(){ sigaction } Spécif. comportement Réception du signal Masquage du signal PID: 1055 main(){ kill (1003, 1); kill (1003, 2); kill (1003, 3); kill (1003, 31); } dans 1055? Consultation / modification sigprocmask Version Septembre 2011 N 343 sigprocmask : gestion du masque SIG BLOCK UNBLOCK SETMASK Masque courant ou ancien masque set = NULL : consultation Modification / consultation du masque des signaux set: signaux sur lesquels appliquer how BLOCK : nouveaux signaux à masquer SETMASK : signaux à masquer UNBLOCK : signaux à démasquer 27

28 Version Septembre 2011 N 344 sigprocmask : exemple int main () { sigset_t ancien, nouveau; sigemptyset (&nouveau) // initialisation indispensable sigfillset(&nouveau) sigprocmask (SIG_SETMASK, &nouveau, &ancien); /*. Section critique */ sigprocmask (SIG_SETMASK, &ancien, &nouveau); } Version Septembre 2011 N 345 sigpending : signaux bloqués résultat Signaux émis et bloqués pour le processus 28

29 Version Septembre 2011 N 346 sigpending : exemple int main () { sigset_t t ancien, nouveau, s; sigemptyset (&nouveau); sigfillset(&nouveau) sigprocmask (SIG_SETMASK, &nouveau, &ancien); kill(getpid(), SIGHUP); sleep (5); if f( (sigpending (&s) == 0) if (sigismember (&s, SIGHUP)) printf(«sighup est bloqué»); sigprocmask (SIG_SETMASK, &ancien, &nouveau); } Version Septembre 2011 N 347 Exemple d utilisation (1) Masquer le signal associé signal associé en attente signal associé démasqué 29

30 Version Septembre 2011 N 348 Exemple d utilisation (2) Association une seule fois Attention si un printf est interrompu par l arrivée du signal Version Septembre 2011 N 349 sigsuspend : Mise en attente fiable Signaux à masquer Mise en attente + masquage de set si signal non masqué émis : traitement attendu retour après sigsuspend + restauration du masque avant sigsuspend (si handler associé au signal émis) sinon: ignore les signal émis ou action par défaut 30

31 Version Septembre 2011 N 350 sigsuspend : exemple int main () { sigset_t masque; sigemptyset (&masque); sigaddset(&masque, SIGTERM) sigsuspend (&masque); } Le signal SIGTERM est bloqué jusqu'à l'arrivé d'un signal non bloqué. Version Septembre 2011 N 351 Envoi de signal: compléments Autre fonction C: killpg (p, sig) = kill (-p, sig) Autres commandes : killall, slay commandes de nom X, de l'utilisateur X Autre information importante : Table des processus: positionnement indicateur Pas d'effet immédiat Appels kill/signal: Ne pas préjuger de l'ordonnancement!! 31

32 Version Septembre 2011 N 352 Mise en attente non fiable Section critique protégée de SIGINT Version Septembre 2011 N 353 Mise en attente fiable Section critique protégée de SIGINT Débloc. SIGINT + attente Restauration masque initial Continuation: signal reçu Permet de continuer en séquence 32

33 Version Septembre 2011 N 354 Implantation fiable de sleep (1) oldact = masque avant capture de ALRM Rien de plus Pas de blocage de signaux y compris ALRM Comportement proche de signal Activation de la réaction de ALRM sleep(n) fait «attendre» le processus n secondes sauf si un signal est reçu par le processus Version Septembre 2011 N 355 Implantation fiable de sleep (2) Sauvegarde masque + Blocage de SIGALRM Déblocage de SIGALRM + pause Le blocage est fait «à l extérieur» de sigaction pour pouvoir y inclure SIGALRM seulement pendant alarm SIGALRM ou un autre signal débloquera l attente 33

34 Version Septembre 2011 N 356 Implantation fiable de sleep (3) un signal est intervenu et «a débloqué» sigsuspend Restauration de la réaction Restauration du masque Simplement débloquer si ALRM envoyé 34

Cours de S.E. les Signaux

Cours 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étail

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

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étail

Les 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)

Les 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étail

Communication Interprocessus

Communication 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é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

Exécutif temps réel Pierre-Yves Duval (cppm)

Exé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étail

LEs processus coopèrent souvent pour traiter un même problème. Ces

LEs 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étail

Qu'est-ce qu'un processus: Définitions

Qu'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étail

Introduction aux Systèmes et aux Réseaux

Introduction 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étail

Le traitement du temps

Le 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é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

Cours de Systèmes d Exploitation

Cours 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é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

Programmation système

Programmation 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étail

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

Processus! 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étail

Plan global. Programmation système II. Socket du domaine UNIX. Plan. Socket UNIX, Terminaux, Async IO, Mémoire, ELF.

Plan 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étail

Playing with ptrace() for fun and profit

Playing with ptrace() for fun and profit sous GNU/Linux nicolas.bareil@eads.net EADS Corporate Research Center - DCR/STI/C SSI Lab SSTIC 2006 Il était une fois... Sous UNIX, ptrace() est le seul moyen de debuggage. User-space, Interface rigide

Plus en détail

Les processus légers : threads. Système L3, 2014-2015 1/31

Les processus légers : threads. Système L3, 2014-2015 1/31 Les processus légers : threads Système L3, 2014-2015 1/31 Les threads Les threads sont des processus légers exécutés à l intérieur d un processus L exécution des threads est concurrente Il existe toujours

Plus en détail

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

03/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é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. É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étail

Les structures de données. Rajae El Ouazzani

Les structures de données. Rajae El Ouazzani Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l

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

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

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

Le système GNU/Linux IUP NTIC2-1013 - 17/11/05

Le 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étail

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

INTRODUCTION 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étail

Conventions d écriture et outils de mise au point

Conventions d écriture et outils de mise au point Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette

Plus en détail

Problèmes liés à la concurrence

Problèmes liés à la concurrence ENS Cachan Problématique Difficile de gérer la concurrence : Pas toujours facile d avoir des fonctions réentrantes. Risque de race condition : ex : x :=x+1 x :=x+1 On voudrait des blocs d instructions

Plus en détail

Bases de programmation. Cours 5. Structurer les données

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

Plus en détail

Cours de Programmation Impérative: Zones de mémoires et pointeurs

Cours de Programmation Impérative: Zones de mémoires et pointeurs Cours de Programmation Impérative: Zones de mémoires et pointeurs Julien David A101 - david@lipn.univ-paris13.fr Julien David (A101 - david@lipn.univ-paris13.fr) 1 / 1 Z`o n`e s `d`e m`é m`o i r`e Julien

Plus en détail

Temps Réel. Jérôme Pouiller <j.pouiller@sysmic.org> Septembre 2011

Temps Réel. Jérôme Pouiller <j.pouiller@sysmic.org> Septembre 2011 Temps Réel Jérôme Pouiller Septembre 2011 Sommaire Problèmatique Le monotâche Le multitâches L ordonnanement Le partage de ressources Problèmatiques des OS temps réels J. Pouiller

Plus en détail

Unix : Programmation Système

Unix : 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étail

gestion des processus La gestion des processus

gestion 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étail

Les structures. Chapitre 3

Les structures. Chapitre 3 Chapitre 3 Les structures Nous continuons notre étude des structures de données qui sont prédéfinies dans la plupart des langages informatiques. La structure de tableau permet de regrouper un certain nombre

Plus en détail

Exercices INF5171 : série #3 (Automne 2012)

Exercices INF5171 : série #3 (Automne 2012) Exercices INF5171 : série #3 (Automne 2012) 1. Un moniteur pour gérer des ressources Le moniteur MPD 1 présente une première version d'un moniteur, exprimé en pseudo-mpd, pour gérer des ressources le nombre

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0

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

1 Mesure de la performance d un système temps réel : la gigue

1 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étail

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation

Plus en détail

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

Réalisation d un portail captif d accès authentifié à Internet 10.10.10.1

Réalisation d un portail captif d accès authentifié à Internet 10.10.10.1 Master 1 ère année UE Réseaux avancés I Projet Réalisation d un portail captif d accès authentifié à Internet Présentation du projet Le but du projet est de mettre en place un portail captif permettant

Plus en détail

1. 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. 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étail

#include <stdio.h> #include <stdlib.h> struct cell { int clef; struct cell *suiv; };

#include <stdio.h> #include <stdlib.h> struct cell { int clef; struct cell *suiv; }; #include #include struct cell int clef; struct cell suiv; ; / longueur. pc->suiv est l abréviation de (pc).suiv. pour cette fonction comme pour les suivantes, on donne, lorsqu il existe

Plus en détail

Programmation système de commandes en C

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

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

Introduction à la programmation concurrente

Introduction à la programmation concurrente Introduction à la programmation concurrente Moniteurs Yann Thoma Reconfigurable and Embedded Digital Systems Institute Haute Ecole d Ingénierie et de Gestion du Canton de Vaud This work is licensed under

Plus en détail

TP 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 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étail

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011 Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr Université de Provence 9 février 2011 Arnaud Labourel (Université de Provence) Exclusion Mutuelle 9 février 2011 1 / 53 Contexte Epistémologique

Plus en détail

Projet Active Object

Projet Active Object Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques

Plus en détail

Cours 2: Exclusion Mutuelle entre processus (lourds, ou légers -- threads)

Cours 2: Exclusion Mutuelle entre processus (lourds, ou légers -- threads) Cours 2: Exclusion Mutuelle entre processus (lourds, ou légers -- threads) Concurrence entre processus & Problème d Exclusion Mutuelle 1. Introduction 2. Solutions avec attente active, dites Sans Arbitrage

Plus en détail

VOCALYS LITE. www.adetec.com

VOCALYS LITE. www.adetec.com VOCALYS LITE www.adetec.com Sommaire GENERALITES 1 Présentation Caractéristiques techniques RACCORDEMENTS 2 Ligne téléphonique 2 Autoprotection 3 Entrées 3 Sorties 4 UTILISATION 5 Marche / Arrêt du transmetteur

Plus en détail

Commandes Linux. Gestion des fichiers et des répertoires. Gestion des droits. Gestion des imprimantes. Formation Use-IT

Commandes Linux. Gestion des fichiers et des répertoires. Gestion des droits. Gestion des imprimantes. Formation Use-IT Commandes Linux Gestion des fichiers et des répertoires Lister les fichiers Lister les fichiers cachés Lister les répertoires d un répertoire Lister les fichiers par date Les droits Types de fichier Supprimer

Plus en détail

Dans le chapitre 1, nous associions aux fichiers ouverts des descripteurs de fichiers par lesquels nous accédions aux fichiers.

Dans 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étail

IFT2245 - Systèmes d exploitation - TP n 1-20%

IFT2245 - Systèmes d exploitation - TP n 1-20% IFT2245 - Systèmes d exploitation - TP n 1-20% DIRO - Université de Montréal Nicolas Rous et Dorian Gomez Disponible : 14/02/2013 - Remise : 28/03/2013 au début de la démo LISEZ TOUT LE DOCUMENT AVANT

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

Programmation C++ (débutant)/instructions for, while et do...while

Programmation C++ (débutant)/instructions for, while et do...while Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de

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

Séance n o 5 : Alternatives, gestion des utilisateurs et des processus

Sé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étail

Manuel de System Monitor

Manuel de System Monitor Chris Schlaeger John Tapsell Chris Schlaeger Tobias Koenig Traduction française : Yves Dessertine Traduction française : Philippe Guilbert Traduction française : Robin Guitton Relecture de la documentation

Plus en détail

Compilation (INF 564)

Compilation (INF 564) Présentation du cours Le processeur MIPS Programmation du MIPS 1 Compilation (INF 564) Introduction & architecture MIPS François Pottier 10 décembre 2014 Présentation du cours Le processeur MIPS Programmation

Plus en détail

Chapitre 4 : Outils de communication centralisés entre processus

Chapitre 4 : Outils de communication centralisés entre processus Chapitre 1 : Introduction Chapitre 2 : Processus Chapitre 3 : Ordonnancement Chapitre 4 : Outils de communication centralisés entre processus Chapitre 5 : Allocation mémoire Chapitre 6 : Mémoire virtuelle

Plus en détail

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation : Algorithmique et programmation : STRUCTURES DE DONNÉES A. Structure et enregistrement 1) Définition et rôle des structures de données en programmation 1.1) Définition : En informatique, une structure de

Plus en détail

REALISATION d'un. ORDONNANCEUR à ECHEANCES

REALISATION 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étail

Cours de Programmation en Langage Synchrone SIGNAL. Bernard HOUSSAIS IRISA. Équipe ESPRESSO

Cours de Programmation en Langage Synchrone SIGNAL. Bernard HOUSSAIS IRISA. Équipe ESPRESSO Cours de Programmation en Langage Synchrone SIGNAL Bernard HOUSSAIS IRISA. Équipe ESPRESSO 24 septembre 2004 TABLE DES MATIÈRES 3 Table des matières 1 Introduction 5 1.1 La Programmation Temps Réel.........................

Plus en détail

Gestion des processus

Gestion des processus 65 La Gestion des Processus 1 Définitions, exemples 2. Politiques d'allocation du processeur 3. Synchronisation des processus 66 Programme : Un programme est une suite figée d'instructions, un ensemble

Plus en détail

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr

6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr 6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr Interface d un SGF Implémentation d un SGF Gestion de la correspondance entre la structure logique et la structure

Plus en détail

Java Licence Professionnelle CISII, 2009-10

Java Licence Professionnelle CISII, 2009-10 Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation

Plus en détail

CARPE. Documentation Informatique S E T R A. Version 2.00. Août 2013. CARPE (Documentation Informatique) 1

CARPE. Documentation Informatique S E T R A. Version 2.00. Août 2013. CARPE (Documentation Informatique) 1 CARPE (Documentation Informatique) 1 CARPE Version 2.00 Août 2013 Documentation Informatique S E T R A Programme CARPE - Manuel informatique de l'utilisateur CARPE (Documentation Informatique) 2 Table

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire

Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS Sommaire Programmation en langage C d un µcontrôleur PIC à l aide du compilateur C-CCS CCS Sommaire Généralités sur le langage. 2 Structure d un programme en C.. 3 Les constantes et équivalences.. 4 Les variables...

Plus en détail

OS Réseaux et Programmation Système - C5

OS Réseaux et Programmation Système - C5 OS Réseaux et Programmation Système - C5 Rabie Ben Atitallah rabie.benatitallah@univ-valenciennes.fr RPC - XDR Rappel RPC: Remote Procedure Call Besoin d un environnement de haut niveau pour le développement

Plus en détail

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 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étail

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7 Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

Algorithmique et programmation : les bases (VBA) Corrigé

Algorithmique et programmation : les bases (VBA) Corrigé PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi

Plus en détail

Cours de C. Petits secrets du C & programmation avancée. Sébastien Paumier

Cours de C. Petits secrets du C & programmation avancée. Sébastien Paumier Cours de C Petits secrets du C & programmation avancée Sébastien Paumier paumier@univ-mlv.fr Illustrations provenant du site http://tux.crystalxp.net/ 1 Affectations étendues a+=expression a=a+expression

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

Introduction à 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 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étail

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004 Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)

Plus en détail

Introduction à la Programmation Parallèle: MPI

Introduction à la Programmation Parallèle: MPI Introduction à la Programmation Parallèle: MPI Frédéric Gava et Gaétan Hains L.A.C.L Laboratoire d Algorithmique, Complexité et Logique Cours du M2 SSI option PSSR Plan 1 Modèle de programmation 2 3 4

Plus en détail

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Rappel. 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étail

NON URGENTE TEMPORAIRE DEFINITIVE OBJET : RÉCUPÉRATION DES DONNÉES CLIENT SUR DISQUE DUR DÉFECTUEUX OU INVALIDÉ

NON URGENTE TEMPORAIRE DEFINITIVE OBJET : RÉCUPÉRATION DES DONNÉES CLIENT SUR DISQUE DUR DÉFECTUEUX OU INVALIDÉ COMMUNICATION TECHNIQUE N TC0536 Ed. 01 OmniPCX Enterprise Nb de pages : 11 Date : 12-03-2004 URGENTE NON URGENTE TEMPORAIRE DEFINITIVE OBJET : RÉCUPÉRATION DES DONNÉES CLIENT Cette communication technique

Plus en détail

Cours Informatique Master STEP

Cours Informatique Master STEP Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions

Plus en détail

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike

Plus en détail

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite

Plus en détail

Solutions du chapitre 4

Solutions du chapitre 4 Solutions du chapitre 4 Structures de contrôle: première partie 4.9 Identifiez et corrigez les erreurs (il peut y en avoir plus d une par segment de code) de chacune des proposition suivantes: a) if (

Plus en détail

SugarCubes. Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués. Paris, le 9 janvier, 2009

SugarCubes. Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués. Paris, le 9 janvier, 2009 SugarCubes Jean-Ferdinand Susini Maître de Conférences, CNAM Chaire systèmes enfouis et embarqués Paris, le 9 janvier, 2009 Plan 2 Les SugarCubes au dessus de J2ME Quelques résultats expérimentaux Les

Plus en détail

Runtime. Gestion de la réactivité des communications réseau. François Trahay Runtime, LaBRI sous la direction d'alexandre Denis Université Bordeaux I

Runtime. Gestion de la réactivité des communications réseau. François Trahay Runtime, LaBRI sous la direction d'alexandre Denis Université Bordeaux I Runtime Gestion de la réactivité des communications réseau François Trahay Runtime, LaBRI sous la direction d'alexandre Denis Université Bordeaux I 1 Le calcul hautes performances La tendance actuelle

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

SRS DAY: Problématique liée à la virtualisation

SRS DAY: Problématique liée à la virtualisation SRS DAY: Problématique liée à la virtualisation Anthony GUDUSZEIT Franck CURO gudusz_a curo_f Introduction Sommaire Définition Contexte Avantages / inconvénients Fonctionnement et problématique Techniques

Plus en détail

INITIATION AU LANGAGE JAVA

INITIATION AU LANGAGE JAVA INITIATION AU LANGAGE JAVA I. Présentation 1.1 Historique : Au début des années 90, Sun travaillait sur un projet visant à concevoir des logiciels simples et performants exécutés dans des PDA (Personnal

Plus en détail

Initiation à LabView : Les exemples d applications :

Initiation à LabView : Les exemples d applications : Initiation à LabView : Les exemples d applications : c) Type de variables : Créer un programme : Exemple 1 : Calcul de c= 2(a+b)(a-3b) ou a, b et c seront des réels. «Exemple1» nom du programme : «Exemple

Plus en détail

Synchro et Threads Java TM

Synchro et Threads Java TM Synchro et Threads Java TM NICOD JEAN-MARC Master 2 Informatique Université de Franche-Comté UFR des Sciences et Techniques septembre 2008 NICOD JEAN-MARC Synchro et Threads avec Java TM 1 / 32 Sommaire

Plus en détail

Les vulnérabilités du noyau. LECORNET Olivier LEGROS Bruno VIGIER Nicolas Promo 2005

Les vulnérabilités du noyau. LECORNET Olivier LEGROS Bruno VIGIER Nicolas Promo 2005 Les vulnérabilités du noyau LECORNET Olivier LEGROS Bruno VIGIER Nicolas Promo 2005 27 Septembre 2003 Table des matières 1 Introduction 3 2 Fonctionnement du noyau 4 2.1 Les modes de fonctionnements............................

Plus en détail

Concept de machine virtuelle

Concept de machine virtuelle Concept de machine virtuelle Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 1 Introduction: Java Virtual Machine Machine Virtuelle Java: qu est-ce que c est? c est la spécification d une machine

Plus en détail

Package Java.util Classe générique

Package Java.util Classe générique Package Java.util Classe générique 1 Classe Vector La taille est dynamique: dès qu un tableau vectoriel est plein, sa taille est doublée, triplée, etc. automatiquement Les cases sont de type Object add(object

Plus en détail

Ordinateurs, Structure et Applications

Ordinateurs, Structure et Applications Ordinateurs, Structure et Applications Cours 10, Les interruptions Etienne Tremblay Université Laval, Hiver 2012 Cours 10, p.1 Les interruptions du 8086 Une interruption interrompt l exécution séquentielle

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION 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étail

UTILISATION DE LA BORNE PAR LE CLIENT

UTILISATION DE LA BORNE PAR LE CLIENT Page1 UTILISATION DE LA BORNE PAR LE CLIENT Achat de carte de lavage en carte bancaire Page 3 et 4 Achat de carte de lavage en billet Page 5 et 6 Rechargement de la carte de lavage en carte bancaire Page

Plus en détail

HA2000 GSM Transmetteur téléphonique

HA2000 GSM Transmetteur téléphonique HA2000 GSM Transmetteur téléphonique Manuel d installation & d utilisation SOMMAIRE I. GENERALITES...2 1) CONTENU DU KIT...2 2) IDENTIFICATION...2 3) INSERTION DE LA CARTE SIM...3 4) BORNE DE RACCORDEMENT

Plus en détail

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr Table des matières 1 Les bases 3 2 Variables et constantes 5 3 Quelques fonctions indispensables

Plus en détail