Série n 1 / Solutions

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

Download "Série n 1 / Solutions"

Transcription

1 Série n 1 / Solutions Exercice n 1 - les deux processus partagent une variable booléenne interesse qui sera vraie si le processus est en section critique ou demande à y rentrer, et fausse sinon, /* contexte commun */ enum BOOLEEN FAUX,VRAI; enum BOOLEEN interesse = FAUX; void entrer_section_critique(void) while (interesse == VRAI); interesse = VRAI; void sortir_section_critique(void) interesse = FAUX; supposons que interesse soit à la valeur FAUX, si chaque processus teste la variable avant que l'autre ne lui ait affecté la valeur VRAI, les deux processus s'engagerons en section critique. - les deux processus partagent une variable entière tour dont la valeur est égale au numéro du processus autorisé à s'engager en section critique, /* contexte commun */ int tour = 0; while (tour == autre); void sortir_section_critique(int processus) tour = 1 - processus; Le processus i ne peut entrer en section critique que si tour vaut i, donc l'exclusion mutuelle est assurée puisque l'accès à une variable est garanti par l'indivisibilité de

2 l'opération. Cependant, cette solution impose un fonctionnement en bascule de deux processus, ce qui est contraire avec la propriété d'indépendance (si un processus s'arrête après l'exécution de la fonction sortir_section_critique alors l'autre ne peut y rentre qu'une seule fois). - à chaque processus est associée une variable booléenne qui sera vraie si le processus est en section critique ou demande à y rentrer, et fausse sinon. /* contexte commun */ enum BOOLEEN FAUX,VRAI; enum BOOLEEN interesse[2] = FAUX,FAUX; while (interesse[autre] == VRAI); interesse[processus] = VRAI; void sortir_section_critique(int processus) interesse[processus] = FAUX; A la suite de la séquence suivante : - le processus 0 consulte interesse[1] est le trouve FAUX, - le processus 1 consulte interesse[0] est le trouve FAUX, - le processus 0 met interesse[0] à VRAI et entre en section critique, - le processus 1 met interesse[1] à VRAI et entre en section critique, l'exclusion mutuelle n'est donc pas assurée. On peut essayer de corriger la situation en faisant l'affectation avant le test : interesse[processus] = VRAI; while(interesse[autre] == VRAI); L'exclusion mutuelle est garantie : en effet, si le processus i trouve interesse[j] à FAUX, il entre en section critique, et si plus tard le processus j souhaite rentrer en section critique, il trouvera interesse[i] à VRAI et attendra. Toutefois, à la suite de la séquence suivante :

3 - le processus 0 met interesse[0] à VRAI, - le processus 1 met interesse[1] à VRAI, - le processus 1 consulte interesse[0] est le trouve VRAI, il boucle, - le processus 0 consulte interesse[1] est le trouve VRAI, il boucle, les deux processus rentre en boucle infinie, ce qui est contraire à la deuxième règle. Exercice n 2 enum BOOLEEN NON,OUI; int tour, interesse[2]; interesse[processus] = OUI; /* je veux rentrer */ tour = num_processus; /* c'est mon tour */ while (tour == processus && interesse(autre) == OUI); void sortir_section_critique(int processus) interesse[processus] = NON; Le programme ci-dessus a été imaginé par Peterson en 1980 (suite aux travaux de Dekker et Dijkstra en 1965). Le principe est simple : chaque processus doit avant d'utiliser les variables partagées, appeler entrer_section_critique, et lorsqu'il finit de les utiliser appeler sortir_section_critique. Au départ, aucun processus n'est en section critique. Le processus 0 appelle entrer_section_critique, indique qu'il est intéressé en mettant sa position à OUI, positionne tour à 0, et la fonction se termine. Si le processus 1 appelait entrer_section_critique, il devrait attendre jusqu'à ce que interesse[o] passe à FAUX, événement qui ne se produira que lorsque le processus 0 appellera sortir_section_critique. Considérons la situation où les deux processus appellent entrer_section_critique presque simultanément. Les deux sauvegarderons leur numéro dans tour, la dernière valeur sauvée efface donc la première. Si le processus 1 enregistre son numéro en dernier, lorsque les deux processus arrive sur la boucle while, le processus 0 rentre en section critique tandis que le processus 1 boucle.

