Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License,

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

Download "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License,"

Transcription

1 Copyright 2010 tv Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front Cover Texts, and with no Back Cover. You can obtain a copy of the GNU General Public License : write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA USA 1

2 Programmation Système Sémaphores Win32 Sommaire API Win Rappels...3 Exclusion mutuelle...3 Mutex...3 Section Critique...3 Sémaphore...3 Mutex...4 Section Critique...7 Sémaphores

3 Programmation Système API Win32 API Win32 L'API Win32 de Micro$oft propose différents moyens pour coordonner l'exécution de plusieurs threads. Les fonctions décrites dans ce document fournissent un mécanisme utilisé pour que les threads synchronisent leur accès à des ressources. Les mécanismes fournis sont : les exclusions mutuelles les sections critiques les sémaphores Rappels Exclusion mutuelle Une ressource est en exclusion mutuelle si seul un processus peut utiliser la ressource à un instant donné. Mutex C'est un sémaphore binaire qui permet l'une exclusion mutuelle (mutex). Il est toujours initialisé avec la valeur 1. Section Critique C'est une partie de code telle que 2 processus ne peuvent s'y trouver au même instant. Sémaphore Un sémaphore permet de protéger une variable (ou un type de donnée abstrait) et constitue la méthode utilisée couramment pour restreindre l'accès à des ressources partagées dans un environnement de programmation concurrente. Le sémaphore a été inventé par Edsger Dijkstra. 3 Sémaphores Win32

4 tpsyswindows Semaphores correction.odt 19/01/2011 rev.59 Mutex Le mutex est de type HANDLE, comme tout objet ressource dans l'api Win32. Les fonctions utilisables sont : Création du mutex : CreateMutex() Opération V(), libération ou déverrouillage du mutex : ReleaseMutex() Opération P(), prise ou verrouillage du mutex : WaitForSingleOb ject() Processus créateur (mutex1.c) : ce processus crée le mutex et l'utilise #include <windows.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <time.h> void P(HANDLE hmutex) WaitForSingleObject(hMutex, INFINITE); void V(HANDLE hmutex) ReleaseMutex(hMutex); void travail(int i) int simulationtravail = (int)((double)rand() * (i+100) / (RAND_MAX+1.0)); printf("la tache%d travaille pendant %.2f s...\n", i, (float) (simulationtravail/1000.0)); Sleep(simulationTravail); printf("la tache%d a fini son travail...\n", i); 4

5 Programmation Système Mutex int main(void) HANDLE hmutex; srand(time(null)); //pour la simulation hmutex = CreateMutex( NULL, // descripteur de sécurité par défaut FALSE, // mutex not owned TEXT("NameOfMutexObject")); // nom de l'objet if (hmutex == NULL) printf( "CreateMutex failed (%d).\n", GetLastError()); ExitProcess(1); P(hMutex); printf("le processus1 débloque le processus2...\n"); travail(1); printf("attente pour bloquer l'autre processus Appuyez sur une touche pour débloquer le processus 2\n"); getchar(); V(hMutex); CloseHandle(hMutex); printf("fin...\n"); return 0; Processus utilisateur (mutex2.c) : ce processus ouvre le mutex et l'utilise #include <windows.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <time.h> void P(HANDLE hmutex) WaitForSingleObject(hMutex, INFINITE); void V(HANDLE hmutex) ReleaseMutex(hMutex); 5 Sémaphores Win32

6 tpsyswindows Semaphores correction.odt 19/01/2011 rev.59 void travail(int i) int simulationtravail = (int)((double)rand() * (i+1000) / (RAND_MAX+1.0)); printf("la tache%d travaille pendant %.2f s...\n", i, (float) (simulationtravail/1000.0)); Sleep(simulationTravail); printf("la tache%d a fini son travail...\n", i); int main(void) HANDLE hmutex; srand(time(null)); //pour la simulation hmutex = OpenMutex( MUTEX_ALL_ACCESS, // Accès complet FALSE, // handle not inheritable TEXT("NameOfMutexObject")); // nom de l'objet if (hmutex == NULL) printf( "CreateMutex failed (%d).\n", GetLastError() ); ExitProcess(1); printf("le processus2 attend le processus1...\n"); P(hMutex); travail(2); V(hMutex); CloseHandle(hMutex); printf("fin...\n"); return 0; 6

