Projet de Programmation

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

Download "Projet de Programmation"

Transcription

1 Projet de Programmation Système : Sémaphores et synchronisation de threads. Le problème du barbier : conception d une application multithreadée, synchronisée avec des sémaphores et des locks à la norme POSIX b. Nicolas Sayer 9 février 1998 Version 1 1 Introduction. Désolé, ce n est pas une habitude de ma part de transgresser les règles annoncées (contrairement à ce que pense mon père), mais je me voyais assez difficilement développer ce projet sous Windows, n ayant pas de Windows chez moi. De plus je dois avouer que je ne suis pas trop fana du monde de Bill. J ai donc écris et testé le programme sous UNIX en respect des normes POSIX sur les threads. Le programme compile et fonctionne sous Linux et Solaris Description détaillée du problème. Il s agit d un salon de coiffure dans lequel on rase la barbe des gens. Un seul barbier travaille dans ce salon. Le salon est décomposé en une salle d attente possédant un nombre fixe de chaises et une table avec des bandes dessinées, ainsi qu une salle de travail où le barbier rase le client en cours. Accessoirement cette salle de travail lui sert de chambre à coucher quand il n a pas de client, car notre barbier a la méchante habitude de faire la fête toute la nuit, il rattrape donc ces heures de sommeil perdues lorsque le salon est calme. Quand un client arrive, celui-ci ouvre la porte du salon de coiffure. Si aucune place n est disponible il reste dehors (même en février). Sinon il va s asseoir dans une chaise libre. A l ouverture de la porte un carillon venitien sonne pour réveiller notre barbier, si jamais il avait piqué un somme. Quand le barbier se

2 2 3 ANALYSE. libère d un client, celui-ci n a pas le droit de dormir si il reste du monde en salle. Il ouvre la porte et crie AU PROCHAIN!. A cet instant là un concours de vitesse a lieu entre chaque client. Celui qui est le plus rapide à poser sa BD est le prochain à se faire raser 1. Lorsque le barbier a fini de raser un client, ce dernier paye 10 francs (nous sommes toujours dans les années trente). Puis il quitte le salon. Le barbier prend le prochain client, à défaut il va se coucher...et ainsi de suite. 3 Analyse. 3.1 Organisation des threads. Notre programme devra être décomposé en deux types de threads. D un côté il y aura le barbier, représenter par un thread unique bouclant sans cesse pour voir si un client est là, s occuper de lui s il est là, ou alors aller se coucher. De l autre côté il y aura un thread par client, qui fera toutes les tâches du client physique. Il essayera de rentrer dans la boutique, ira s asseoir s il le peu, se fera raser, et disparaîtra. Alors que notre programme possédera un seul barbier, il pourra y avoir autant de clients que d hommes sur la planète (ou de moins que de place en mémoire). Les threads clients s empilerons donc en attendant que de la place se libère dans la salle d attente, puis que le barbier s occupe d eux. 3.2 Que fait le barbier? Le thread symbolisant la barbier sera donc unique. Il sera démarrś au lancement du programme, avant tout client, et bouclera sur lui-même pour l éternité. Voici ce que notre barbier passera sa vie à faire : Est-ce-qu il y a quelqu un dans la salle d attente? Si oui je m occupe de son cas, sinon je vais me coucher ; Quand un client est là je le fais entrer à l abbatoire ; Je le rase ; Je lui donne congé. Evidement, quand on arrive à la fin on re-boucle. 3.3 Que fait le client? Voici les actions que réalisera le thread symbolisant chaque client. S il y a plusieurs clients, des threads identiques seront en concurrence : Je regarde dans le salon de coiffure pour voir s il y a de la place de libre. Si oui je rentre, sinon j attend ; Quand je suis à l intérieur je m assieds sur une chaise (et je prens ma BD) ; J attends que le barbier soit libre ; Je me lève de ma chaise (et libère donc une place) et je rentre dans la pièce ; 1 situation peu réelle, mais vous avez du remarquer que ce salon de coiffure des années trente n est pas commun.