4 Exercice n 3 - priorité des lecteurs sur les rédacteurs : le seul cas d'attente d'un lecteur se produit quand un rédacteur écrit dans le fichier ; un rédacteur ne peut accéder au fichier que si aucun lecteur n'est en attente ou en cours de lecture. int nl = 0; semaphore mutex1 = 1, mutex2 = 1, w = 1; LECTEURS P(mutex1) nl = nl + 1; si (nl == 1) P(W); V(mutex1) lecture du fichier P(mutex1) nl = nl - 1; si (nl == 0) ; V(mutex1) REDACTEURS P(mutex2) P(W) ecrire dans le fichier V(mutex2) w est un sémaphore d'exclusion mutuelle pour tous les rédacteurs. Il sert également au premier lecteur qui occupe le fichier et au dernier qui le libère. mutex1 est un sémaphore d'exclusion mutuelle pour les lecteurs uniquement, il protège la variable nl. Si un lecteur est bloqué par w, tous les autres le seront par mutex1. mutex2 est un sémaphore d'exclusion mutuelle pour les rédacteurs uniquement. Il assure la priorité des lecteurs sur les rédacteurs car il empêche plusieurs rédacteurs de se bloquer sur w. - priorité des lecteurs sur les rédacteurs si et seulement si un lecteur occupe déjà le fichier : les lecteurs et les rédacteurs ont la même priorité quand aucun lecteur ne lit ; dès qu'un lecteur lit, tous les autres lecteurs peuvent lire et ce quelque soit le nombre de rédacteurs en attente. int nl = 0; semaphore mutex = 1, w = 1; LECTEURS nl = nl + 1; si (nl == 1) P(W); lecture du fichier nl = nl - 1; si (nl == 0) ; REDACTEURS P(W) ecrire dans le fichier

5 w est un sémaphore d'exclusion mutuelle pour tous les rédacteurs. Il sert également au premier lecteur qui occupe le fichier et au dernier qui le libère. mutex est un sémaphore d'exclusion mutuelle pour les lecteurs uniquement, il protège la variable nl. Si un lecteur est bloqué par w, tous les autres le seront par mutex. - les lecteurs et les rédacteurs ont la même priorité : si un lecteur utilise le fichier, alors les nouveaux lecteurs y accèdent également et ce jusqu'à l'arrivée d'un rédacteur, à ce moment là les nouveaux arrivants attendent sans distinction de catégorie ; de même si un rédacteur utilise le fichier, les nouveaux arrivants attendent, et quand le rédacteur aura fini, il réveillera le premier processus en attente ; si plusieurs lecteurs se suivent dans une file d'attente, ils accèdent ensemble au fichier. int nl = 0; semaphore mutex = 1, r = 1, w = 1; LECTEURS P(r) nl = nl + 1; si (nl == 1) P(W); V(r) lecture du fichier REDACTEURS P(r) P(w) ecrire dans le fichier nl = nl - 1; si (nl == 0) ; V(r) V(r) Le sémaphores r bloque tous les lecteurs nouveaux dès qu'un rédacteur est arrivé. Le sémaphore w bloque toute écriture tant que les lectures ne sont pas finies ; il y a au plus un rédacteur bloqué dans la file associée à w. Dès qu'un lecteur passe ou est réveillé, il incrémente le compteur des lecteurs, bloque éventuellement la ressource et réveille le processus suivant de la file associée à r. L'ordre P(r) P(w) évite l'étreinte fatale ; on peut aussi faire V(r) puis V(w). L'ordre FIFO est assuré si les file associées aux sémaphores sont gérées suivant ce principe.

6 Exercice n 4 - le carrefour peut contenir une voiture semaphores mutex1 = 1, mutex2 = 1, feu1 = 1, feu2 = 0 Traversée 1 Changement Traversée 2 P(mutex1) a est un booleen VRAI; P(mutex2) P(feu1) boucle infinie P(feu2) traversée attendre(m) traversée V(feu1) si (a) alors V(feu2) V(mutex1) P(feu1) V(mutex2) V(feu2) a <- FAUX sinon P(feu2) V(feu1) a <- VRAI fin si fin boucle infinie feu1 et feu2 règle chaque file. Ils évitent aussi toute modification de feu tant qu'une voiture est dans le carrefour. mutex1 et mutex2 évite une coalition de voiture visant à bloquer un feu => une seule voiture bloqué sur feu1 ou feu2. - le carrefour peut contenir k voitures semaphores mutex1 = k, mutex2 = k, feu1 = 1, feu2 = 0, mutex = 1, w = 0 Traversée 1 Changement P(mutex1) a est un booleen VRAI; P(feu1) boucle infinie attendre(m) n <- n+1 si (a) si (n=1) P(W) P(feu1) P(W) V(feu1) V(feu2) traversée a <- FAUX sinon n <- n-1 P(feu2) si (n=0) P(W) P(W) V(feu21) V(mutex1) a <- VRAI fin si fin boucle w bloque le changement de feu tant qu'il y a des voitures dans le carrefour. A cause de P(feu) est P(w) seul le changement peut-être bloqué sur w. feu1 et feu2 règle chaque file. mutex1 et mutex2 laissent passer au plus k voitures.

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

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

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

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