7 Programmation Système Mutex Ce qui donne l'exécution suivante : Section Critique L'objet section critique fournit une synchronisation similaire au mutex sauf que ces objets doivent être utilisées par les threads d'un même processus. Ce mécanisme est plus performant que les mutex et il est plus simple à utiliser. Remarques : Si vous ne rendez pas la main à la fin de la section critique, cela bloquera le système. De même, il faut que les sections critiques soient les plus courtes possibles. Le processus est responsable de l'allocation de la mémoire utilisée par la section critique. Typiquement, il suffit de déclarer une variable de type CRITICAL_SECTION, de l'initialiser grâce à la fonction InitializeCriticalSection() ou InitializeCriticalSectionAndSpinCount(). 7 Sémaphores Win32

8 tpsyswindows Semaphores correction.odt 19/01/2011 rev.59 Les fonctions utilisables sont : Le thread utilise la fonction EnterCriticalSection() ou TryEnterCriticalSection() avant d'entrer dans la section critique. Le thread utilise la fonction LeaveCriticalSection() pour rendre le processeur à la fin de la section critique. Chaque thread du processus peut utiliser la fonction DeleteCriticalSection() pour libérer les ressources système qui ont été allouées quand la section critique a été initialisé. Après son appel, aucune fonction de synchronisation ne peut plus être appelée. Exemple avec 2 threads : critical_section.c #include <windows.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <time.h> CRITICAL_SECTION cs; // shared structure void travail(int i) int simulationtravail = (int)((double)rand() * (i+1000) / (RAND_MAX+1.0)); printf("la tache%d travaille pendant %.2f s...\n", i, (float) (simulationtravail/1000.0)); Sleep(simulationTravail); printf("la tache%d a fini son travail...\n", i); DWORD WINAPI ThreadProc1(LPVOID lpparam) int n; int *pdata; pdata = (int*)lpparam; n = *pdata; EnterCriticalSection(&cs); printf("la tache%d est entrée dans une section critique...\n", n); travail(n); printf("la tache%d va sortir d'une section critique...\n", n); LeaveCriticalSection(&cs); return 0; 8

9 Programmation Système Section Critique DWORD WINAPI ThreadProc2(LPVOID lpparam) int n; int *pdata; pdata = (int*)lpparam; n = *pdata; EnterCriticalSection(&cs); printf("la tache%d est entrée dans une section critique...\n", n); travail(n); printf("la tache%d va sortir d'une section critique...\n", n); LeaveCriticalSection(&cs); return 0; int main(void) DWORD dwthreadid1, dwthreadid2; HANDLE hthread1, hthread2; int n1 = 1, n2 = 2; InitializeCriticalSection(&cs); srand(time(null)); //pour la simulation // Création du thread (autre que le primaire) hthread1 = CreateThread(NULL, // default security attributes 0, // use default stack size ThreadProc1, // thread function &n1, // argument to thread function 0, // use default creation flags &dwthreadid1); // returns the thread identifier if (hthread1 == NULL) printf( "CreateThread failed (%d).\n", GetLastError()); ExitProcess(1); 9 Sémaphores Win32

10 tpsyswindows Semaphores correction.odt 19/01/2011 rev.59 // Création du thread (autre que le primaire) hthread2 = CreateThread(NULL, // default security attributes 0, // use default stack size ThreadProc2, // thread function &n2, // argument to thread function 0, // use default creation flags &dwthreadid2); // returns the thread identifier if (hthread2 == NULL) printf( "CreateThread failed (%d).\n", GetLastError()); ExitProcess(1); // Attente fin des threads WaitForSingleObject(hThread1, INFINITE); WaitForSingleObject(hThread2, INFINITE); CloseHandle(hThread1); CloseHandle(hThread2); DeleteCriticalSection(&cs); printf("fin...\n"); return 0; Ce qui donne l'exécution suivante : 10

