Question 2 (5 pts) : Synchronisation (compteurs d événements)
|
|
- Frédéric Bureau
- il y a 7 ans
- Total affichages :
Transcription
1 Automne 2005 Page 1 sur 7 INF3600 Attention : Toute réponse non argumentée vaut 0 pts. Question 1 (2 pts ) : Généralités Répondez, en 5 lignes maximum à chacune des questions suivantes : 1. Dans un système multiprogrammé à mémoire virtuelle, plus on augmente le degré de multiprogrammation, plus le taux d utilisation du processeur augmente. Vrai ou faux? Justifier votre réponse. 2. L instruction Test and Set Lock (TSL) comme solution au problème d exclusion mutuelle pose-t-elle problème? Si oui, peut-on avoir le même problème dans le cas d un ordonnanceur circulaire (Round Robin)? Justifiez votre réponse. Question 2 (5 pts) : Synchronisation (compteurs d événements) On souhaite implémenter au moyen de sémaphores les compteurs d événements. Un compteur d événements est un compteur associé à un événement. Sa valeur indique le nombre d occurrences de l événement associé. Généralement, ce compteur est partagé entre plusieurs processus et sert à les synchroniser. Dans ce sens, trois opérations atomiques sont définies pour un compteur d événement E : - Read(E) : retourne la valeur de E au processus appelant. - Advance(E) : incrémente de 1 la valeur de E et débloque tous les processus en attente que E atteigne cette nouvelle valeur. - Await(E, v) : bloque le processus appelant, si la valeur de E est strictement inférieure à v. Il n y a pas de blocage du processus appelant si la valeur de E est déjà égale ou plus grande que v. Complétez, au moyen de sémaphores, la structure et les procédures Await, Read et Advance suivantes (sous forme de pseudocode). Indiquez clairement les structures de données ajoutées dans la structure CompteurEvenement ainsi que les opérations associées. struct CompteurEvenement { int val ; /* 0 */ void Await (CompteurEvenement *E; int Valeur) { /*1*/ void Advance (CompteurEvenement *E) { /* 2 */ int Read (CompteurEvenement *E) { /* 3 * / CompteurEvenement CE = /* 4*/ ;
2 Automne 2005 Page 2 sur 7 INF3600 Question 3 (3 pts) : Interblocage Dans un système électronique de transfert de fonds, il existe des centaines de processus identiques qui fonctionnent comme suit : chaque processus lit une ligne de données qui spécifie la quantité d argent, le numéro de compte à créditer et le numéro de compte à débiter. Il verrouille ensuite l un après l autre les deux comptes, transfère l argent puis libère les verrous. 1. [1 pt] Peut-on avoir des situations d interblocage? Justifiez votre réponse 2. [1 pt] Si vous répondez oui à la question précédente, proposez une solution qui permet de les éviter. Attention : ne pas libérer l enregistrement d un compte avant que le transfert ne soit terminé. 3. [1 pt] Peut-on les prévenir? Si oui, expliquez brièvement comment? Question 4 (4 pts) : Ordonnancement 1. [2 pts] On considère une implémentation de l extension temps-réel de POSIX sur un système d exploitation avec 30 niveaux de priorité (de 0 à 29, 29 étant la plus forte priorité). Par conséquent, le système offre trois politiques d ordonnancement: SCHED_FIFO (pour les processus FIFO temps-réel), SCHED_RR (pour les processus tourniquet temps-réel) et SCHED_OTHER (pour les processus temps partagé). Le quantum d exécution pour la politique SCHED_RR est d une unité de temps. L ordonnancement est préemptif. Soit le jeu de processus présenté dans la table 1 suivante : Processus Politique Pattern d arrivée Période Instant d arrivée Temps d exécution Priorité Fifo1 SCHED_FIFO Périodique Fifo2 SCHED_FIFO Périodique Fifo3 SCHED_FIFO Apériodique Fifo4 SCHED_FIFO Apériodique rr1 SCHED_RR Apériodique rr2 SCHED_RR Apériodique Other SCHED_OTHER Apériodique Table 1 Un processus périodique est un processus qui est activé régulièrement, aux temps 0, T, 2T, 3T,.., où T est la période du processus. Donnez le diagramme de Gantt pour l ordonnancement des processus de la table 1 entre les instants 0 et 26.
3 Automne 2005 Page 3 sur 7 INF [2 pts] Considérons un système d exploitation doté d un ordonnanceur préemptif, à priorité. Dans le système, il existe 20 niveaux de priorité, de 0 à 19, 0 étant la plus faible priorité. Supposons que le processeur exécute le jeu de processus présenté dans la table 2 suivante : Processus Instant Séquence d exécution Priorité d arrivée A 2 EEQE 10 B 5 EE 7 C 0 EQQQQE 3 Table 2 Les processus A et C partagent la ressource Q, qu ils accèdent en exclusion mutuelle. Dans la séquence d exécution d un processus, Q signifie que pour une unité de temps le processus s exécute et accède à la ressource Q, tandis que E signifie que pour une unité de temps le processus s exécute sans accéder à la ressource Q. a) Donnez le diagramme de Gantt pour l ordonnancement des processus de la table 2 entre les instants 0 et 11. Sur le diagramme, indiquez les accès des processus à la ressource Q. b) Y a-t-il une inversion de priorité sur le diagramme? Si oui, précisez l instant de début, ainsi que la durée de l inversion de priorité. Question 5 (4 pts) : Gestion de la mémoire 1. [1.5 pts] Un système qui implémente la pagination à la demande dispose de 4 cases de mémoire physique qui sont toutes occupées, à un instant donné, avec des pages de mémoire virtuelle. La table 3 donne, pour chaque case de mémoire, le moment du chargement de la page qu elle contient (t chargement ), le temps du dernier accès à cette page (t dernier accès ) et l état des bits référencé (R), modifié (M ) et présence (P ). Les temps sont donnés en tops d horloge. Case t chargement T dernier accès R M P Table 3 Indiquez quelle est la page qui sera remplacée en cas d un défaut de page si l algorithme de remplacement de page est : a) LRU b) FIFO c) Horloge (seconde chance)
4 Automne 2005 Page 4 sur 7 INF [1 pt] Dans le même système, avec pagination à la demande, le temps d accès à une page chargée en mémoire physique est de 100ns. Le temps d accès à une page qui n est pas en mémoire physique est de 10ms s il y a une case libre en mémoire physique ou si la page qui sera retirée, pour faire place à la page manquante, n a pas été modifiée. Si la page qui sera retirée, pour faire place à la page manquante, a été modifiée, le temps d accès est de 20ms. Sachant que le taux de défauts de page est 35%, et que dans 70% des cas de défaut de page, la page à retirer a été modifiée, calculez le temps d accès moyen à la mémoire. 3. [1.5pts] On considère un système avec une mémoire virtuelle segmentée paginée où la taille d une page est de 4Ko et une mémoire physique de 64Ko. L espace d adressage d un processus P est composé de trois segments S1, S2 et S3 de taille, respectivement 16Ko, 8Ko et 4Ko. À un moment donné, pour le processus P, les pages 2 et 3 du segment S1, la page 2 du segment S2 et la page 1 du segment S3 sont chargées en mémoire physique, respectivement dans les cases 2, 0, 9, 12. Pour une donnée située dans l espace d adressage du processus P à l adresse décimale 8212, indiquez : a) le segment b) le numéro de page dans le segment c) le déplacement dans la page d) le numéro de case e) le déplacement dans la case f) l adresse physique Question 6 (2 pts) : Systèmes de fichiers Pour mémoriser les blocs libres d un disque, on a le choix d utiliser une liste de numéros de blocs ou une table de bits (bitmap). Les numéros de blocs sont codés sur D bits. Le disque est composé de B blocs, dont F blocs sont libres. Donnez la condition à satisfaire pour que la liste de blocs libres utilise moins d espace que la table de bits. Pour D égal à 16 bits, exprimez votre réponse en pourcentage de l espace disque qui doit être libre.
5 Automne 2005 Page 5 sur 7 INF3600 Question 1 : a) Faux. Si le nombre de processus (degré de multiprogrammation) augmente au-delà d une certaine limite, le système passe plus de temps à traiter les défauts de page qu à exécuter les processus; alors, le taux d utilisation du processeur diminue, au lieu d augmenter (phénomène d écroulement du système). b) Un processus peut rentrer dans une boucle infinie dans le cas d un ordonnanceur à priorité. Non, car avec l ordonnancement circulaire, chaque processus aura son temps CPU. Un processus qui effectue une attente active en utilisant TSL quitte cette attente lorsque le processus en section critique quittera sa section critique. Ce dernier aura son temps processeur avec cette politique d ordonnancement. Ce qui lui permettrait de sortir de la section critique. Question 2 : struct CompteurEvenement { int val ; /* 0 */ semaphore mutexe ; struct listesem {semaphore psem ; int pval * Lsem ; void Await (CompteurEvenement *E; int Valeur) { P( E->mutexE) ; if (E->val < Valeur { /*1*/ semaphore * new sem ; init(sem) = 0 ; ajouter (sem, Valeur) à E->Lsem; V(E->mutexE); P(sem); else V(E->mutexE) ; void Advance (CompteurEvenement *E) { /* 2 */ P( E->mutexE) ; E->val = E->val + 1 ; Pour chaque élément (sem, v) de E->Lsem telle que E->val <= v Faire V(sem) ; supprimer cet élément ; fait ; V(E->mutexE) ; int Read (CompteurEvenement *E) { /* 3 * / int v; P( E->mutexE) ;
6 Automne 2005 Page 6 sur 7 INF3600 v = E->val ; V( E->mutexE) ; return v; CompteurEvenement CE = (0, 1, NULL) ; Question 3 : 1. Oui. Par exemple, supposons deux processus P1 et P2. P1 veut effectuer un transfert de c1 vers c2. Il a pu verrouiller c1 mais est en attente de c2. P2 veut effectuer un transfert de c2 vers c1. Il a pu verrouiller c2 mais est en attente de c1. 2. Il suffit de faire en sorte qu il n y est pas d attente circulaire. Chaque processus doit verrouiller le compte le plus petit avant le compte le plus grand. 3. Oui, on connaît les besoins de chaque processus. On peut donc utiliser l algorithme du banquier. Question 4 : 1. ff1 ff2 rr ff4 ff2 ff1 Ff ff3 ff2 Ff rr rr rr rr ff2 rr ff1 o a) C C A A C B B C C A A Q Q Q Q Q b) Oui. À l instant 4 une inversion de priorité d une durée de 5 unités de temps survient. Le processus A, qui possède la priorité la plus élevée, est empêché de s exécuter par le processus C, qui accède à la ressource Q entre les instants 4 et 5 et 7 et 9, et par le processus B, qui suspend le processus C entre les instants 5 et 7. Question 5 : 1. a) Dans l algorithme LRU, on retire la page la moins récemment utilisée. Il s agit donc de choisir une page selon le critère de la colonne t dernier accès. La page à retirer est celle chargée dans la case 1, qui a été accédée au temps 255.
7 Automne 2005 Page 7 sur 7 INF3600 b) Dans l algorithme FIFO, on retire la page qui est en mémoire depuis le plus longtemps. Il s agit donc de suivre le critère de la colonne t chargement. La page à retirer est celle chargée dans la case 2 qui est en mémoire depuis le temps 110. c) Dans l algorithme de la seconde chance, on retire la page qui est en mémoire depuis le plus longtemps, donc selon le critère de la colonne t chargement, sauf si son bit R est à 1, auquel cas on le remet à 0 et on poursuit le recherche dans l ordre. Dans l exemple, la page chargée dans la case 2 est la plus ancienne, mais son bit R est à 1. La suivante dans l ordre est la page chargée dans la case 0 dont le bit R est à 0. C est donc celle qui est choisie. d) Dans l algorithme NRU, les pages sont séparées en deux catégories basées sur les valeurs des bits R et M : Classe 0 : R=0, M=0 Classe1 : R=0, M=1 Classe2 : R=1, M=0 Classe3 : R=1, M=1 On retire une page au hasard dans la classe la plus basse non-vide. Il s agit donc de retirer la page 0, qui appartient à la classe Le taux d accès réalisés en 100ns est de 65%. Parmi les 35% accès menant aux défauts de page, 70% ont besoin de 20ms et le reste de 30% ont besoin de 10ms. t accès moyen = 0.65* *(0.7* *10) = ms 3. a) segment S1 b) page 3 c) déplacement 20 d) case 0 e) déplacement 20 f) L adresse physique est exprimée sur 16 bits (64Ko = 2 16 ), dont 4 bits pour le numéro de case et 12 bits pour le déplacement dans la case (4Ko = 2 12 ). Alors, l adresse physique sera : Question 6 : La table de bits demande B bits (1 bit/bloc) et la liste des blocs libres DF bits. La liste de blocs libres nécessite moins de bits si DF < B ou si F/B < 1/D, où F/B est une fraction des blocs libres. Pour des numéros de blocs sur 16 bits, la liste des blocs libres est plus courte si 6 % ou moins du disque sont libres.
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étailCours 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é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é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é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é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é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é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é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é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é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é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é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é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étailLes arbres binaires de recherche
Institut Galilée Année 2010-2011 Algorithmique et arbres L2 TD 6 Les arbres binaires de recherche Type en C des arbres binaires (également utilisé pour les ABR) : typedef struct noeud_s { struct noeud_s
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é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é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é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é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é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é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é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étail1. 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é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étailJava Licence Professionnelle CISII, 2009-10
Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation
Plus en détailAlgorithmique 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é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étail1/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é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étailBases 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é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 1 : La compilation
/38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà
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étailProgrammation 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é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étailCours 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é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étailIntroduction 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é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étailPremiers Pas en Programmation Objet : les Classes et les Objets
Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.
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é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étailINITIATION 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étailConception des systèmes répartis
Conception des systèmes répartis Principes et concepts Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Octobre 2012 Gérard Padiou Conception des systèmes répartis 1 / 37 plan
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é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étailAlgorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/??
Algorithmique I Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr Télécom 2006/07 Algorithmique I 20-09-06 p.1/?? Organisation en Algorithmique 2 séances par semaine pendant 8 semaines. Enseignement
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étailTravaux 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étailProgramme Compte bancaire (code)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; Programme Compte bancaire (code) namespace compte_bancaire /// Classe Program public
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é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étailExercices Alternatifs. Une fonction continue mais dérivable nulle part
Eercices Alternatifs Une fonction continue mais dérivable nulle part c 22 Frédéric Le Rou (copleft LDL : Licence pour Documents Libres). Sources et figures: applications-continues-non-derivables/. Version
Plus en détailExercices Alternatifs. Une fonction continue mais dérivable nulle part
Eercices Alternatifs Une fonction continue mais dérivable nulle part c 22 Frédéric Le Rou (copyleft LDL : Licence pour Documents Libres). Sources et figures: applications-continues-non-derivables/. Version
Plus en détail(Third-Man Attack) PASCAL BONHEUR PASCAL BONHEUR@YAHOO.FR 4/07/2001. Introduction. 1 Domain Name Server. 2 Commandes DNS. 3 Hacking des serveurs DNS
Détournement de serveur DNS (Third-Man Attack) PASCAL BONHEUR PASCAL BONHEUR@YAHOO.FR 4/07/2001 Introduction Ce document traite de la possibilité d exploiter le serveur DNS pour pirater certains sites
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étailCours 1 : Introduction Ordinateurs - Langages de haut niveau - Application
Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un
Plus en détailSGM. Master S.T.S. mention informatique, première année. Isabelle Puaut. Septembre 2011. Université de Rennes I - IRISA
SGM Master S.T.S. mention informatique, première année Isabelle Puaut Université de Rennes I - IRISA Septembre 2011 Isabelle Puaut SGM 2 / 1 Organisation de l enseignement Semestre 1 : processus, synchronisation
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étailThreads. Threads. USTL http://www.lifl.fr/ routier 1
Threads USTL http://www.lifl.fr/ routier 1 Rappels - Définitions un Process est un programme qui tourne et dispose de ses propres ressources mémoire. OS multi-tâche plusieurs process en concurrence un
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étailReprésentation d un entier en base b
Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir
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étailIntroduction aux SGBDR
1 Introduction aux SGBDR Pour optimiser une base Oracle, il est important d avoir une idée de la manière dont elle fonctionne. La connaissance des éléments sous-jacents à son fonctionnement permet de mieux
Plus en détailLicence 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étailLe Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr
Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr Table des matières 1 Les bases 3 2 Variables et constantes 5 3 Quelques fonctions indispensables
Plus en dé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étailSolutions 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étailPrincipes des langages de programmation INF 321. Eric Goubault
Principes des langages de programmation INF 321 Eric Goubault 24 mars 2014 2 Table des matières 1 Introduction 7 2 Programmation impérative 11 2.1 Variables et types........................... 11 2.2 Codage
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é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 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é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étailChapitre 10 Arithmétique réelle
Chapitre 10 Arithmétique réelle Jean Privat Université du Québec à Montréal INF2170 Organisation des ordinateurs et assembleur Automne 2013 Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013
Plus en détailLes algorithmes de base du graphisme
Les algorithmes de base du graphisme Table des matières 1 Traçage 2 1.1 Segments de droites......................... 2 1.1.1 Algorithmes simples.................... 3 1.1.2 Algorithmes de Bresenham (1965).............
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é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é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é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étailLicence Sciences et Technologies Examen janvier 2010
Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.
Plus en détailIN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C
IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en
Plus en dé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étailProjet gestion d'objets dupliqués
Projet gestion d'objets dupliqués Daniel Hagimont Daniel.Hagimont@enseeiht.fr 1 Projet Service de gestion d'objets dupliqués Mise en cohérence lors de la prise d'un verrou sur un objet Pas de verrous imbriqués
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étailLes transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions
1/46 2/46 Pourquoi? Anne-Cécile Caron Master MAGE - SGBD 1er trimestre 2014-2015 Le concept de transaction va permettre de définir des processus garantissant que l état de la base est toujours cohérent
Plus en détailInformatique 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é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étail4. Groupement d objets
Conception objet en Java avec BlueJ une approche interactive 4. Groupement d objets Collections et itérateurs David J. Barnes, Michael Kölling version française: Patrice Moreaux Rédigé avec 1.0 Principaux
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étailProgrammation C. Apprendre à développer des programmes simples dans le langage C
Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités
Plus en détailInfo0101 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étailCorrigés des premiers exercices sur les classes
Corrigés des premiers exercices sur les classes Exercice 2.1.1 utilisation d une classe Voici le texte d une classe représentant de façon sommaire un compte bancaire et les opérations bancaires courantes.
Plus en détailPerl Console. Votre compagnon pour développer en Perl. Les Journées du Perl 2007 16, 17 novembre, Lyon. Alexis Sukrieh <sukria@sukria.
Perl Console Votre compagnon pour développer en Perl Les Journées du Perl 2007 16, 17 novembre, Lyon Alexis Sukrieh Plan Pourquoi une console? Le modèle «Read-Eval-Print-Loop» Dépendances
Plus en détailCours 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é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étailCours de Génie Logiciel
Cours de Génie Logiciel Sciences-U Lyon Diagrammes UML (2) http://www.rzo.free.fr Pierre PARREND 1 Avril 2005 Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes
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étail