Algorithmique et structures de données I

Algorithmique et structures de données I Algorithmique et structures de données I Riadh Ben Messaoud Université 7 novembre à Carthage Faculté des Sciences Économiques et de Gestion de Nabeul 1ère année Licence Fondamentale IAG 1ère année Licence

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

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

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

Plus en détail

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

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

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

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

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

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 à LabView : Les exemples d applications :

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

Plus en détail

É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

Chapitre 4 : Exclusion mutuelle

Chapitre 4 : Exclusion mutuelle Chapitre 4 : Exclusion mutuelle Pierre Gançarski Juillet 2004 Ce support de cours comporte un certain nombre d erreurs : je décline toute responsabilité quant à leurs conséquences sur le déroulement des

Plus en détail

Cours d Informatique

Cours d Informatique Cours d Informatique 1ère année SM/SMI 2007/2008, Info 2 Département de Mathématiques et d Informatique, Université Mohammed V elbenani@hotmail.com sayah@fsr.ac.ma 2007/2008 Info2, 1ère année SM/SMI 1

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

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4 1 Introduction 1-1 Chaîne de développement Algorithm e C+ + Algorigramm e languag e machine binaire Le programme est écrit à l aide de Multiprog sous forme d algorigramme puis introduit dans le microcontrôleur

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

Guide de fonctions du téléphone du système SCI Norstar

Guide de fonctions du téléphone du système SCI Norstar Guide de fonctions du téléphone du système SCI Norstar Renseignements généraux Cette fiche sert de référence rapide pour accéder aux fonctions de votre poste. Votre coordinateur de système vous avisera

Plus en détail

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. Sciences et Technologies de l Industrie et du Développement Durable Formation des enseignants parcours : ET24 Modèle de

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

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

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation

Plus en détail

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

Gestion des transactions et accès concurrents dans les bases de données relationnelles

Gestion des transactions et accès concurrents dans les bases de données relationnelles Gestion des transactions et accès concurrents dans les bases de données relationnelles Bernard ESPINASSE Professeur à Aix-Marseille Université (AMU) Ecole Polytechnique Universitaire de Marseille Fev.

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

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

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

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

Initiation à la programmation en Python

Initiation à la programmation en Python I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de

Plus en détail

Cours Bases de données 2ème année IUT

Cours Bases de données 2ème année IUT Cours Bases de données 2ème année IUT Cours 12 : Concurrence d accès Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Accès concurrents Définitions Verrous Collisions Niveaux de cohérence Blocage

Plus en détail

Fiche des fonctions du téléphone Business Communications Manager

Fiche des fonctions du téléphone Business Communications Manager Fiche des fonctions du téléphone Business Communications Manager 2001 Nortel Networks P0935986 Edition 02 Touches Cette fiche présente les touches des téléphones Business Series Terminals. Le tableau

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

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

1. Contexte général page 2. 2. Le compte auprès de la BCGE...page 2 2.1 La procuration 2.2 Les accès e-banking 2.3 Le bon de retrait 2.

1. Contexte général page 2. 2. Le compte auprès de la BCGE...page 2 2.1 La procuration 2.2 Les accès e-banking 2.3 Le bon de retrait 2. 1 REPUBLIQUE ET CANTON DE GENEVE Département de l'instruction publique, de la culture et du sport Enseignement primaire Direction générale MANUEL POUR LA TENUE DES COMPTES ÉCOLES COMPTES BCGE - TIERS UNIQUE

Plus en détail

NIVEAU D'INTERVENTION DE LA PROGRAMMATION CONCURRENTE

NIVEAU D'INTERVENTION DE LA PROGRAMMATION CONCURRENTE NIVEAU D'INTERVENTION DE LA PROGRAMMATION CONCURRENTE Une application se construit par étapes 1) CAHIER DES CHARGES + ANALYSE FONCTIONNELLE = organisation fonctionnelle (QUE FAIRE) 2) ANALYSE OPERATIONNELLE