11 Programmation Système Sémaphores Sémaphores Sous Windows, un sémaphore est un compteur qui peut prendre des valeurs entre 0 et une valeur maximale définie lors de la création du sémaphore. Le sémaphore est de type HANDLE. Les fonctions utilisables sont : La fonction CreateSemaphore() crée l'objet sémaphore. HANDLE CreateSemaphore( LPSECURITY_ATTRIBUTES lpsemaphoreattributes, // pointer to security attributes LONG linitialcount, // initial count LONG lmaximumcount, // maximum count LPCTSTR lpname // pointer to semaphore object name ); La fonction Op ensemaphore() ouvre un objet sémaphore déjà créé par un autre thread ou processus. Opération V() : la fonction ReleaseSemaphore() libère un jeton. Opération P() : la fonction WaitForSingleOb ject () permet de prendre un sémaphore. Exemple 1 x Producteur et 1 x Consommateur : producteur1.c #include <windows.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <time.h> /* taille de la file */ #define L 5 /* la file */ int f[l]; int in = 0, out = 0; /* Les semaphores */ HANDLE nbrequetes; // init 0 HANDLE nbcasesvides; // init L 11 Sémaphores Win32

12 tpsyswindows Semaphores correction.odt 19/01/2011 rev.59 void P(HANDLE s) WaitForSingleObject(s, INFINITE); void V(HANDLE s) ReleaseSemaphore(s, 1, NULL); int construirerequete(int n) int simulationtravail = (int)((double)rand() * (n+1000) / (RAND_MAX+1.0)); int requete = 1 + (int)((double)rand() * (n+100) / (RAND_MAX+1.0)); //printf("la tache%d construit une requete en %.3f s...\n", n, (float)(simulationtravail/1000.0)); Sleep(simulationTravail); return requete; void deposerrequete(int n, int requete) printf("la tache%d producteur depose la requete %d dans la file a la position %d...\n", n, requete, in); f[in] = requete; in = (in + 1) % L; int retirerrequete(int n) int requete; printf("la tache%d consommateur retire une requete de la file a la position %d...\n", n, out); requete = f[out]; f[out] = 0; /* élement vide */ out = (out + 1) % L; return requete; void traiterrequete(int n, int requete) int simulationtravail = (int)((double)rand() * (n+1000) / (RAND_MAX+1.0)); //printf("la tache%d traite la requete en %.2f s...\n", n, (float) (simulationtravail/1000.0)); Sleep(simulationTravail*2); // on retarde un peu le consommateur! requete = 0; // inutilement inutile! 12

13 Programmation Système Sémaphores DWORD WINAPI producteur(lpvoid nt) int n = *(int *)nt; // numéro de tache int requete; int i; // on produit pendant un certain temps... for(i=0;i<(l*3);i++) requete = construirerequete(n); //printf("la tache%d producteur attend une place libre...\n", n); P(nbCasesVides); deposerrequete(n, requete); V(nbRequetes); //printf("la tache%d producteur signale qu'une requete est disponible dans la file...\n", n); return 0; DWORD WINAPI consommateur(lpvoid nt) int n = *(int *)nt; // numéro de tache int requete; int i; //on consomme pendant un certain temps... for(i=0;i<(l*2);i++) //printf("la tache%d consommateur attend une requete disponible dans la file...\n", n); P(nbRequetes); requete = retirerrequete(n); V(nbCasesVides); printf("la tache%d consommateur va traiter la requete %d et libere la position...\n", n, requete); traiterrequete(n, requete); return 0; 13 Sémaphores Win32