3 3 Je me laisse tailler la barbe ; Quand il a fini, je paye et je rentre chez moi. En regardant la différence de taille entre la liste d actions du barbier et du client, on remarque que le client fait plus de choses. En fait le client doit gérer une ressource supplémentaire par rapport au barbier : la place libre dans la salle d attente lorsqu il se présente à l entrée du salon. 4 Les ressources. Lors de la mise au point du programme je me suis trouvé devant deux façons de gérer les ressources. Soit j optimise au maximum et j ai un sémaphore et un lock en moins 2, soit j essaye de faire propre. J ai préféré la seconde solution car elle est beaucoup plus claire. Les primitives des sémaphores et des locks sous UNIX étant implantés au niveau du noyau, la différence en temps processeur est quasi-nulle. 4.1 Les nécessités. Tout d abord il est clair qu il va falloir un sémaphore sur le nombre de places de libre dans la salle d attente. Il limitera le nombre client pouvant se trouver dans la salle simultanément. Quand un client de trop se présentera le thread se mettra en attente de la libération de la ressource. Maintenant il faut gérer le sommeil du barbier. Il nous faut un sémaphore bloquant le barbier quand aucun client n est là. Il doit donc être incrémenté à l arrivée de chaque client et initialisé à zéro. Je viens ici de m occuper du simple. Passons maintenant à la gestion du passage du client. Il faut que le thread du barbier et celui du client est un moment en commun quand le rasage a lieu. Il existe une myriade de bidouilles possibles, mais le plus simple est encore de posséder deux sémaphores : un pour l arrivée du client, le second pour son départ. Pour finir j ai rajouté la gestion du paiement. Sans grand intérêt mais histoire de tripoter les mutex de POSIX. 4.2 Description détaillé. Voici la façon dont seront utilisés les quatre sémaphores de notre barbier virtuel : places Nombre de places disponible dans la salle d attente du salon. Lors de l arrivée d un client, celui-ci réalise un wait sur ce sémaphore. Si le nombre de place libre est nulle à son arrivée, il attendra qu un client libère une chaise. Le client réalise un post quand il réussit à rentrer dans la pièce du barbier (donc qu il se lève de la chaise). 2 Le lock sur la caisse est inutile car le client paye en fin de rasage et un seul client est rasé en même temps. Le barbier de son côté ne consulte jamais le montant de ces recettes quand un client est là.

4 4 5 ORGANISATION DU PROGRAMME. salle vide Le sémaphore salle vide correspond à une valeur égale au nombre de client se trouvant dans la salle d attente. Quand cette salle d attente ne compte aucun client elle vaut 0. Le barbier réalise un wait sur ce sémaphore et se bloque (va se coucher) quand la salle est vide. piece Ce sémaphore est initialisé à 0. Tout client arrivant dans la salle d attente se met en attente de la libération de cette ressource. Il est libérée par le barbier quand celui-ci est prêt à recevoir un client dans sa pièce de travail. dehors Le but de ce sémaphore est très proche du précédant. Le client effectue un wait dessus et c est le barbier qui libérera cette ressource par un post quand il a fini de raser le client. Alors que le sémaphore précédant synchronisait le début du rasage, celui-ci synchronise la fin. Je vais présenter maintenant un tableau récapitulatif de l évolution de chacun de ces sémaphores pendant le passage d un client dans ce salon de coiffure. Je suppose que le salon est vide avant son arrivé et qu aucun autre client n arrive pendant qu il est là. Je ne décrierai pas le fonctionnement du lock, il est assez explicite. places salle vide piece dehors action état initial exec(main) barbier couché 8 (0) 0 0 b :wait(salle_vide) arrivée d un client (8) (0) 0 0 c :wait(places) le client s asseoie 7 +(0) 0 0 c :post(salle_vide) le client attend 7 0 (0) 0 c :wait(piece) accueil du client 7 0 +(0) 0 b :post(piece) le client entre c :post(places) client en rasage (0) c :wait(dehors) le barbier rase (0) b :sleep() il libère son client (0) b :post(dehors) Les sémaphores encadrés par une paire de parenthèses signifient qu un wait a été effectué sur cette ressource et qu un thread est donc bloqué, en attente de la libération de cette ressource. Le + signifie qu un post a été effectué. 5 Organisation du programme. Notre programme : le barbier virtuel possède trois groupes de variables globales : Les quatre sémaphores ; Le lock pour la caisse ; La valeur de cette caisse. Il possède en plus deux fonctions : proc barbier et proc client, respectivement les procédures du barbier et du client. Le programme principal (main) s occupe tout d abord d initialiser les sémaphores et le lock. Puis il créé le thread correspondant au barbier. Celui-ci va directement se coucher vu qu aucun client n a encore été créé. Les threads simulant le client sont créés un par un, de façon dynamique quand l utilisateur appuie sur la touche entrée. S il laisse son doigt enfoncé quelques secondes sur la touche il peut créér très rapidement un nombre important de clients. Les résultats de l application sont envoyés sur la sortie standard (stdout).