Plus en détail

TRANSMETTEUR TELEPHONIQUE TTX = SINTEL X

TRANSMETTEUR TELEPHONIQUE TTX = SINTEL X TRANSMETTEUR TELEPHONIQUE TTX = SINTEL X CARACTERISTIQUES 3 entrées. 4 numéros de téléphone par entrée, programmés à l aide d un clavier numérique intégré. Un message de 10 secondes par entrée, et un de

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

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice

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

JEU BOURSIER 2015. Séance d introduction à la plateforme de trading SaxoWebTrader. - Pour débutants -

JEU BOURSIER 2015. Séance d introduction à la plateforme de trading SaxoWebTrader. - Pour débutants - JEU BOURSIER 2015 Séance d introduction à la plateforme de trading SaxoWebTrader - Pour débutants - A partir d un ordinateur: a) Rends-toi sur le site suisse de SaxoBank: https://webtrader.saxobank.ch/sim/login/

Plus en détail

Les différents types de données et leurs opérations de base

Les différents types de données et leurs opérations de base Séquence 2 Les différents types de données et leurs opérations de base Contenu Présentation générale... 21 Partie 1 Les 3 familles de données et l'opération d'affectation... 22 1. Les trois familles de

Plus en détail

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation Complexité Objectifs des calculs de complexité : - pouvoir prévoir le temps d'exécution d'un algorithme - pouvoir comparer deux algorithmes réalisant le même traitement Exemples : - si on lance le calcul

Plus en détail

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES

PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Leçon 11 PROBLEMES D'ORDONNANCEMENT AVEC RESSOURCES Dans cette leçon, nous retrouvons le problème d ordonnancement déjà vu mais en ajoutant la prise en compte de contraintes portant sur les ressources.

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

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

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

1 Année LMD-STSM Algorithmique et Programmation. Série de TD 2

1 Année LMD-STSM Algorithmique et Programmation. Série de TD 2 Série de TD 2 Exercice 2.1 Quel résultat produit le programme suivant? Var val, double : entier ; Val := 231 ; Double := Val * 2 ; Ecrire (Val) ; Ecrire (Double) ;. Exercice 2.2 Ecrire un programme qui

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

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

l'ordinateur les bases

l'ordinateur les bases l'ordinateur les bases Démarrage de l'ordinateur - Le bureau, mon espace de travail - J'utilise la souris - Ouvertes ou fermées, les fenêtres - Dans l'ordinateur, tout est fichier - Le clavier : écrire,

Plus en détail

mai-2008 Infogérance des serveurs conçus par SIS alp 1

mai-2008 Infogérance des serveurs conçus par SIS alp 1 Infogérance des serveurs conçus par SIS alp SIS alp 1 Infogérance pour OpenERP solutions intégrées en abonnement mensuel OpenERP-Online OpenERP-Infogérance versions VDS et Dédié OpenERP-Serveur HaaS OpenERP-Continuité

Plus en détail

Cours Informatique Master STEP

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

Plus en détail

L'instruction if permet d'exécuter des instructions différentes selon qu'une condition est vraie ou fausse. Sa forme de base est la suivante:

L'instruction if permet d'exécuter des instructions différentes selon qu'une condition est vraie ou fausse. Sa forme de base est la suivante: 420-183 Programmation 1 8. Les structures conditionnelles Dans l'écriture de tout programme informatique, une des premières nécessités que nous rencontrons est de pouvoir faire des choix. Dans une application

Plus en détail

Cours d algorithmique pour la classe de 2nde

Cours d algorithmique pour la classe de 2nde Cours d algorithmique pour la classe de 2nde F.Gaudon 10 août 2009 Table des matières 1 Avant la programmation 2 1.1 Qu est ce qu un algorithme?................................. 2 1.2 Qu est ce qu un langage

Plus en détail

Programmation impérative

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

Plus en détail

CORRECTION EXERCICES ALGORITHME 1

CORRECTION EXERCICES ALGORITHME 1 CORRECTION 1 Mr KHATORY (GIM 1 A) 1 Ecrire un algorithme permettant de résoudre une équation du second degré. Afficher les solutions! 2 2 b b 4ac ax bx c 0; solution: x 2a Solution: ALGORITHME seconddegré

Plus en détail

Traitement de texte : Quelques rappels de quelques notions de base