14 tpsyswindows Semaphores correction.odt 19/01/2011 rev.59 int main(void) /* les threads */ DWORD dwthreadid1, dwthreadid2; HANDLE hthread1, hthread2; int t1 = 1, t2 = 2; // numéros des taches /* init des semaphores */ nbrequetes= CreateSemaphore(NULL, 0, L, (LPCTSTR )"SemaphoreNbRequetes"); nbcasesvides = CreateSemaphore(NULL, L, L, (LPCTSTR )"SemaphoreNbCasesVides"); // si dans un autre processus alors ouverture d'un sémaphore déjà créé //nbrequetes= OpenSemaphore(SEMAPHORE_ALL_ACCESS, FALSE, (LPCTSTR )"SemaphoreNbRequetes"); //nbcasesvides = OpenSemaphore(SEMAPHORE_ALL_ACCESS, FALSE, (LPCTSTR )"SemaphoreNbCasesVides"); srand(time(null)); //pour la simulation /* demarre les threads */ hthread1 = CreateThread(NULL, // default security attributes 0, // use default stack size consommateur, // thread function &t1, // argument to thread function 0, // use default creation flags &dwthreadid1); // returns the thread identifier hthread2 = CreateThread(NULL, // default security attributes 0, // use default stack size producteur, // thread function &t2, // argument to thread function 0, // use default creation flags &dwthreadid2); // returns the thread identifier /* attends la fin des threads */ WaitForSingleObject(hThread1, INFINITE); WaitForSingleObject(hThread2, INFINITE); CloseHandle(hThread1); CloseHandle(hThread2); CloseHandle(nbRequetes); CloseHandle(nbCasesVides); printf("fin...\n"); return 0; 14

15 Programmation Système Sémaphores Ce qui donne l'exécution suivante : 15 Sémaphores Win32

Introduction...3. Objectif...3. Manipulations...3. Gestion des utilisateurs et des groupes...4. Introduction...4. Les fichiers de base...

Introduction...3. Objectif...3. Manipulations...3. Gestion des utilisateurs et des groupes...4. Introduction...4. Les fichiers de base... Système d'exploitation Sommaire Introduction...3 Objectif...3 Manipulations...3 Gestion des utilisateurs et des groupes...4 Introduction...4 Les fichiers de base...4 Quelques commandes d'administration...5

Plus en détail

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License,

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Langage HTML Copyright 2010 tv Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any

Plus en détail

Introduction...3. Objectif...3. Manipulations...3. La Sauvegarde...4. Les différents types...4. Planification...4. Les outils...5

Introduction...3. Objectif...3. Manipulations...3. La Sauvegarde...4. Les différents types...4. Planification...4. Les outils...5 Système d'exploitation Sommaire Introduction...3 Objectif...3 Manipulations...3 La Sauvegarde...4 Les différents types...4 Planification...4 Les outils...5 Quelques commandes...5 La commande tar...5 La

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

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

4. Outils pour la synchronisation F. Boyer, Laboratoire Lig Fabienne.Boyer@imag.fr

4. Outils pour la synchronisation F. Boyer, Laboratoire Lig Fabienne.Boyer@imag.fr 4. Outils pour la synchronisation F. Boyer, Laboratoire Lig Fabienne.Boyer@imag.fr Le problème Insuffisance des solutions de base (verrous) Les solutions de plus haut niveau Les Sémaphores Les Moniteurs

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

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

Testez votre installation. Créer un répertoire vide

Testez votre installation. Créer un répertoire vide http://www.gnu.org/software/dejagnu/ Exposé sur DejaGNU Sommaire Présentation 1 Comment l obtenir.. 1 Comment obtenir la documentation 1 Comment çà marche 1 Remarque 5 Présentation DejaGnu est un système

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

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

Guide pratique de CSPM, l'outil de suivi des performances du système Version française du Complete System Performance Monitor HOWTO

Guide pratique de CSPM, l'outil de suivi des performances du système Version française du Complete System Performance Monitor HOWTO Guide pratique de CSPM, l'outil de suivi des performances du système Version française du Complete System Performance Monitor HOWTO Chris Lorenz Adaptation française:

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

É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

Brefs rappels sur la pile et le tas (Stack. / Heap) et les pointeurs

Brefs rappels sur la pile et le tas (Stack. / Heap) et les pointeurs Brefs rappels sur la pile et le tas (Stack / Heap) et les pointeurs (exemples en C) v1.11 - Olivier Carles 1 Pile et Tas Mémoire allouée de manière statique Mémoire Allouée Dynamiquement variables locales

Plus en détail