5 5 Remarques d utilisation : Sur une station rapide ce petit programme peut très rapidement faire des bétises. Sous le système d exploitation Linux la machine a recours à l appel noyau clone() pour créer un nouveau thread, ce qui a pour effet de créer un nouveau processus. Lors de mes testes je me suis trouvé (après m être endormi moi-même sur la touche entrée ) avec plus de 200 processus client qui attendaient mon pauvre barbier... 6 Code source et exemple d utilisation. 6.1 Le fichier : Makefile Ce fichier contient les directives de compilation et de linkage pour créér le fichier exécutable. OBJ = barber.o LIB = -lpthread cc = gcc barber: $(OBJ) $(cc) -o barber $(OBJ) $(LIB) barber.o: clean: rm -f $(OBJ) barber core *~ 6.2 Le fichier : barber.c Voici le code source du simulateur de barbier. Il est écrit en C normé ANSI en respectant la norme POSIX actuelle sur les threads et les sémaphores. / NOM : barber.c VERSION : 2 AUTEUR : Nicolas Sayer COMPIL : gcc ARCH : POSIX b / #include <stdio.h> #include <unistd.h> #include <pthread.h> #include <semaphore.h> / Taille de la salle d attente / #define NB PLACES 8 / Lock pour le porte monnaie / pthread mutexattr t mutex attr ; pthread mutex t money lock ;

6 6 6 CODE SOURCE ET EXEMPLE D UTILISATION. / Les quatres semaphores / sem t places ; sem t salle vide ; sem t piece ; sem t dehors ; / Caisse du barbier / int porte monnaie=0 ; void proc barbier(void ptr) ; void proc client(void ptr) ; void main(void) / Thread du barbier / pthread t barbier ; / Ptr sur thread pour les clients / pthread t ptr sur thread ; / Init des semaphores / sem init(&places, 0, NB PLACES) ; sem init(&salle vide, 0, 0) ; sem init(&piece, 0, 0) ; sem init(&dehors, 0, 0) ; / Init du lock / pthread mutex init(&money lock, &mutex attr) ; / On demarre le barbier / pthread create(&barbier, NULL, (void )&proc barbier, NULL) ; / Quand le user fait un retour de chariot, on lance un client / while(1) getchar() ; printf("main : creation client.\n") ; ptr sur thread=(void )malloc(sizeof(pthread t)) ; pthread create((void )&ptr sur thread, NULL, (void )&proc client, NULL) ; / Quand le barbier meurt, on exit / pthread join(barbier, NULL) ; void proc barbier(void ptr) int i ; printf("b : Ouverture du magazin.\n") ; while(1)

7 6.3 Exemple. 7 sem getvalue(&salle vide, &i) ; if(i==0) pthread mutex lock(&money lock) ; i=porte monnaie ; pthread mutex unlock(&money lock) ; printf("b : je vais me coucher, journee a %i francs... pour l instant.\n",i ) ; sem wait(&salle vide) ; sem post(&piece) ; printf("b : je mousse un client.\n", i) ; sleep(2) ; printf("b : fini.\n") ; sem post(&dehors) ; void proc client(void ptr) int i ; printf("c : J arrive\n") ; sem getvalue(&places, &i) ; printf("c : Il reste %i places de libre.\n", i) ; sem wait(&places) ; printf("c : Je me pose sur une chaise (et je prend une BD).\n", i) ; sem post(&salle vide) ; sem wait(&piece) ; sem post(&places) ; printf("c : Je rentre dans la piece et me fait raser.\n") ; pthread mutex lock(&money lock) ; porte monnaie=porte monnaie+10 ; pthread mutex unlock(&money lock) ; sem wait(&dehors) ; printf("c : Je rentre chez moi, apres avoir payer.\n") ; 6.3 Exemple. Voici les messages sortie à l écran lors de l execution du barbier et la création de quelques clients : [sayer@hike source]$./barber b: Ouverture du magazin. b: je vais me coucher, journee a 0 francs... pour l instant. c: Il reste 8 places de libre.