Traitement de texte : Quelques rappels de quelques notions de base Traitement de texte : Quelques rappels de quelques notions de base 1 Quelques rappels sur le fonctionnement du clavier Voici quelques rappels, ou quelques appels (selon un de mes profs, quelque chose qui

Plus en détail

Conditions d utilisation

Conditions d utilisation SERVICES VGA Conditions d utilisation Messagerie 3131 : Le Client Final compose le numéro 3131 pour accéder au serveur vocal du service. Un message vocal lui indique le numéro du dernier correspondant

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

Vue d'ensemble OBJECTIFS

Vue d'ensemble OBJECTIFS Vue d'ensemble Créez des plans de projet plus aboutis en apprenant à utiliser les interdépendances (ou liens) des tâches, les retards et les avances dans Microsoft Office Project 2007. OBJECTIFS À la fin

Plus en détail

Calcul Formel et Numérique, Partie I

Calcul Formel et Numérique, Partie I Calcul Formel et Numérique N.Vandenberghe nvdb@irphe.univ-mrs.fr Table des matières 1 Introduction à Matlab 2 1.1 Quelques généralités.......................... 2 2 Où trouver des informations 2 3 Opérations

Plus en détail

ACTIVITÉ DE PROGRAMMATION

ACTIVITÉ DE PROGRAMMATION ACTIVITÉ DE PROGRAMMATION The purpose of the Implementation Process is to realize a specified system element. ISO/IEC 12207 Sébastien Adam Une introduction 2 Introduction Ø Contenu Utilité de l ordinateur,

Plus en détail

Programmation Objet - Cours II

Programmation Objet - Cours II Programmation Objet - Cours II - Exercices - Page 1 Programmation Objet - Cours II Exercices Auteur : E.Thirion - Dernière mise à jour : 05/07/2015 Les exercices suivants sont en majorité des projets à

Plus en détail

gestion des processus La gestion des processus

gestion des processus La gestion des processus 1 La Pseudo parallélisme 2 Plusieurs programmes en mémoire Le processeur exécute les instructions tantôt pour l'un tantôt pour l'autre P1 P2 programme de supervision Vu de l'utilisateur => programmes en

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

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

Utilisation d'un réseau avec IACA

Utilisation d'un réseau avec IACA Utilisation d'un réseau avec IACA Réseau IACA composé d'un ou plusieurs serveurs et de station 95 ou 98 ou ME ou NTWS ou 2000 ou XP Pro. Le réseau Le serveur est un ordinateur sur lequel a été installé

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

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

JaZUp manuel de l'utilisateur v2.4

JaZUp manuel de l'utilisateur v2.4 JaZUp manuel de l'utilisateur v2.4 Introduction: JaZUp est une application basée sur Java qui vous permets de mettre à jour votre AZBox vers Enigma 2 ou revenir au firmware officiel. Vous pouvez aussi

Plus en détail

COMMUNICATION PC/MINITEL

COMMUNICATION PC/MINITEL 229 Cet article fait suite à ceux publiés dans les bulletins de l'epi n 47 page 207 et 48 page 205. Si vous avez réussi à construire un câble de liaison, vous vous êtes peut être demandé comment vous en

Plus en détail

GUIDE DU CANDIDAT BAC S CONCOURS AVENIR 2015 GUIDE DU CANDIDAT BAC «S» 2015. Page 1 sur 6

GUIDE DU CANDIDAT BAC S CONCOURS AVENIR 2015 GUIDE DU CANDIDAT BAC «S» 2015. Page 1 sur 6 GUIDE DU CANDIDAT BAC «S» 2015 Page 1 sur 6 CANDIDATURE Eligibilité : Peuvent s inscrire au Concours AVENIR : - Les élèves en terminale S (quelle que soit la spécialité), inscrits dans un lycée français

Plus en détail

TRAITEMENTS DE FIN D ANNEE

TRAITEMENTS DE FIN D ANNEE TRAITEMENTS DE FIN D ANNEE GENERALITES Le nouvel exercice peut être ouvert dès la fin de l année courante. Ainsi vous pourrez commencer la saisie des écritures concernant la nouvelle année tout en continuant

Plus en détail

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting

TD Objets distribués n 3 : Windows XP et Visual Studio.NET. Introduction à.net Remoting IUT Bordeaux 1 2005-2006 Département Informatique Licence Professionnelle ~ SI TD Objets distribués n 3 : Windows XP et Visual Studio.NET Introduction à.net Remoting Partie 1 : l'analyseur de performances

Plus en détail

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des

Plus en détail

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C Haute Ecole d Ingénierie et de Gestion Du Canton du Vaud MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C Programmation en mode simulation 1. DOCUMENTS DE RÉFÉRENCE...

Plus en détail

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

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

Plus en détail

Chapitre 4 Pierre, papier, ciseaux

Chapitre 4 Pierre, papier, ciseaux Python 3 : objectif jeux Chapitre 4 Chapitre 4 Pierre, papier, ciseaux (version graphique) 4.1. Thèmes abordés dans ce chapitre Le module tkinter : Label, Button Fenêtre Événements Réceptionnaire d'événements

Plus en détail

Version française. Serie de serrures SELO SELO-B SELO-BR

Version française. Serie de serrures SELO SELO-B SELO-BR Version française Serie de serrures SELO SELO-B SELO-BR Sicherheitsprodukte GmbH Classe de serrures et champ d application : Les serrures électroniques SELO-B et SELO-BR ont été conçues selon les prescriptions

Plus en détail

Algorithmique et programmation : les bases (VBA) Corrigé

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

Plus en détail

Actions Propres et Consolidation

Actions Propres et Consolidation Actions Propres et Consolidation igmaconso Allen White Les actions propres d une société sont des actions émises et ultérieurement détenues par celle ci, en vue soit de les annuler soit de les revendre.

Plus en détail

I- Définitions des signaux.

I- Définitions des signaux. 101011011100 010110101010 101110101101 100101010101 Du compact-disc, au DVD, en passant par l appareil photo numérique, le scanner, et télévision numérique, le numérique a fait une entrée progressive mais

Plus en détail

Chapitre 2 Devine mon nombre!

Chapitre 2 Devine mon nombre! Python 3 : objectif jeux Chapitre 2 Chapitre 2 Devine mon nombre! 2.1. Thèmes abordés dans ce chapitre commentaires modules externes, import variables boucle while condition : if... elif... else la fonction

Plus en détail

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

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

Plus en détail

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

Conventions d écriture et outils de mise au point

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

Plus en détail

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

Chapitre 2. Eléments pour comprendre un énoncé

Chapitre 2. Eléments pour comprendre un énoncé Chapitre 2 Eléments pour comprendre un énoncé Ce chapitre est consacré à la compréhension d un énoncé. Pour démontrer un énoncé donné, il faut se reporter au chapitre suivant. Les tables de vérité données

Plus en détail

Les mises à disposition de personnels ou de matériels

Les mises à disposition de personnels ou de matériels Les mises à disposition de personnels ou de matériels Les associations sont souvent confrontées à des besoins précis et ponctuels en matériel ou en personnel. Or, l'achat, la location ou l'embauche s'avèrent

Plus en détail

VIII- Circuits séquentiels. Mémoires

VIII- Circuits séquentiels. Mémoires 1 VIII- Circuits séquentiels. Mémoires Maintenant le temps va intervenir. Nous avions déjà indiqué que la traversée d une porte ne se faisait pas instantanément et qu il fallait en tenir compte, notamment

Plus en détail

Manuel d utilisation du téléphone IP Cisco Small Business Pro SPA525G

Manuel d utilisation du téléphone IP Cisco Small Business Pro SPA525G Manuel d utilisation du téléphone IP Cisco Small Business Pro SPA525G v4 - Octobre 2011 1 Table des matières 1. Présentation du téléphone... 3 1.1 Ecran LCD et fonctions logicielles... 3 1.2 Touches du

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

Comment utiliser le lecteur MP3?

Comment utiliser le lecteur MP3? Comment utiliser le lecteur MP3? Comment utiliser le lecteur MP3? Pour des raisons de sécurité, certaines fonctions sont désactivées lors de la conduite. Bouton PWR Bouton (SOURCE) MENU Touches de changement

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

V 8.2. Vous allez utiliser les services en ligne de la plate forme de dématérialisation de la Salle des Marchés achatpublic.com.

V 8.2. Vous allez utiliser les services en ligne de la plate forme de dématérialisation de la Salle des Marchés achatpublic.com. MANUEL D UTILISATION DE LA SALLE DES MARCHES ACCES ENTREPRISES V 8.2 APPEL D OFFRES RESTREINT Vous allez utiliser les services en ligne de la plate forme de dématérialisation de la Salle des Marchés achatpublic.com.

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