INTRODUCTION À LA PROGRAMMATION CONCURRENTE

INTRODUCTION À LA PROGRAMMATION CONCURRENTE INTRODUCTION À LA PROGRAMMATION CONCURRENTE POLYCOPIÉ DU COURS PCO1 Prof. Claude Evéquoz Prof. Yann Thoma HEIG-VD 2009 Table des matières Table des matières 2 1 Introduction à la programmation concurrente

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

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

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

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

Les systèmes pare-feu (firewall)

Les systèmes pare-feu (firewall) Copyright (c) 2003 tv Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published

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

et Active Directory Ajout, modification et suppression de comptes, extraction d adresses pour les listes de diffusion

et Active Directory Ajout, modification et suppression de comptes, extraction d adresses pour les listes de diffusion et Active Directory Ajout, modification et suppression de comptes, extraction d adresses pour les listes de diffusion Copyright 2009 Alt-N Technologies. 3 allée de la Crabette Sommaire Résumé... 3 MDaemon

Plus en détail

Avant-propos. VERSION 20021216 Compilation du document à l aide de PDFLATEX Philippe Charlier. 1 Version actuelle : SPIP 1.5 2 http ://www.uzine.

Avant-propos. VERSION 20021216 Compilation du document à l aide de PDFLATEX Philippe Charlier. 1 Version actuelle : SPIP 1.5 2 http ://www.uzine. Avant-propos SPIP 1 est le système de publication développé par le minirézo pour la gestion du site uzine 2. Nous le livrons à chacun, sous licence libre (GPL). Vous pouvez donc l utiliser librement pour

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

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

M2-Images. Rendu Temps Réel - OpenGL 4 et compute shaders. J.C. Iehl. December 18, 2013

M2-Images. Rendu Temps Réel - OpenGL 4 et compute shaders. J.C. Iehl. December 18, 2013 Rendu Temps Réel - OpenGL 4 et compute shaders December 18, 2013 résumé des épisodes précédents... création des objets opengl, organisation des données, configuration du pipeline, draw,... opengl 4.3 :

Plus en détail

NTP (Network Time Protocol)

NTP (Network Time Protocol) NTP (Network Time Protocol) Nous utilisons l'environnement du Lab Guide de Novell, pour nous familiariser avec SLES-10, roulant sous un serveur VMware Server 1.0.6. A: sles101-nsm (SLES10.1/OES2.0) B:

Plus en détail

Paris Airports - Web API Airports Path finding

Paris Airports - Web API Airports Path finding Paris Airports - Web API Airports Path finding Hackathon A660 Version Version Date writer Comment 1.0 19/05/2015 Olivier MONGIN Document creation Rédacteur : Olivier.MONGIN@adp.fr Date : 19/05/2015 Approbateur

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

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

Déploiement OOo en environnement Windows Terminal Server

Déploiement OOo en environnement Windows Terminal Server Déploiement OOo en environnement Windows Terminal Server Version 1.00 du 10.12.2004 Réalisé avec : OOo 1.1.3 Plate-forme / Os : Microsoft Windows Distribué par le projet fr.openoffice.org Sommaire 1 Introduction...3

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

DOCUMENTATION - FRANCAIS... 2

DOCUMENTATION - FRANCAIS... 2 DOCUMENTATION MODULE SHOPDECORATION MODULE PRESTASHOP CREE PAR PRESTACREA INDEX : DOCUMENTATION - FRANCAIS... 2 INSTALLATION... 2 Installation automatique... 2 Installation manuelle... 2 Résolution des

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

TD2/TME2 : Ordonnanceur et Threads (POSIX et fair)

TD2/TME2 : Ordonnanceur et Threads (POSIX et fair) UE PC2R page 1/8 TD2/TME2 : Ordonnanceur et Threads (POSIX et fair) Exercice 1 (Modélisation) Chemin de Fer Cet exercice est dédié à l étude d un problème de circulation de trains : Voie! out1 in1 Voie!

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

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

4. Outils pour la synchronisation F. Boyer, Laboratoire Sardes Fabienne.Boyer@imag.fr