8 8 6 CODE SOURCE ET EXEMPLE D UTILISATION. b: je vais me coucher, journee a 10 francs... pour l instant. c: Il reste 8 places de libre. c: Il reste 8 places de libre. c: Il reste 7 places de libre. c: Il reste 6 places de libre. c: Il reste 5 places de libre. b: je vais me coucher, journee a 60 francs... pour l instant.

9 9 7 Conclusion. J ai du passer sûrement quelques dizaines d heures sur les threads et les sémaphores pendant cette dernière session, mais j avoue que c était bien plus pour m amuser que pour réaliser ce rapport. Il est en effet très intéressant de voir les différents choix qu on pu faire Sun, Microsoft, ou Linux pour gérer les threads. J ai ainsi pu apprécier la très grande différence en temps d exécution entre une machine mono-processeur et une machine multi-processeur. Il y aurait évidemment beaucoup d extentions possible à faire à ce programme. Il serait intéressant que les clients soient traiter dans leur ordre d arrivée, ou que le salon soit animé par plusieurs barbiers. La raison pour laquelle j ai apprécié tout particulièrement ce TP est que j ai pu l étudier et le réaliser dans mon environnement fétiche, avec mes outils préférés (gcc, gdb, L A TEX)...

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

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

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

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

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

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

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

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

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

Quelques éléments de compilation en C et makefiles

Quelques éléments de compilation en C et makefiles Quelques éléments de compilation en C et makefiles Guillaume Feuillade 1 Compiler un programme C Le principe de la compilation consiste à passer d un ensemble de fichiers de code à un programme exécutable

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

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

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

S ickness Impact Profile (SIP)

