ELE-542 Systèmes ordinés en temps réels. Cours # 10 Contrôle d accès et synchronisation
|
|
- Josselin Truchon
- il y a 8 ans
- Total affichages :
Transcription
1 ELE-542 Systèmes ordinés en temps réels Cours # 10 Contrôle d accès et synchronisation Jean-Marc Beaulieu et Bruno De Kelper Site internet: Systèmes ordinés en temps réel Cours 10 1 Queues de messages Objets qui permettent de transmettre un message (i.e. une variable de la dimension d un pointeur). Une queue permet d emmagasiner plusieurs messages (OS_MAX_QS). Les messages sont gardés dans un tampon circulaire. Ajout d un message à la fin (OSQPost) FIFO Tête (IN) Queue (OUT) Ajout d un message au début (OSQPostFront) LIFO Queue (OUT) Tête (IN) Une tâche peut spécifier le délai maximum qu elle veut attendre. Une queue peut simuler un sémaphore à valeur entière (pas très inefficace). Systèmes ordinés en temps réel Cours 10 2 Contrôle d'accès et synchronisation cours 10 1
2 µc/os-ii Queues de messages OSQCreate OSQPost OSQPostFront OSQPend OSQAccept OSQFlush OSQQuery Création Retourne un pointeur sur le bloc événement Envoi d un message dans la queue (à la fin) Envoi d un message dans la queue (au début de la queue) Réception d un message et attend si nécessaire Réception d un message mais n attend pas Vide la queue (sans traiter les messages) Retourne un ensemble d informations sur la queue Tâche ISR Réf. : Labrosse, chap. 6 OSQPost() OSQCreate() OSQPostFront() OSQPostOpt() OSQFlush() Queue OSQPost() OSQPostFront() OSQPostOpt() OSQFlush() OSQAccept() OSQPend() OSQAccept() OSQQuery() Plusieurs messages (32 bits) Tâche Systèmes ordinés en temps réel Cours 10 3 µc/os-ii Queues de messages OS_EVENT *OSQCreate(void **queue, INT8U taille) (IN) queue = pointeur vers un tableau de pointeur qui sert de queue (IN) taille = nombre maximum de message que peut contenir la queue (OUT) Retourne un pointeur sur le bloc événement void *OSQPend(OS_EVENT *pevent, INT16U timeout, INT8U *err) (IN) pevent = Pointeur vers la queue de message (IN) Timeout en ticks ( 0 = infini) (OUT) err = Code d erreur (OUT) Retourne un pointeur vers le message pris dans la queue INT8U OSQPost(OS_EVENT *pevent, void *msg) (IN) pevent = Pointeur vers la queue de message (IN) msg = pointeur vers le message (ne pas utiliser NULL) (OUT) Retourne un code d erreur INT8U OSQPostFront(OS_EVENT *pevent, void *msg) (IN) pevent = Pointeur vers la queue de message (IN) msg = pointeur vers le message (ne pas utiliser NULL) (OUT) Retourne un code d erreur Systèmes ordinés en temps réel Cours 10 4 Réf. : Labrosse, chap. 6 Contrôle d'accès et synchronisation cours 10 2
3 µc/os-ii Queues de messages INT8U OSQPostOpt(OS_EVENT *pevent, void *msg, INT8U opt) (IN) pevent = Pointeur vers la queue de message (IN) msg = pointeur vers le message (ne pas utiliser NULL) (IN) opt = option tel que : OS_POST_OPT_BROADCAST et OS_POST_OPT_FRONT (OUT) Retourne un code d erreur void *OSQAccept(OS_EVENT *pevent) (IN) pevent = Pointeur vers la queue de message (OUT) Retourne un pointeur vers le message (NULL = pas de message) INT8U OSQQuery(OS_EVENT *pevent, OS_Q_DATA *pdata) (IN) pevent = Pointeur vers la queue de message (OUT) pdata = Pointeur vers la structure contenant l information (OUT) Retourne un code d erreur Systèmes ordinés en temps réel Cours 10 5 Réf. : Labrosse, chap. 6 Exemples de synchronisation Problème 1 : Remplissage de bocaux de confiture Séquence : Confiture Horloge Solution sera fait en classe 1 Place bocal 2 Ouvre valve 3 Attend 30 sec. 4 Ferme valve 5 Enlève bocal Bocal Valve Problème de synchronisation Tâches : Tâche Bocal () { while(1) { PlaceBocal(); EnlèveBocal(); Tâche Valve () { while(1) { OuvreValve(); FermeValve(); Tâche Horloge () { while(1) { Attend(30); Systèmes ordinés en temps réel Cours 10 6 Contrôle d'accès et synchronisation cours 10 3
4 Exemples de synchronisation Problème 2 : Atelier automatisé Séquence : 1 Produit pièce 2 Place pièce 3 Tourne plateau 4 Retire pièce 5 Consomme pièce Producteur Consommateur Solution sera fait en classe Traitement séquentiel : (3) (15) (5) Enlève Consomme pièce (10) (3) Tourne plateau Produit pièce Place Produit pièce Systèmes ordinés en temps réel Cours 10 7 Problème 2 : Exemples de synchronisation Atelier automatisé (suite) Traitement concurrent : Producteur Consommateur Enlève Tâches : Produit pièce Tâche Producteur () { while(1) { ProduitPièce(); PlacePièce(); Place Enlève Tourne plateau Produit pièce Place Consomme pièce Tourne plateau Produit pièce Problème de synchronisation Tâche Plateau () { while(1) { TournePlateau(); Enlève Place Solution sera fait en classe Tâche Consommateur () { while(1) { RetirePièce(); ConsommePièce(); Systèmes ordinés en temps réel Cours 10 8 Contrôle d'accès et synchronisation cours 10 4
5 Exclusion mutuelle - MUTEX Le Mutex est un cas particulier de sémaphore. C est un sémaphore binaire qui sert au contrôle d accès à une ressource. Le Mutex utilise la méthode d héritage de priorité pour éviter les inversions de priorité. Une priorité est réservée pour l héritage et est associée au Mutex. Seul le propriétaire du Mutex peut le libérer (contrairement au sémaphore). Un Mutex ne peut pas être utilisé par une ISR (jamais). OSMutexCreate() Tâche OSMutexPost() OSMutexDel() Mutex OSMutexPend() OSMutexAccept() OSMutexQuery() Tâche Réf. : Labrosse, chap. 8 La clé Systèmes ordinés en temps réel Cours 10 9 µc/os-ii Mutex OS_EVENT *OSMutexCreate(INT8U Priorité, INT8U *Erreur) (IN) Priorité = Niveau de priorité associé au Mutex pour l héritage. (OUT) Retourne un pointeur sur le bloc événement void OSMutexPend(OS_EVENT *pevent, INT16U timeout, INT8U *err) (IN) pevent = Pointeur vers le sémaphore (IN) Timeout en ticks ( 0 = infini) (OUT) err = Code d erreur INT8U OSMutexPost(OS_EVENT *pevent) (IN) pevent = Pointeur vers le sémaphore (OUT) Retourne un code d erreur INT16U OSMutexAccept(OS_EVENT *pevent) (IN) pevent = Pointeur vers le sémaphore (OUT) Retourne la valeur de le sémaphore ou 0 INT8U OSMutexQuery(OS_EVENT *pevent, OS_SEM_DATA *pdata) (IN) pevent = Pointeur vers le sémaphore (OUT) pdata = Pointeur vers la structure contenant l information Systèmes ordinés en temps réel Cours Réf. : Labrosse, chap. 6 Contrôle d'accès et synchronisation cours 10 5
6 µc/os-ii Mutex OS_EVENT *OSMutexCreate(INT8U Priorité, INT8U *Erreur) (IN) Priorité = Niveau de priorité associé au Mutex pour l héritage. (IN) Erreur = Code d erreur (ex. : priorité déjà occupée OS_PRIO_EXIST) (OUT) Retourne un pointeur sur le bloc événement void OSMutexPend(OS_EVENT *pevent, INT16U Timeout, INT8U *Erreur) (IN) pevent = Pointeur vers le Mutex (IN) Timeout en ticks ( 0 = infini) (OUT) Erreur = Code d erreur INT8U OSMutexPost(OS_EVENT *pevent) (IN) pevent = Pointeur vers le Mutex (OUT) Retourne un code d erreur INT16U OSMutexAccept(OS_EVENT *pevent) (IN) pevent = Pointeur vers le Mutex (OUT) Retourne la valeur 1 (disponible) ou 0 (occupé) INT8U OSMutexQuery(OS_EVENT *pevent, OS_MUTEX_DATA *pdata) (IN) pevent = Pointeur vers le Mutex (OUT) pdata = Pointeur vers la structure contenant l information Réf. : Labrosse, chap. 8 Systèmes ordinés en temps réel Cours µc/os-ii Bloc de contrôle d événement uc/os-ii utilise une structure spéciale appelée bloc de contrôle d événement (ECB) pour gérer les événements tels que : sémaphore, mutex, boite à lettre et queue de message. Une quantité limité de ECB (OS_MAX_EVENTS) est déclaré lorsque de l initialisation de uc/os-ii. Type d événement Utilisé par les sémaphores Type : sémaphore Compteur : 7 Pointeur : Liste d attente : vers une boite à lettre ou queue de message Tâche Tâche Tâche Tâche Tâche Systèmes ordinés en temps réel Cours Contrôle d'accès et synchronisation cours 10 6
7 Interblocages ( Deadlocks ) Définition : Chaque processus d'un ensemble attend un événement qui ne peut être produit que par un autre processus de l'ensemble Ne pas confondre avec BLOCAGE : arrêt d'un processus pour un temps indéterminé Systèmes ordinés en temps réel Cours Graphe d'allocation des ressources PROCESSUS P0 P1 P2 RESSOURCE A B classe unité ou instance Requête Allocation Systèmes ordinés en temps réel Cours Contrôle d'accès et synchronisation cours 10 7
8 Graphe d'allocation des ressources relations entre les processus et les ressources R1 R3 P1 P2 P3 R2 R4 relations entre les processus P1 P2 P3 Systèmes ordinés en temps réel Cours Utilisation d'une ressource Processus requête UTILISATION allocation relâche Systèmes ordinés en temps réel Cours Contrôle d'accès et synchronisation cours 10 8
9 CONDITIONS D'INTERBLOCAGE (structure) Exclusion mutuelle au moins une ressource n'est pas partageable Pas de «préemption» (réquisition) (comportement) Retient et attend un processus retient des ressources et attend d'autres déjà allouées Attente circulaire ensemble circulaire de processus en attente Systèmes ordinés en temps réel Cours CONDITIONS D'INTERBLOCAGE Retient et attend un processus retient des ressources et attend d'autres déjà allouées Attente circulaire ensemble circulaire de processus en attente P2 P3 P1 P4 P5 Systèmes ordinés en temps réel Cours Contrôle d'accès et synchronisation cours 10 9
10 Les quatre conditions sont NÉCESSAIRES, mais NON SUFFISANTES R1 R3 P1 P2 P3 R2 R4 P1 P2 P3 Systèmes ordinés en temps réel Cours Conditions non suffisantes R1 R3? P1 P2 P3 Détection des interblocages Dessiner le graphe d allocation des ressources Simplifier (plusieurs itérations) Enlever les processus non-bloqués et libérer leurs ressources R2 P4 R4 Systèmes ordinés en temps réel Cours Contrôle d'accès et synchronisation cours 10 10
11 Exercice Simplifier R1 P1 P2 P3 R2 P4 R3 P5 P6 R4 P7 R5 R6 Systèmes ordinés en temps réel Cours RISQUE DE FAMINE Famine (starvation) un processus est retardé indéfiniment par l'action des autres processus pas de famine Attente bornée La synchronisation doit éviter les risques de famine Systèmes ordinés en temps réel Cours Contrôle d'accès et synchronisation cours 10 11
12 Drapeaux d événements Les drapeaux d événements permettent de transmettre un signal à une tâche. Une tâche peut attendre un ou plusieurs drapeaux d événements ou signaux. Les drapeaux d événements servent pour la synchronisation des tâches. 2 types de synchronisation : Synchronisation disjonctive Synchronisation conjonctive Drapeaux Drapeaux POST OR PEND Tâche POST AND PEND Tâche Tâche OSFlagPost() OSFlagDel() OSFlagCreate() OSFlagPend() OSFlagAccept() OSFlagQuery() Tâche ISR OSFlagPost() Groupe de drapeaux d événements OSFlagAccept() OSFlagQuery() Systèmes ordinés en temps réel Cours Réf. : Labrosse, chap. 8 ISR µc/os-ii Drapeaux d événements OS_FLAG_GRP *OSFlagCreate(OS_FLAGS Flags, INT8U *Erreur) (IN) Flag = valeur initiale des drapeaux d événements. (OUT) Retourne un pointeur sur le groupe de drapeaux. OS_FLAGS OSFlagPend(OS_FLAGS *pgroupe, OS_FLAG Flags, INT8U Wait_Type, INT16U Timeout, INT8U *Erreur) (IN) pgroupe = Pointeur vers le groupe de drapeaux. (IN) Flags = patron de drapeaux à tester. (IN) Wait_Type = type de synchronisation : OS_FLAG_WAIT_CLR_ALL OS_FLAG_WAIT_SET_ALL OS_FLAG_WAIT_CLR_ANY OS_FLAG_WAIT_SET_ANY + OS_FLAG_CONSUME (IN) Timeout en ticks ( 0 = infini) (OUT) Erreur = Code d erreur (OUT) Retourne l état actuel des drapeaux ou l état après qu ils ont été consumé. Systèmes ordinés en temps réel Cours Réf. : Labrosse, chap. 6 Contrôle d'accès et synchronisation cours 10 12
13 µc/os-ii Drapeaux d événements OS_FLAGS OSFlagPost(OS_FLAG_GRP *pgroupe, OS_FLAGS Flags, INT8U Option, INT8U *Erreur) (IN) pgroupe = Pointeur vers le groupe de drapeaux. (IN) Flags = patron de drapeaux à activer. (IN) Option = met les drapeaux à 0 (OS_FLAG_CLR) ou à 1 (OS_FLAG_SET) (OUT) Erreur = code d erreur (OUT) Retourne la nouvelle valeur des drapeaux du groupe INT16U OSFlagAccept(OSFlagPend(OS_FLAGS *pgroupe, OS_FLAG Flags, INT8U Wait_Type, INT16U Timeout, INT8U *Erreur) (comme pour OSFlagPend) OS_FLAGS OSFlagQuery(OS_FLAG_GRP *pgroupe, INT8U *Erreur) (IN) pgroupe = Pointeur vers le groupe de drapeaux (OUT) Erreur = Code d erreur (OUT) Retourne l état actuel des drapeaux du groupe. Systèmes ordinés en temps réel Cours Réf. : Labrosse, chap. 6 Contrôle d'accès et synchronisation cours 10 13
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étailREALISATION d'un. ORDONNANCEUR à ECHEANCES
REALISATION d'un ORDONNANCEUR à ECHEANCES I- PRÉSENTATION... 3 II. DESCRIPTION DU NOYAU ORIGINEL... 4 II.1- ARCHITECTURE... 4 II.2 - SERVICES... 4 III. IMPLÉMENTATION DE L'ORDONNANCEUR À ÉCHÉANCES... 6
Plus en détail4. 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étailINTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores
INTRODUCTION AUX SYSTEMES D EXPLOITATION TD2 Exclusion mutuelle / Sémaphores Exclusion mutuelle / Sémaphores - 0.1 - S O M M A I R E 1. GENERALITES SUR LES SEMAPHORES... 1 1.1. PRESENTATION... 1 1.2. UN
Plus en détailIntroduction à 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étailProcessus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace
Processus 1) Contexte 2) Modèles de Notion de Points de vue Modèle fourni par le SX Opérations sur les 3) Gestion des Représentation des Opérations 4) Ordonnancement des Niveaux d ordonnancement Ordonnancement
Plus en détail1 Mesure de la performance d un système temps réel : la gigue
TP TR ENSPS et MSTER 1 Travaux Pratiques Systèmes temps réel et embarqués ENSPS ISV et Master TP1 - Ordonnancement et communication inter-processus (IPC) Environnement de travail Un ordinateur dual-core
Plus en détailProblè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étailPartie 7 : Gestion de la mémoire
INF3600+INF2610 Automne 2006 Partie 7 : Gestion de la mémoire Exercice 1 : Considérez un système disposant de 16 MO de mémoire physique réservée aux processus utilisateur. La mémoire est composée de cases
Plus en détailStructure fonctionnelle d un SGBD
Fichiers et Disques Structure fonctionnelle d un SGBD Requetes Optimiseur de requetes Operateurs relationnels Methodes d acces Gestion de tampon Gestion de disque BD 1 Fichiers et Disques Lecture : Transfert
Plus en détailOrdonnancement temps réel
Ordonnancement temps réel Laurent.Pautet@enst.fr Version 1.5 Problématique de l ordonnancement temps réel En fonctionnement normal, respecter les contraintes temporelles spécifiées par toutes les tâches
Plus en détailExécutif temps réel Pierre-Yves Duval (cppm)
Exécutif temps réel Pierre-Yves Duval (cppm) Ecole d informatique temps réel - La Londes les Maures 7-11 Octobre 2002 Plan Exécutif Tâches Evénements et synchronisation Partage de ressources Communications
Plus en détailExclusion 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étailCentre 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étailNFP 121. Java et les Threads. Présentation : Thierry Escalarasse Mai 2007
NFP 121 Java et les Threads Présentation : Thierry Escalarasse Mai 2007 Plan du cour Présentation de la notion de Threads La classe Thread L interface Runnable Les états d un thread La Synchronisation
Plus en détailChapitre 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étailArgument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données
EARTH et Threaded-C: Éléments clés du manuel de références de Threaded-C Bref historique de EARTH et Threaded-C Ancêtres de l architecture EARTH: Slide 1 Machine à flux de données statique de J.B. Dennis
Plus en détailNIVEAU 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étailET 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É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étailChapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping
Chapitre V : La gestion de la mémoire Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Introduction Plusieurs dizaines de processus doivent se partager
Plus en détailExercices 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étailGPA770 Microélectronique appliquée Exercices série A
GPA770 Microélectronique appliquée Exercices série A 1. Effectuez les calculs suivants sur des nombres binaires en complément à avec une représentation de 8 bits. Est-ce qu il y a débordement en complément
Plus en détailLes structures de données. Rajae El Ouazzani
Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l
Plus en détailC++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement
C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement des objets d'une classe Utilisation d'une classe Droit
Plus en détailL 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étailIntroduction : 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étailOn 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étailInitiation à 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étail03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing
3/4/27 Programmation Avancée Multimédia Multithreading Benoît Piranda Équipe SISAR Université de Marne La Vallée Besoin Programmes à traitements simultanés Réseau Réseau Afficher une animation en temps
Plus en détailLe langage C. Séance n 4
Université Paris-Sud 11 Institut de Formation des Ingénieurs Remise à niveau INFORMATIQUE Année 2007-2008 Travaux pratiques d informatique Le langage C Séance n 4 But : Vous devez maîtriser à la fin de
Plus en détailGénie Logiciel avec Ada. 4 février 2013
Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre
Plus en détailDAns un système multi-utilisateurs à temps partagé, plusieurs processus
Chapitre 8 Ordonnancement des processus Dns un système multi-utilisateurs à temps partagé, plusieurs processus peuvent être présents en mémoire centrale en attente d exécution. Si plusieurs processus sont
Plus en détailSystemes d'exploitation des ordinateurs
! " #$ % $ &' ( $ plan_ch6_m1 Systemes d'exploitation des ordinateurs Conception de Systèmes de Gestion de la Mémoire Centrale Objectifs 1. Conception de systèmes paginés 2. Conception des systèmes segmentés
Plus en détailIntroduction à 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étail6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr
6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr Interface d un SGF Implémentation d un SGF Gestion de la correspondance entre la structure logique et la structure
Plus en détailCours de Base de Données Cours n.12
Cours de Base de Données Cours n.12 Gestion des transactions : contrôle de concurrence Elisabetta De Maria - http://www.i3s.unice.fr/ edemaria/ UFR Sciences et Laboratoire I3S, CNRS 2013-2014 Université
Plus en détailDynamic Host Configuration Protocol
Dynamic Host Configuration Protocol 1 2 problèmes de gestion avec IP La Gestion des adresses IP Les adresses IP doivent être unique Nécessité d une liste d ordinateurs avec leurs adresses IP respectives
Plus en détailTemps 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étailLes 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étailProjet Active Object
Projet Active Object TAO Livrable de conception et validation Romain GAIDIER Enseignant : M. Noël PLOUZEAU, ISTIC / IRISA Pierre-François LEFRANC Master 2 Informatique parcours MIAGE Méthodes Informatiques
Plus en détailArchitecture des ordinateurs
Architecture des ordinateurs Cours 4 5 novembre 2012 Archi 1/22 Micro-architecture Archi 2/22 Intro Comment assembler les différents circuits vus dans les cours précédents pour fabriquer un processeur?
Plus en détailSYSTÈME DE GESTION DE FICHIERS
SYSTÈME DE GESTION DE FICHIERS - DISQUE 1 Les couches logiciels réponse requête Requêtes E/S Système E/S Pilote E/S Interruptions utilisateur traitement S.E. commandes S.E. S.E. matériel Contrôleur E/S
Plus en détailSYSTÈME DE GESTION DE FICHIERS SGF - DISQUE
SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE C.Crochepeyre MPS_SGF 2000-20001 Diapason 1 Les couches logiciels réponse SGF requête matériel matériel Requêtes E/S Système E/S Pilote E/S Interruptions Contrôleur
Plus en détailEnsimag 1ère année Algorithmique 1 Examen 2ième session 24 juin 2010. Algorithmique 1
Algorithmique 1 Durée : 2h Machines électroniques interdites Tous documents papiers autorisés Il est conseillé de traiter les deux parties dans l ordre du sujet. Veuillez respecter les notations introduites
Plus en détailCours 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étailUniversité du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.
Université du Québec à Chicoutimi Département d informatique et de mathématique Plan de cours Titre : Élément de programmation Sigle : 8inf 119 Session : Automne 2001 Professeur : Patrice Guérin Local
Plus en détailProgrammation d Applications Concurrentes et Distribuées (INF431)
Programmation d Applications Concurrentes et Distribuées (INF431) Julien Cervelle Albert Cohen Eric Goubault Francesco Zappa Nardelli François Pottier Samuel Mimram Benjamin Werner 1er janvier 2015 2 Table
Plus en détail1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques)
Chapitre 4 Le système de Gestion de Fichiers 1. Systèmes d entrée/sortie 2. Systèmes de fichiers 3. Structure de mémoire de masse (disques) 1 Systèmes d entrée/sortie Concepts importants : Matériel E/S
Plus en détailINTRODUCTION À 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étailConventions 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étail4. 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étailMé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étailCours 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étailGestion 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étailIFT2245 - 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étailSynchro 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étailgestion des processus La gestion des processus
1 La Pseudo parallélisme 2 Plusieurs programmes en mémoire Le processeur exécute les instructions tantôt pour l'un tantôt pour l'autre P1 P2 programme de supervision Vu de l'utilisateur => programmes en
Plus en détailJ2SE 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étailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailSystèmes d Exploitation - ENSIN6U3. Aix-Marseille Université
Systèmes d Exploitation - ENSIN6U3 Gestion de la mémoire Leonardo Brenner 1 Jean-Luc Massat 2 1 Leonardo.Brenner@univ-amu.fr 2 Jean-Luc.Massat@univ-amu.fr Aix-Marseille Université Faculté des Sciences
Plus en détailCARPE. 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étailCours A7 : Temps Réel
Cours A7 : Temps Réel Pierre.Paradinas / @ / cnam.fr Cnam/Cedric Systèmes Enfouis et Embarqués (SEE) Motivations Du jour : les mécanismes multitâches, la gestion des priorités, l ordonnancement, la gestion
Plus en détailTD2/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étailBases de données avancées Concurrence d'accès et reprise
Bases de données avancées Concurrence d'accès et reprise Dan VODISLAV Université de Cergy-Pontoise Master Informatique M1 Cours BDA Plan La notion de transaction Les problèmes de la concurrence Problèmes
Plus en détailAnnexe 6. Notions d ordonnancement.
Annexe 6. Notions d ordonnancement. APP3 Optimisation Combinatoire: problèmes sur-contraints et ordonnancement. Mines-Nantes, option GIPAD, 2011-2012. Sophie.Demassey@mines-nantes.fr Résumé Ce document
Plus en détailQualité du logiciel: Méthodes de test
Qualité du logiciel: Méthodes de test Matthieu Amiguet 2004 2005 Analyse statique de code Analyse statique de code Étudier le programme source sans exécution Généralement réalisée avant les tests d exécution
Plus en détailImplémentation Matérielle des Services d un RTOS sur Circuit Reconfigurable
Implémentation Matérielle des Services d un RTOS sur Circuit Reconfigurable Pierre Olivier*, Jalil Boukhobza*, Jean-Philippe Babau +, Damien Picard +, Stéphane Rubini + *Lab-STICC, + LISyC, Université
Plus en détailInitiation 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étailIntroduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf
Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations
Plus en détailInitiation. àl algorithmique et à la programmation. en C
Initiation àl algorithmique et à la programmation en C Initiation àl algorithmique et à la programmation en C Cours avec 129 exercices corrigés Illustration de couverture : alwyncooper - istock.com Dunod,
Plus en détailCahier des charges. driver WIFI pour chipset Ralink RT2571W. sur hardware ARM7
Cahier des charges driver WIFI pour chipset Ralink RT2571W sur hardware ARM7 RevA 13/03/2006 Création du document Sylvain Huet RevB 16/03/2006 Fusion des fonctions ARP et IP. SH Modification des milestones
Plus en détailTemps Réel. Jérôme Pouiller <j.pouiller@sysmic.org> Septembre 2011
Temps Réel Jérôme Pouiller Septembre 2011 Ordonnancement avec contraintes de précédance Problèmatique des accès concurents Problème liés aux partage de ressources Solutions utres
Plus en détailLES TYPES DE DONNÉES DU LANGAGE PASCAL
LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.
Plus en détailModule BDR Master d Informatique (SAR)
Module BDR Master d Informatique (SAR) Cours 9- Transactions réparties Anne Doucet Anne.Doucet@lip6.fr Transactions réparties Gestion de transactions Transactions dans un système réparti Protocoles de
Plus en détailExpérience 3 Formats de signalisation binaire
Expérience 3 Formats de signalisation binaire Introduction Procédures Effectuez les commandes suivantes: >> xhost nat >> rlogin nat >> setenv DISPLAY machine:0 >> setenv MATLABPATH /gel/usr/telecom/comm_tbx
Plus en détailINITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
Plus en détailUn 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étailPré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étailCours d initiation à la programmation en C++ Johann Cuenin
Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................
Plus en détailChapitre 2. Classes et objets
Chapitre 2: Classes et Objets 1/10 Chapitre 2 Classes et objets Chapitre 2: Classes et Objets 2/10 Approche Orientée Objet Idée de base de A.O.O. repose sur l'observation de la façon dont nous procédons
Plus en détailCours 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étailIntroduction aux systèmes temps réel. Iulian Ober IRIT ober@iut-blagnac.fr
Introduction aux systèmes temps réel Iulian Ober IRIT ober@iut-blagnac.fr Sommaire Généralités Caractéristiques récurrentes des STR Types de problèmes soulevées Programmation des STR Prog. concurrente
Plus en détailConfiguration automatique
Configuration automatique (/home/terre/d01/adp/bcousin/polys/internet:gestion_reseau/6.dhcp.fm- 29 Septembre 1999 12:07) PLAN Introduction Les principes de DHCP Le protocole DHCP Conclusion Bibliographie
Plus en détailTD 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étail2. Comprendre les définitions de classes
Conception objet en Java avec BlueJ une approche interactive 2. Comprendre les définitions de classes Analyser le contenu des classes David J. Barnes, Michael Kölling version française: Patrice Moreaux
Plus en détailOrdonnancement temps réel
Ordonnancement temps réel Ordonnancement centralisé par Francis COTTET Professeur d université (ENSMA, Poitiers Futuroscope) Ingénieur de l Institut national polytechnique de Grenoble Docteur ès sciences
Plus en détailEPREUVE 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étailLOG4430 : Architecture et conception avancée
LOG4430 : Architecture et conception avancée Abdou Maiga Patrons pour la conception d applications distribuées Département de génie informatique et de génie logiciel École Polytechnique de Montréal Guéhéneuc,
Plus en détailGestion distribuée (par sockets) de banque en Java
Gestion distribuée (par sockets) de banque en Java Université Paris Sud Rappel sur la solution locale de gestion simple de banque L objet de cet exercice était de créer une application java qui implante
Plus en détailProgrammer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)
Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes
Plus en détailUniversité de La Rochelle. Réseaux TD n 6
Réseaux TD n 6 Rappels : Théorème de Nyquist (ligne non bruitée) : Dmax = 2H log 2 V Théorème de Shannon (ligne bruitée) : C = H log 2 (1+ S/B) Relation entre débit binaire et rapidité de modulation :
Plus en détailArchitecture 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étailChapitre 2. Les processus. 2.1 Introduction. 2.2 les différents états d un processus
Chapitre 2 Les processus 2.1 Introduction Le processus est un concept clé dans un système d exploitation. Un processus est un programme en cours d exécution. C est-à-dire, un programme à l état actif.
Plus en détailManipulation 4 : Application de «Change».
Manipulation 4 : Application de «Change». Première partie : Cette manipulation a pour but d utiliser un service Web afin d obtenir les taux de change appliqués entre les différentes monnaies référencées
Plus en détailAnalyse du temps de réponse des systèmes temps réel
Analyse du temps de réponse des systèmes temps réel Pascal Richard Laboratoire d Informatique Scientifique et Industrielle, ENSMA BP 40198 Téléport 2 F-86960 Futuroscope pascal.richard@ensma.fr RÉSUMÉ.
Plus en détailInfo0604 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étail1 Description générale de VISFIELD
Guide d utilisation du logiciel VISFIELD Yann FRAIGNEAU LIMSI-CNRS, Bâtiment 508, BP 133 F-91403 Orsay cedex, France 11 décembre 2012 1 Description générale de VISFIELD VISFIELD est un programme écrit
Plus en détailSystèmes Répartis. Mr. Mehrez Boulares, Mr. Nour Ben Yahia 2013-2014
Systèmes Répartis Mr. Mehrez Boulares, Mr. Nour Ben Yahia 2013-2014 Introduction aux systèmes répartis 2 Les ordinateurs ont subi des changements incroyables depuis leur mise en opération vers 1945: plus
Plus en détail