4. Outils pour la synchronisation F. Boyer, Laboratoire Sardes Fabienne.Boyer@imag.fr 4. Outils pour la synchronisation F. Boyer, Laboratoire Sardes Fabienne.Boyer@imag.fr Le problème Insuffisance des solutions de base (verrous) Les solutions de plus haut niveau Les Sémaphores Les Moniteurs

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

SUGARCRM Sugar Open Source Guide d Installation de French SugarCRM Open Source Version 4.2

SUGARCRM Sugar Open Source Guide d Installation de French SugarCRM Open Source Version 4.2 SUGARCRM Sugar Open Source Guide d Installation de French SugarCRM Open Source Version 4.2 Version 1.0.5 Mentions légales Mentions légales Ce document est susceptible de modification à tout moment sans

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

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

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

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

DOCUMENTATION - FRANCAIS... 2

DOCUMENTATION - FRANCAIS... 2 DOCUMENTATION MODULE CATEGORIESTOPMENU MODULE CREE PAR PRESTACREA INDEX : DOCUMENTATION - FRANCAIS... 2 INSTALLATION... 2 CONFIGURATION... 2 LICENCE ET COPYRIGHT... 3 SUPPORT TECHNIQUE ET MISES A JOUR...

Plus en détail

VTP. LAN Switching and Wireless Chapitre 4

VTP. LAN Switching and Wireless Chapitre 4 VTP LAN Switching and Wireless Chapitre 4 ITE I Chapter 6 2006 Cisco Systems, Inc. All rights reserved. Cisco Public 1 Pourquoi VTP? Le défi de la gestion VLAN La complexité de gestion des VLANs et des

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

Le modèle de sécurité windows

Le modèle de sécurité windows Le modèle de sécurité windows Cours Windows 2008-2009 Franck Rupin - Laurent Gydé 1 Le modèle de sécurité windows 1 Généralités 2 Les composants du système de sécurité 3 La protection des objets 4 Audit

Plus en détail

Listes de validation dans OpenOffice Calc

Listes de validation dans OpenOffice Calc Listes de validation dans OpenOffice Calc Révision [n 0.2] 05/08/04 Réalisé avec : OOo 1.1.1 Plate-forme / Os : Toutes Distribué par le projet Fr.OpenOffice.org Table des Matières 1 But de ce how-to...3

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

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

Archivage Messagerie Evolution pour usage HTML en utilisant Hypermail

Archivage Messagerie Evolution pour usage HTML en utilisant Hypermail Finalités Archivage Messagerie Evolution pour usage HTML en utilisant Hypermail Réalisé par sa modestie Arnaud de VILLEDON de NAIDE, le 9 mars 2013 Document sous licence GPL. Vous avez le droit d'en faire

Plus en détail

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu. Seance 2: Complétion du code de jeu. (durée max: 2h) Mot clé const et pointeurs: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu. Implémentez jeu_recupere_piece

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

OPTENET DCAgent 2.01. Manuel d'utilisateur

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

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

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux Distribué par Le Projet Documentation d'openoffice.org Table of Contents 1) Préambule...3 2) Télécharger

Plus en détail

Introduction aux Machines Virtuelles avec VMKit

Introduction aux Machines Virtuelles avec VMKit Introduction aux Machines Virtuelles avec Ingénieur :, Responsables : Gaël Thomas, Gilles Müller EQUIPE REGAL LIP6 INRIA (Paris/France) un substrat de machine virtuelle : a substrate for Managed Runtime

Plus en détail

MELTING POTES, LA SECTION INTERNATIONALE DU BELLASSO (Association étudiante de lʼensaparis-belleville) PRESENTE :

MELTING POTES, LA SECTION INTERNATIONALE DU BELLASSO (Association étudiante de lʼensaparis-belleville) PRESENTE : MELTING POTES, LA SECTION INTERNATIONALE DU BELLASSO (Association étudiante de lʼensaparis-belleville) PRESENTE : Housing system est un service gratuit, qui vous propose de vous mettre en relation avec

Plus en détail

Programmation Système (en C sous linux) Rémy Malgouyres LIMOS UMR 6158, IUT département info Université Clermont 1, B.P.