S ickness Impact Profile (SIP) Nom : Prénom : Date de naissance : Service : Hôpital/Centre MPR : Examinateur : Date du jour : Étiquettes du patient S ickness Impact Profile (SIP) Il présente le même problème de droit d auteur (pour

Plus en détail

Descripteur global Interaction orale générale

Descripteur global Interaction orale générale Descripteur global Peut produire des expressions simples isolées sur les gens et les choses. Peut se décrire, décrire ce qu il fait, ainsi que son lieu d habitation. Interaction orale générale Peut interagir

Plus en détail

Tutoriel Création d une source Cydia et compilation des packages sous Linux

Tutoriel Création d une source Cydia et compilation des packages sous Linux Tutoriel Création d une source Cydia et compilation des packages sous Linux 1. Pré-requis 1. Quelques connaissances sous Linux 2. Avoir à disposition un Serveur FTP pour héberger votre source 3. Un thème

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

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

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

Network musical jammin

Network musical jammin Network musical jammin Projet PC2R - 2015 Pour ce projet, nous allons réaliser une application permettant d effectuer des jams sessions en temps-réel entre des musiciens répartis à travers le monde. Le

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

Un ordonnanceur stupide

Un ordonnanceur stupide Un ordonnanceur simple Université Paris Sud L objet des exercices qui suivent est de créer un ordonanceur implantant l algorithme du tourniquet ( round-robin scheduler ). La technique utilisée pour élire

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

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

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

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

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

<Insert Picture Here> Solaris pour la base de donnés Oracle

<Insert Picture Here> Solaris pour la base de donnés Oracle Solaris pour la base de donnés Oracle Alain Chéreau Oracle Solution Center Agenda Compilateurs Mémoire pour la SGA Parallélisme RAC Flash Cache Compilateurs

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

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

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

Accès au Serveur de PAIE «SPV» par INTERNET Paramétrage du poste de travail «Windows»

Accès au Serveur de PAIE «SPV» par INTERNET Paramétrage du poste de travail «Windows» Accès au Serveur de PAIE «SPV» par INTERNET Paramétrage du poste de travail «Windows» 1 Introduction... 2 2 Contrôle de la version d Internet Explorer... 3 3 Contrôle de la Machine Virtuelle Java de Microsoft...

Plus en détail

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de

Plus en détail

école maternelle porte clé serrure sonnette salle de jeux escalier ÉCOLE MATERNELLE PORTE CLÉ SERRURE SONNETTE SALLE DE JEUX ESCALIER

école maternelle porte clé serrure sonnette salle de jeux escalier ÉCOLE MATERNELLE PORTE CLÉ SERRURE SONNETTE SALLE DE JEUX ESCALIER école ÉCOLE maternelle MATERNELLE porte PORTE clé CLÉ serrure SERRURE sonnette SONNETTE salle de jeux SALLE DE JEUX escalier ESCALIER marche MARCHE rampe RAMPE couloir COULOIR portemanteau PORTEMANTEAU

Plus en détail

Mon premier rpm. http://alexandre-mesle.com 7 juin 2010. 1 Avant de commencer 2 1.1 RPM... 2 1.2 URPMI... 2 1.3 RPMBUILD... 2

Mon premier rpm. http://alexandre-mesle.com 7 juin 2010. 1 Avant de commencer 2 1.1 RPM... 2 1.2 URPMI... 2 1.3 RPMBUILD... 2 Mon premier rpm http://alexandre-mesle.com 7 juin 2010 Table des matières 1 Avant de commencer 2 1.1 RPM....................................................... 2 1.2 URPMI.....................................................

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

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés

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

Les outils de SEO (Référencement naturel) et les Sites SharePoint Public sur Office 365

Les outils de SEO (Référencement naturel) et les Sites SharePoint Public sur Office 365 Les outils de SEO (Référencement naturel) et les Sites SharePoint Public sur Office 365 Bonjour, comme beaucoup d entre vous j ai créé mon site public sur Office 365. Je suis comme vous je pense à la recherche

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

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

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

Unix/Linux I. 1 ere année DUT. Université marne la vallée

Unix/Linux I. 1 ere année DUT. Université marne la vallée Unix/Linux I 1 ere année DUT Université marne la vallée 1 Introduction 2 Fonctions et spécifité d Unix Architecture 3 4 5 Fichier Unix Arborescence de fichiers Quelques commandes sur les fichiers Chemins

Plus en détail

BONNE NOUVELLE, À PARTIR DE DEMAIN 15 AOÛT 2014, l inscription en ligne sera disponible à partir du site de l ARO.

BONNE NOUVELLE, À PARTIR DE DEMAIN 15 AOÛT 2014, l inscription en ligne sera disponible à partir du site de l ARO. ARO Inscription en ligne, Automne 2014 BONNE NOUVELLE, À PARTIR DE DEMAIN 15 AOÛT 2014, l inscription en ligne sera disponible à partir du site de l ARO. À partir de cette date, vous n aurez qu à vous

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

Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction

Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre. Partie I : Introduction Informatique industrielle A7-19571 Systèmes temps-réel J.F.Peyre Partie I : Introduction Plan de la première partie Quelques définitions Caractéristiques communes des applications temps-réel Exemples d

Plus en détail

OSCAR Un outil gratuit libre d images disque

OSCAR Un outil gratuit libre d images disque OSCAR Un outil gratuit libre d images disque Oscar qu est-ce? Oscar est un ensemble d'outils, packagé par l équipe de Jean-François Tissoires de l Académie de Lyon, sur un CDROM bootable qui permet aux

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

Guide d installation CLX.PayMaker Office (3PC)

Guide d installation CLX.PayMaker Office (3PC) Guide d installation CLX.PayMaker Office (3PC) Sommaire 1. Installation et reprise des données... 2 2. Premiers pas établir une connexion au compte bancaire et recevoir des informations de compte... 4

Plus en détail

Utiliser un NAS pour remplacer Dropbox via Cloud Station

Utiliser un NAS pour remplacer Dropbox via Cloud Station Utiliser un NAS pour remplacer Dropbox via Cloud Station Avec un NAS Synology et l application Cloud Station, vous pouvez synchroniser vos données sur l ensemble de vos ordinateurs et autres périphériques

Plus en détail

Performances de la programmation multi-thread

Performances de la programmation multi-thread UFR Sciences et techniques de Franche-Comté Projet semestriel 2ème année de Master Informatique Performances de la programmation multi-thread Auteur(s) : Beuque Eric Moutenet Cyril Tuteur(s) : Philippe

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 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page

Plus en détail

Rangement du Menu Démarrer

Rangement du Menu Démarrer Rangement du Menu Démarrer Qui de nous ne trouve pas le Menu Démarrer mal rangé? Cliquez sur Démarrer / Tous les programmes et c est une liste interminable de raccourcis, de dossiers contenant un ou plusieurs

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

TP, première séquence d exercices.

TP, première séquence d exercices. TP, première séquence d exercices. Benoît Valiron benoit.valiron@lipn.univ-paris13.fr 7 novembre 2010 Introduction Vous écrirez les réponses aux questions courtes sur une feuille à rendre à la fin de la

Plus en détail

L exclusion mutuelle distribuée

L exclusion mutuelle distribuée L exclusion mutuelle distribuée L algorithme de L Amport L algorithme est basé sur 2 concepts : L estampillage des messages La distribution d une file d attente sur l ensemble des sites du système distribué

Plus en détail

N importe qui possédant un code MS valide peut initier la rencontre. Néanmoins, il serait préférable de laisser cette

N importe qui possédant un code MS valide peut initier la rencontre. Néanmoins, il serait préférable de laisser cette Le produit SECURE MEETING permet notamment à un utilisateur de résoudre rapidement à distance un problème d un autre utilisateur en toute sécurité. Ce logiciel dessert les utilisateurs des plateformes

Plus en détail

Utilisation des ressources informatiques de l N7 à distance

Utilisation des ressources informatiques de l N7 à distance Utilisation des ressources informatiques de l N7 à distance Romain Pignard - Net7/INP-Net 27 mars 2010 Résumé Ce document non officiel explique comment utiliser les ressources informatiques de l école

Plus en détail

quelquefois quelques fois

quelquefois quelques fois GRAMMATICAUX DE CATÉGORIES DIFFÉRENTES QUELQUEFOIS HOMOPHONES QUELQUES FOIS 1 Homophones grammaticaux de catégories différentes quelquefois quelques fois quelquefois : adverbe Il est complément de phrase

Plus en détail

Linux Live USB Creator Créez un Live-USB «persistant» de votre distribution GNU/Linux préférée depuis Windows

Linux Live USB Creator Créez un Live-USB «persistant» de votre distribution GNU/Linux préférée depuis Windows Linux Live USB Creator Créez un Live-USB «persistant» de votre distribution GNU/Linux préférée depuis Windows Salut l étable! Vous connaissez probablement la méthode d installation et de test des distributions

Plus en détail

Remise à niveau d un programme JAVA du domaine public

Remise à niveau d un programme JAVA du domaine public Jean-Baptiste VIGUIER 12 septembre 2002 DCEM 2 jb.viguier@free.fr Remise à niveau d un programme JAVA du domaine public Dossier réalisé pour le laboratoire d oncogénétique Docteur P.GORRY MCU-PH institut

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

SHOPCAISSE NOTICE D UTILISATION. ShopCaisse est une solution d encaissement disponible sur ipad.

SHOPCAISSE NOTICE D UTILISATION. ShopCaisse est une solution d encaissement disponible sur ipad. SHOPCAISSE NOTICE D UTILISATION ShopCaisse est une solution d encaissement disponible sur ipad. Un logiciel complet qui s'adapte parfaitement à vos besoins. Vous pourrez ainsi gérer facilement votre commerce,

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

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

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

Initiation au HPC - Généralités

Initiation au HPC - Généralités Initiation au HPC - Généralités Éric Ramat et Julien Dehos Université du Littoral Côte d Opale M2 Informatique 2 septembre 2015 Éric Ramat et Julien Dehos Initiation au HPC - Généralités 1/49 Plan du cours

Plus en détail

Projet De Stijl Plate-forme pour robots mobiles

Projet De Stijl Plate-forme pour robots mobiles Projet De Stijl Plate-forme pour robots mobiles Guide de prise en main de Xenomai et des cibles Version : 22 janvier 2013 S. Di Mercurio, P.-E. Hladik Table des matières 1 Glossaire.........................................

Plus en détail

Poker. A rendre pour le 25 avril

Poker. A rendre pour le 25 avril Poker A rendre pour le 25 avril 0 Avant propos 0.1 Notation Les parties sans * sont obligatoires (ne rendez pas un projet qui ne contient pas toutes les fonctions sans *). Celles avec (*) sont moins faciles

Plus en détail

Le Logiciel de Facturation ultra simplifié spécial Auto-Entrepreneur

Le Logiciel de Facturation ultra simplifié spécial Auto-Entrepreneur Le Logiciel de Facturation ultra simplifié spécial Auto-Entrepreneur La Facturation Le Livre chronologique des Recettes Le Registre des Achats Le Suivi du Chiffre d Affaires en temps réel Site internet

Plus en détail

Premiers Pas avec OneNote 2013

Premiers Pas avec OneNote 2013 Premiers Pas avec OneNote 2 Présentation de OneNote 3 Ouverture du logiciel OneNote 4 Sous Windows 8 4 Sous Windows 7 4 Création de l espace de travail OneNote 5 Introduction 5 Présentation des différentes

Plus en détail

Guide de démarrage rapide

Guide de démarrage rapide Barre d état de l objectif Heure/Date Type d activité Valeur de l activité Les illustrations de la montre et de l écran peuvent être différentes du modèle réel Guide de démarrage rapide Modèles : Move

Plus en détail

Extension d'un outil de trace pour système embarqué temps réel. Encadrants : Laurent Pautet, Jérôme Hugues

Extension d'un outil de trace pour système embarqué temps réel. Encadrants : Laurent Pautet, Jérôme Hugues Brique projet - T3 2006 Marion Strauss Extension d'un outil de trace pour système embarqué temps réel Encadrants : Laurent Pautet, Jérôme Hugues 1 Table des matières TABLE DES MATIÈRES... 2 INTRODUCTION...

Plus en détail

Modélisation des interfaces matériel/logiciel

Modélisation des interfaces matériel/logiciel Modélisation des interfaces matériel/logiciel Présenté par Frédéric Pétrot Patrice Gerin Alexandre Chureau Hao Shen Aimen Bouchhima Ahmed Jerraya 1/28 TIMA Laboratory SLS Group 46 Avenue Félix VIALLET

Plus en détail

Métriques de performance pour les algorithmes et programmes parallèles

Métriques de performance pour les algorithmes et programmes parallèles Métriques de performance pour les algorithmes et programmes parallèles 11 18 nov. 2002 Cette section est basée tout d abord sur la référence suivante (manuel suggéré mais non obligatoire) : R. Miller and

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

Sommaire Introduction... 3 Le but du projet... 3 Les moyens utilisés... 3 Informations sur le client FTP... 4 Pourquoi une version Linux et

Sommaire Introduction... 3 Le but du projet... 3 Les moyens utilisés... 3 Informations sur le client FTP... 4 Pourquoi une version Linux et Licence 3 CDA 2010/2011 Client FTP Java Maxence Jaouan Sommaire Introduction... 3 Le but du projet... 3 Les moyens utilisés... 3 Informations sur le client FTP... 4 Pourquoi une version Linux et Windows?...

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

Cours Langage C/C++ Programmation modulaire

Cours Langage C/C++ Programmation modulaire Cours Langage C/C++ Programmation modulaire Thierry Vaira BTS IRIS Avignon tvaira@free.fr «v0.1 Rappel Programmation modulaire (1/2) Le découpage d'un programme en sous-programmes est appelée programmation

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

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

Cours 1 : Qu est-ce que la programmation?

Cours 1 : Qu est-ce que la programmation? 1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre

Plus en détail

TP 1 Prise en main de l environnement Unix

TP 1 Prise en main de l environnement Unix Introduction aux systèmes d exploitation (IS1) TP 1 Prise en main de l environnement Unix Le but de ce premier TP est de commencer à vous familiariser avec l environnement Unix. 1 Ouverture de session

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

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

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework Gaël de Chalendar CEA LIST / LIC2M Journée de Présentation des Technologies WebContent INSTN 14/12/2009 Présentation de gsoap Plan

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

Configurer un réseau domestique. Partager ses fichiers, ses dossiers et ses imprimantes sur tous ses PC.

Configurer un réseau domestique. Partager ses fichiers, ses dossiers et ses imprimantes sur tous ses PC. Configurer un réseau domestique. Partager ses fichiers, ses dossiers et ses imprimantes sur tous ses PC. Pour être le plus complet possible, je vais supposer posséder 3 PC : PC de bureau sous Windows XP

Plus en détail

La petite poule qui voulait voir la mer

La petite poule qui voulait voir la mer Découverte Complète la carte d identité du livre. Titre du livre Nom de l auteur Nom de l illustrateur Editeur Que voit- on sur la 1 ère page de couverture? C est l histoire q d un poisson q d une souris

Plus en détail

L informatique en BCPST

L informatique en BCPST L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité

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

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

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

Ouvrez un compte Hotmail pour communiquer

Ouvrez un compte Hotmail pour communiquer Chapitre 5 COMMUNIQUER EN DIRECT AVEC WINDOWS OU INSTANT MESSENGER Internet Explorer met à votre disposition plusieurs modes de communication en direct, certains alliant l audio et la vidéo : MSN Messenger

Plus en détail