Programmation Système (en C sous linux) Rémy Malgouyres LIMOS UMR 6158, IUT département info Université Clermont 1, B.P. Programmation Système (en C sous linux) Rémy Malgouyres LIMOS UMR 6158, IUT département info Université Clermont 1, B.P. 86 63172 AUBI Une version PDF de ce document est téléchargeable sur mon site web,

Plus en détail

I00 Éléments d architecture

I00 Éléments d architecture I00 I Exemples d ordinateur Pour les informaticiens, différentes machines de la vie courante sont des ordinateurs : par exemple les ordinateurs portables, les ordinateurs fixes, mais aussi les supercalculateurs,

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

Phone Manager Soutien de l'application OCTOBER 2014 DOCUMENT RELEASE 4.1 SOUTIEN DE L'APPLICATION

Phone Manager Soutien de l'application OCTOBER 2014 DOCUMENT RELEASE 4.1 SOUTIEN DE L'APPLICATION Phone Manager Soutien de l'application OCTOBER 2014 DOCUMENT RELEASE 4.1 SOUTIEN DE L'APPLICATION Salesforce NOTICE The information contained in this document is believed to be accurate in all respects

Plus en détail

Raccordement des machines Windows 7 à SCRIBE

Raccordement des machines Windows 7 à SCRIBE SCOL-TELESERVICES Rectorat de Bordeaux Direction Informatique Tour Paul Victor de Sèze 3 Terrasse du Front du Médoc 33000 BORDEAUX Document de travail => de nombreux paramètres sont susceptibles de changer

Plus en détail

Maîtriser le menu contextuel dans un OfficeBean

Maîtriser le menu contextuel dans un OfficeBean Maîtriser le menu contextuel dans un OfficeBean Diffusé Par Le Projet Documentation d'openoffice.org Version 1.0 Aurélie Schröder Université de Genève Division informatique AurelieSch@netcourrier.com Table

Plus en détail

Cours de Système : Gestion de Fichiers

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

Plus en détail

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs Utilisation des classes de PourCGI par Michel Michaud, version 2002-11-23 Les fichiers PourCGI.h et PourCGI.cpp rendent disponibles deux classes et une fonction libre qui permettent de faire facilement

Plus en détail

Quel serveur pour vous?

Quel serveur pour vous? Quel serveur pour vous? Ces questions vous semblent-elles familières? Protection des données J ai peur de perdre mes données si mon PC crashe. J ai besoin de protéger des données sensibles J ai besoin

Plus en détail

Manuel d'exploitation de l'application Vitamin version 1.0

Manuel d'exploitation de l'application Vitamin version 1.0 Manuel d'exploitation de l'application Vitamin version 1.0 Ce document a pour but de décrire les procédures d'exploitation de l application Vitamin Manuel d'exploitation de l'application vitamin, version

Plus en détail

Introduction : les processus. Introduction : les threads. Plan

Introduction : les processus. Introduction : les threads. Plan IN328 Programmation distribuée avec Java et J2EE 2 - Threads en Java Introduction : les processus Un processus est un ensemble d instructions à exécuter, un espace mémoire réservé et éventuellement d autres

Plus en détail

Guide de récupération de Windows Server 2003 R2 pour serveurs Sun x64

Guide de récupération de Windows Server 2003 R2 pour serveurs Sun x64 Guide de récupération de Windows Server 2003 R2 pour serveurs Sun x64 Sommaire Introduction 1 Procédure de réinstallation 1 Documentation associée 5 Vos commentaires nous sont utiles 5 Introduction Ce

Plus en détail

On appelle variable condition une var qui peut être testée et

On appelle variable condition une var qui peut être testée et Un concept plus général: g Variables condition On appelle variable condition une var qui peut être testée et endort le thread qui la teste si la condition est fausse le réveille quand la condition devient

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

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

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

Plus en détail

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

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

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

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

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

DOCUMENTATION MODULE BLOCKCATEGORIESCUSTOM Module crée par Prestacrea - Version : 2.0

DOCUMENTATION MODULE BLOCKCATEGORIESCUSTOM Module crée par Prestacrea - Version : 2.0 DOCUMENTATION MODULE BLOCKCATEGORIESCUSTOM Module crée par Prestacrea - Version : 2.0 INDEX : DOCUMENTATION - FRANCAIS... 2 1. INSTALLATION... 2 2. CONFIGURATION... 2 3. LICENCE ET COPYRIGHT... 3 4. MISES

Plus en détail

Web Application Firewalls (WAF)

Web Application Firewalls (WAF) Web Application Firewalls (WAF) Forum CERT-IST Paris le 9 Juin 2009 Sébastien GIORIA (sebastien.gioria@owasp.org) French Chapter Leader Copyright 2009 - The OWASP Foundation Permission is granted to copy,

Plus en détail

Outils pour la pratique

Outils pour la pratique Cinquième partie Outils pour la pratique 121 CHAPITRE 1 Les bases des séances de TP Avant de lire cettre section, il est suggéré de relire vos notes de cours se rapportant au système d exploitation Unix.

Plus en détail

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

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

Plus en détail

Utiliser un proxy sous linux

Utiliser un proxy sous linux Utiliser un proxy sous linux Par LoiselJP Le 22/05/2013 Objectif Les systèmes d exploitation sont de plus en plus gourmand en ressource, notemment en consommation réseau. C est d autant plus vrai que Linux

Plus en détail

Tous les logiciels cités dans ce document sont des marques déposées de leurs propriétaires respectifs

Tous les logiciels cités dans ce document sont des marques déposées de leurs propriétaires respectifs * / VHUYHX 3UR[ :LQ*DWH,QVWDOODWLRQ &RQILJXUDWLR + GH,-, HUYLFH, :LQ*DWH &RQILJXUDWLRQ. GH. DSSOLFDWLRQ. FOLHQWHV FKULVWRSKHFDURQ#HGXFDJULIU! "# $&%' ( ) Tous les logiciels cités dans ce document sont

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

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

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation

J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation J2SE Threads, 1ère partie Principe Cycle de vie Création Synchronisation Cycle Ingénierie 2e année SIGL Dernière mise à jour : 19/10/2006 Christophe Porteneuve Threads Principes Cycle de vie Création java.lang.thread

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

Derrière toi Une machine virtuelle!

Derrière toi Une machine virtuelle! Derrière toi Une machine virtuelle! Yann-Gaël Guéhéneuc guehene@emn.fr École des Mines de Nantes, France Object Technology International Inc., Canada D où ça vient? Calculatrice Machine de Turing 1936

Plus en détail

BASES DE DONNEES TP POSTGRESQL

BASES DE DONNEES TP POSTGRESQL 2003-2004 Université Paris Dauphine IUP Génie Mathématique et Informatique IUP 2 ème année et Formation Continue BASES DE DONNEES TP POSTGRESQL Maude Manouvrier La reproduction de ce document par tout

Plus en détail

Cours de C. Allocation dynamique. Sébastien Paumier

Cours de C. Allocation dynamique. Sébastien Paumier Cours de C Allocation dynamique Sébastien Paumier paumier@univ-mlv.fr Illustrations provenant du site http://tux.crystalxp.net/ 1 Les pointeurs pointeur=adresse mémoire+type type* nom; nom pointe sur une

Plus en détail

Arguments d un programme

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

Plus en détail

Algorithmique & Langage C IUT GEII S1. Notes de cours (première partie) cours_algo_lgc1.17.odp. Licence

Algorithmique & Langage C IUT GEII S1. Notes de cours (première partie) cours_algo_lgc1.17.odp. Licence Licence Algorithmique & Langage C Paternité - Pas d'utilisation Commerciale Partage des Conditions Initiales à l'identique 2.0 France Vous êtes libres : * de reproduire, distribuer et communiquer cette

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

Info0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java

Info0604 Programmation multi-threadée. Cours 5. Programmation multi-threadée en Java Info0604 Programmation multi-threadée Cours 5 Programmation multi-threadée en Java Pierre Delisle Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique 18 février 2015 Plan

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