ARCHITECTURE des SYSTEMES INFORMATIQUES

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

Download "ARCHITECTURE des SYSTEMES INFORMATIQUES"

Transcription

1 ARCHITECTURE des SYSTEMES INFORMATIQUES 1 Cours B4 Processus...

2 Architecture des Systèmes 2 Historique Architecture d'un Ordinateur / d'un processeur Objectif et rôle d'un Système d'exploitation Notions de base / Mécanismes fondamentaux Entrées / Sorties Les Processus Ordonnancement La Mémoire Mesures de performances Les standards Et l'avenir...?

3 Les Processus 3 Définition (déjà vue) Représentation Interactions Synchronisation Etude de l'implémentation sous Unix/linux

4 Représentations d'un processus 4 Une modélisation des processus nous permettra d'analyser leur comportement, et donc d'en Vérifier le bon fonctionnement Détecter les problèmes tels que blocages tirer des algorithmes de gestion.... Différents modèles existes : Systèmes de tâches et précédence Automates Réseaux de Pétri Réseaux colorés...

5 Système de tâches 5 Un processus va être décomposé en N tâches élémentaires P = suite de Tâches = T 1 T 2,... T n Chaque tâche est ensuite décomposée en 3 éléments : L'événement d, qui correspond à une phase d'initialisation : exemple : lecture d'une valeur en mémoire. Le corps de la tâche : opération sans interaction avec l'extérieur => ne sera pas considéré. L'événement f, qui correspond à une phase de fin de tâche : exemple écriture d'une valeur dans un registre Donc pour un processus séquentiel: P = T 1 T 2,... T n = d 1 f 1 d 2 f 2...d n f n

6 Graphe de précédence 6 Dès qu'un processus n'est plus simplement séquentiel, la simple connaissance de la liste des tâches ne suffit plus. Notion de précédence, c'est à dire d'ordre d'exécution. Notation sous forme de graphe : (exemple tjrs séquentiel) T 1 T 2 T 3 Lorsque le graphe est sans redondance, (plus petite relation), c'est le «graphe de précédence»

7 Processus avec parallélisme 7 Quand des tâches sont indépendantes au sein d'un processus, le graphe devient non séquentiel : T 1 T 2 T 3 T1 est une tâche initiale. T4 est une tâche terminale T2 et T3 sont indépendantes. T 4

8 Un peu de formalisme 8 Alphabet = ensemble des événements qui constituent le processus A = {d1, f1, d2, f2,...dn,fn} Mot = description temporelle de la suite des événements de cet alphabet. pour l'exemple précédent : m1 = {d1 f1 d2 d3 f2 f3 d4 f4} m2 = {d1 f1 d2 f2 d3 f3 d4 f4} sont deux mots décrivant deux comportements possibles Langage = ensemble de tous les mots possibles associés à un graphe de précédence donné.

9 Notation de la relation de précédence 9 on note E l'ensemble des tâches du processus P, et «<» le relation de précédence : Ti < Tj veut dire simplement que Ti doit précéder Tj Cette relation a certaines propriétés : On ne peut avoir T < T On ne peut avoir à la fois T1 < T2 et T2 < T1 Elle est transitive : T1 < T2 et T2 < T3 => T1 < T3 Le système de tâche est l'ensemble (E, <)

10 Combinaison de systèmes de tâches 10 On appelle produit de deux systèmes l'exécution séquentielle de ces deux systèmes On doit relier toutes les tâches terminales du premier, à toutes les tâches initiales du second : T 1 T 1 T 6 T 7 T 2 T 3 T 2 T 3 X = T 4 T 5 T 8 T 4 T 5 T 6 T 7 T 8

11 Combinaison de systèmes de tâches (2) 11 La combinaison parallèle de deux systèmes s'obtient facilement en juxtaposant les deux : il n'y a aucun liens entre les deux Pour un produit de 2 systèmes, le Langage résultant est la simple concaténation des deux langages, mot par mot pris deux à deux. Pour la combinaison parallèle, le langage résultant est plus difficile à obtenir.

12 Application à l'étude des systèmes 12 Ce modèle nous permettra d'étudier trois aspects de l'interaction de processus : Vérifier si le système est déterminé, c'est à dire si deux exécutions différentes, à partir des même conditions initiales, donnent toujours le même résultat. Déterminer le graphe de parallélisme maximal Détecter les blocages potentiels.

13 Exemple 13 Soit le système suivant : T1 : X=read(5) T2 : X=X+Z T3 : Print Y T4 : Z=read(7) T5 : Y=X+Z Pour les mots d1 f1 d4 f4 d2 f2 d5 f5 d3 f3 on obtient l'affichage Y=19 d1 d4 f1 f4 d2 d5 f2 f5 d3 f3 Affichage Y= 12 Le système est non déterminé, donc inexploitable. T 1 T 2 T 3 T 4 T 5

14 Système déterminé 14 On introduit d'abord la notion d'état du système avec la grandeur M = ensemble de la mémoire utilisé par les processus. Un système est donc dit déterminé si : Pour une valeur définie M0. m Langage(S); S = système (E,<) L'état final M est le même. On peut aussi introduire les références suivantes Li = domaine de lecture de la tâche i = ensemble des cellules mémoire lues par la tâche, pendant l'événement d i, donc Ei = domaine d'écriture de la tâche i = ensemble des cellules mémoire modifiées par la tâche, pendant l'événement f i, donc

15 Système déterminé (2) 15 On introduit la notion de tâches non interférentes : T1 et T2 sont non-interférentes entre elles si : T1<T2 ou T2<T1 Ou : L1 E2 = L2 E1 = E1 E2 =. = Conditions de Bernstein Si un système est constitué de taches 2 à 2 noninterférentes, il est déterminé, ce qui est le but à atteindre.

16 Reprenons l'exemple 16 T1 : X=read(5) T2 : X=X+Z T3 : Print Y T4 : Z=read(7) T5 : Y=X+Z On voit clairement que : T1 et T5 sont interférentes T2 et T4 de même T2 et T5 aussi T5 et T3 Si on impose T2 < T5, le graphe déterminé devient : T 1 T 2 T 1 T 2 T 3 T 4 T 4 T 5 T 5 T 3

17 Parallélisme maximal 17 Le but est de réduire au mieux un système de tâches, de façon à avoir le plus grand parallélisme, donc le meilleur taux d'utilisation de la CPU. Il est évident que le système réduit et le système initial doivent donner les même résultats ; c.a.d qu'ils doivent être équivalents : S(E,<) et S'(E, <') sont équivalents s'ils sont tous les 2 déterminés, et si l'état final Mf de la mémoire est le même, pour un même état M 0. Une autre définition impose que la suite des état de la mémoire soit identique dans les 2 cas, mais c'est sans doute trop restrictif.

18 Parallélisme maximal (2) 18 Un système de tâche sera de parallélisme maximale si : La suppression de tout arc (T, T') du graphe (c.a.d la suppression d'une relation de précédence T<T' ou T'<T), entraîne l'interférence des tâches (T,T'), donc le non-déterminisme du système. Soit de façon plus formelle : (T1<T2 ou T2 < T1) et (L1 E2 ou L2 E1 ou E1 E2 ) et E1 E2 non vides. La technique de construction de ce système minimal consiste à éliminer tous les arcs redondants, c.a.d. la fermeture transitive de la relation <

19 Exemple de réduction 19 Soit le processus séquentiel suivant P : X=2 Y=F(4) Z = Y+G(7) A= X+Y+5 B= 2*Y+Z = C= (A+B) * Z A += Y D= A+B+C T 1 T 2 T 3 T 4 T 5 T 6 T 8 T 7

20 Exemple Etape 1 20 Déterminer le tableau des domaines de lecture et écriture Taches \ Variables X Y Z A B C D T1:X=2 E T2:Y=F(4) E T3:Z = Y+G(7) L E T4:A= X+Y+5 L L E T5:B= 2*Y+Z L L E T6:C= (A+B) * Z L L L E T7:A += Y L E/L T8:D= A+B+C L L L E

21 Exemple Etape Lister les interférences : Le tableau est symétrique transversalement Taches T1:X=2 T2:Y=F(4) T3:Z = Y+G(7) T4:A= X+Y+5 T5:B= 2*Y+Z T6:C= (A+B) * Z T7:A += Y T8:D= A+B+C T1 T2 T3 T4 T5 T6 T7 T8

22 Exemple - Etape 3 22 Déterminer, à partir de ce tableau, les relations à imposer pour éviter des interférences : T1 < T4 T2 < T3, T4, T5, T7 T3 < T5, T6 T4 < T6, T7, T8 T5 < T6, T8 T6 < T7, T8 T7 < T8

23 Exemple Etape 4 23 Supprimer, dans le graphe séquentiel d'origine, les arcs non essentiels = ceux qui n'entraineront pas d'interférences : T 1 T 1 T 2 T 2 T 3 T 3 T 4 T 4 T 5 T 5 T 6 T 6 T 8 T 7 T 8 T 7

24 Exemple Etape 5 Ajouter tous les arcs trouvés par l'étude des interférences; Puis, supprimer les arcs redondants = les plus 24 courts! T 1 T 2 T 1 T 2 x x T 3 T 4 x T 4 T 3 T 5 x T 5 T 8 x x T 6 T 7 x T 8 T 7 T 6

25 Blocages 25 Blocage entre N processus sous 4 conditions: Les ressources considérées ne sont pas partageables Les ressources ne sont pas réquisitionnables Un ensemble de ces ressources est en attente circulaire par les processus considérés, tout en étant tenues par les même processus. Exemple : graphe d'allocation requête P1 alloué à R1 R2 alloué à P2 requête

26 Blocages (2) La modélisation par système de tâches est modifiée: à un événement di(l), sera associé l'allocation des ressources de l'étape l. à un événement fi(l), libération des ressources étape l, ET requête pour les ressources de l'étape l+1. Systèmes modernes plus sensibles au blocage car Programmation parallèle Système de Processus communicants Partage de ressources dynamique pour de meilleures performances. Manipulation d'objets sans avoir forcément la connaissance des verrous utilisés implicitement

27 Résolution du problème 27 Pour remédier au problème du blocage, trois techniques de bases Si un blocage est détecté, on met en oeuvre un mécanisme de reprise. (détection/reprise) En s'assurant qu'une des trois conditions citées cidessus n'est pas remplie. => prévention En contrôlant pas à pas l'exécution du système pour vérifier qu'on ne rentre pas dans une telle situation => évitement.

28 Détection reprise 28 La détection est «relativement» facile Exploration des processus et des ressources qu'ils tiennent de façon exclusive Le problème est plutôt de permettre la reprise Réquisitionner des ressources implique : Soit de tuer un processus Peut laisser le système dans un état incorrect Soit de provoquer une reprise arrière d'un processus pour qu'il libère ses ressources Généralement faisable pour les système transactionnels (Bases de données...)

29 Prévention 29 Basiquement, il faut supprimer une des quatre conditions : Rendre les ressources partageables Pouvoir réquisitionner les ressources Empêcher un processus de se mettre en attente avec des ressources détenues. Supprimer l'attente circulaire

30 Prévention 1 30 Rendre les ressources partageables Peu réaliste en réalité; certains type de ressources, comme les verrous, ne peuvent être qu'exclusif. Exemple possible : fichiers accédés en lecture. Dans certains cas particuliers, on peut améliorer la situation en augmentant le nombre d'instances d'une classe de ressource donnée. plus de mémoire...

31 Prévention 2 31 Pouvoir réquisitionner les ressources Difficile à réaliser : nécessite que le processus à qui on prend des ressources puisse faire «machine arrière» faisable pour la gestion de bases de données avec transactions. Certains cas simples sont implicites : réquisition de la CPU par un processus prioritaire réquisition de mémoire par déplacement d'un processus moins prioritaire sur disque.

32 Prévention 3 32 Empêcher un processus de se mettre en attente avec des ressources détenues. 3 solutions : Allouer TOUTES les ressources avant le début de l'exécution du processus. Fonctionne, si on peut définir la liste des ressources. très peu efficace en terme d'utilisation CPU et ressources Solution des machines mono-programmées ; fonctionnement séquentiel. N'autoriser la requête et l'attente sur une ressource que si le processus n'en détient aucune. simple si on peut l'implémenter peu réaliste Libérer toute les ressources et les ré-allouer toutes (+ la nouvelle) à chaque étape. peu réaliste dans les faits

33 Prévention 4 33 Supprimer l'attente circulaire introduire une relation d'ordre entre les ressources = Les allouer toujours dans le même ordre! Très efficace; utilisé par exemple dans la gestion de mémoire virtuelle de ChorusOS Ne réponds peut-être pas à tous les problèmes On veut éviter le style de programmation idiot suivant : P1 :... lock(r1)... lock(r2)... P2 :... lock(r2)... lock(r1)...

34 Evitement Reprenons l'exemple à deux processus et deux ressources Il y a blocage si un processus tiens une ressource et attends l'autre, et réciproquement. Représentable par un graphe d'évolution : x k+1 = x k +1 et y k+1 = y k si ak est un événement de P1 x k+1 = x k et y k+1 = y k +1 si ak est un événement de P2 34 R2 P2 Zone de blocage Zone interdite R1 Chemin A possible Chemin B possible R2 R1 P1

35 Evitement (2) 35 L'algorithme d'évitement doit vérifier avant chaque transition qu'on reste dans un état sûr, c.a.d qu'on ne rentre pas dans la zone interdite. Cela implique la connaissance de TOUTES les tâches de chacun des processus, en terme de demande et libération de ressources Contrainte très forte de spécification d'un système peu réalisable dans les faits. on va considérer une hypothèse plus faible qui sera suffisante bien que non nécessaire :

36 Algorithme du banquier 36 Chaque processus i va devoir indiquer le nombre maximum de ressources Rj détenues pour une exécution séquentielle : MAXij A chaque étape, le système va analyser l'étape suivante en supposant que TOUS les processus actifs vont arriver à cet état maximal. actif = qui tient des ressources ou en a demandé. on prend le cas le plus défavorable. Si l'état fictif maximal suivant est non bloqué, alors la requête est accordée. Sinon, la requête est rejetée, ce qui provoquera la mise en attente du processus demandeur.

37 Algorithme du banquier (2) 37 Avantages : fonctionne Inconvénients Consommation de CPU pour l'analyse de l'état du système! implique qu'un processus : définisse une fois pour toute sa requête maximale définisse pour chaque étape ses besoins pour l'étape suivante Fortes contraintes de programmation...

38 Blocages : conclusion 38 Peu d'algorithmes implémentables facilement au sein d'un système d'exploitation Les méthodes sont souvent à adapter au cas considérés : pas de méthodes génériques On trouve au sein des OS des parties de solutions de prévention pour des cas particuliers. ex :relation d'ordre dans l'allocation des ressources. Souvent, les utilisateurs, et les programmeurs, préfèrent un blocage occasionnel à des contraintes fortes de programmation/spécifications.

39 Synchronisation 39 On a vu qu'il était important pour un système d'être déterminé! Mais parfois, un graphe de précédence définis des contraintes trop fortes : exemple : soit la gestion d'un compte bancaire B un versement se traduit par : B = B + V un retrait par : B = B - R Versements et retraits effectués en parallèle. Dans cet exemple on a : T1 : B = B+V ; soit d1 = lecture de B et V, f1 = écriture de B T2 : B = B-R; d2 = lecture de B et R, f2 = écriture de B

40 Exemple de synchronisation (suite) 40 Si on laisse le système suivant s'exécuter : B=0 T 1 T 2 T' 1 T' 2 On risque d'avoir les exécutions suivantes : d1 f1 d2 f2 d'1 f'1... : correct d1 d2 f1 f2... : incorrect

41 Notion de section critique 41 On pourrait être tenté de définir les relations : Cela introduit une trop forte dépendance, car on n'autorise qu'un des comportements On introduit alors la notion de section critique : ensemble d'instructions (tâches) qui doivent être exécutées par un seul processus à un instant donné elles sont en exclusion mutuelle T 1 T 1 ou T 2 T 2

42 Section critique Pour l'étude on considérera les processus en boucle suivants : répéter <section normale> (non critique) <section critique> jusqu'à faux; La notion de section critique conduit à introduire deux nouvelles sections : répéter <section normale> (non critique) <section d'entrée> <section critique> <section de sortie> jusqu'à faux; 42

43 Section critique (suite) 43 Chaque processus attend dans la section d'entrée une certaines conditions, puis exécute sa section critique en exclusion mutuelle Indique sa sortie de section critique dans la section de sortie. On distinguera : des solutions logicielles et matérielles simples à ce problème, des solutions de plus haut niveau.

44 Solutions logicielles élémentaires 44 Variable «relais» «Drapeaux» de demande d'entrée Algorithme de Peterson Sémaphores Etudes sur cas à 2 processus; Avec plus de processus, la solution logicielle devient rapidement trop complexe.

45 Variable «relais» 45 Chaque processus va «donner» le relais à l'autre, et ne pourra entrer en section critique que s'il a obtenu le relais relais = une variable entière, initialement à 1. P1 P2 répéter répéter <section normale 1> <section normale 2> tant que RELAIS = 2, boucler tant que RELAIS = 1, boucler <section critique 1> <section critique 2> RELAIS = 2 RELAIS = 1 jusqu'à faux; jusqu'à faux;

46 Variable «relais» 46 inconvénients : impose une alternance stricte d'exécution des sections critiques attente active. Si un des processus s'arrète (en section normale), l'autre ne peux plus entrer en section critique (il le fait 1 fois en fait) condition de progression non respectée ex:mécanisme utilisé pour gérer les buffers ethernet entre le Hardware et le software...

47 «Drapeaux» de demande d'entrée. 47 Chaque processus signale son désir d'entrer en section critique par un «drapeau», que l'autre processus doit tester P1 P2 répéter répéter <section normale 1> <section normale 2> D1 = vrai D2 = vrai tant que D2 = vrai, boucler tant que D1 = vrai, boucler <section critique 1> <section critique 2> D1 = faux D2 = faux jusqu'à faux; jusqu'à faux; La condition de progression est cette fois vérifiée Mais risque de blocage!!! avec D1=vrai, D2=vrai simultanément => solution non acceptable.

48 Algorithme de Peterson Adaptation des 2 solutions précédentes pour remédier aux problèmes évoqués : L'algorithme (symétrique toujours) est : Pi (i=1 ou 2) répéter <section normale i> Di = vrai RELAIS = 3-i tant que (D 3-i = vrai et RELAIS = 3-i), boucler <section critique 1> Di = faux jusqu'à faux; Cet algorithme vérifie les propriétés : exclusion mutuelle absence de blocage progression dans tous les cas et aussi attente bornée : un processus ne peut pas exécuter plusieurs fois sa S.C au détriment de l'autre. 48

49 Semaphores 49 Variable de type entier Deux opérations : s.p() : prendre le sémaphore : si s 0, boucler, sinon s=s-1 s.v() : valoriser le sémaphore : s=s+1 Un sémaphore initialisé à 1 réalise facilement une exclusion mutuelle (mutex) une section critique est donc encadrée par : s.p(); <section critique> s.v(); Un sémaphore initialisé à une valeur k permet à k processus d'accéder simultanément à leur «SC»

50 Remarque 50 Problème des solutions abordées jusqu'à présent : l'attente active consomme la CPU Peut introduire un blocage si : un processus de basse priorité tiens un lock, un processus de haute priorité cherche à avoir le même lock => il boucle en attente active et donc empêche le processus de basse priorité de libérer le lock! => toute solution offerte par l'os devra faire appel à des files d'attentes. Le test du lock, et la mise en file d'attente doivent se faire de manière indivisible! Files d'attente de type FIFO par priorité, en général

51 Solutions matérielles 51 Masquage des interruptions Instructions «test and set»

52 Masquage des interruptions 52 Généralement au niveau processeur, pour se prémunir contre toute causes possible de préemption non sélectif : bloque l'ensemble du système ne respecte pas la priorité des processus Dangereux hors du système lui-même. Technique utilisé néanmoins au sein du système Ne fonctionne pas tel quel avec plusieurs processeurs.

53 Instruction matérielle spécifique 53 Appelée «test and set» ou «exchange» Atomique Principe : Ecrire une valeur dans la cellule mémoire indiquée (1 pour TAS), et retourner la valeur stockée précédemment dans le registre : ex intel : XCHG (%reg), %eax on ecrit 1, et on verifie ensuite s'il y avait deja 1 en mémoire : si oui, le lock était déjà pris => on doit re-boucler si non, on a le lock. C'est un mutex simple. Cette instruction est en général utilisée pour implémenter des mutex au sein de l'os.

54 Solutions de plus haut niveau 54 Les solutions précédentes ont l'inconvénients de reposer sur le bon vouloir et les capacités du programmeur risque de blocage si erreur de conception ou risque de corruption des sections critiques qu'on veut protéger On introduit donc de nouveaux mécanismes, offerts par les langages de programmations : Moniteurs «Sérialiseurs» Expression de séquence d'opérations («path expression»)...

55 Moniteur 55 Structure regroupant des ressources à partager, et les opérations permettant d'y accéder Un seul processus peut être actif au sein d'un moniteur exclusion mutuelle implicite Exemple : le compte en banque : Moniteur : compte var N : entier début : N = 0; fin; procédure depot(v) { N = N+V; } procédure retrait (V) { N = N -V; } Un retrait : compte.retrait(v); Un dépôt : compte.depot(v);

56 Moniteur (suite) 56 Typiquement en Java : les objets «synchronized» Faiblesse des moniteurs : Accès en un seul «bloc», pas de finesse de synchronisation Inadapté par exemple au cas des «lecteurs/écrivains» on introduit la notion de variable «condition», qui sont en fait des files d'attentes liés au moniteur, et qui permettent de libérer, temporairement l'accès exclusif, au sein d'une procédure. X : condition X.wait(), X.signal() les 2 méthodes Voir exemple (TD) des lecteurs/écrivains en Java : wait(), notify();

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran) " Processus = suite d'actions = suite d'états obtenus = trace

Processus! programme. DIMA, Systèmes Centralisés (Ph. Mauran)  Processus = suite d'actions = suite d'états obtenus = trace Processus 1) Contexte 2) Modèles de Notion de Points de vue Modèle fourni par le SX Opérations sur les 3) Gestion des Représentation des Opérations 4) Ordonnancement des Niveaux d ordonnancement Ordonnancement

Plus en détail

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

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 Génie Logiciel

Cours 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étail

Ordonnancement temps réel

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

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

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

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

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

Plus en détail

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

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

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

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

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

Partie 7 : Gestion de la mémoire

Partie 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étail

Concept de machine virtuelle

Concept de machine virtuelle Concept de machine virtuelle Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 1 Introduction: Java Virtual Machine Machine Virtuelle Java: qu est-ce que c est? c est la spécification d une machine

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

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

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

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

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

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

Plus en détail

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

Systemes d'exploitation des ordinateurs

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

Les diagrammes de modélisation

Les diagrammes de modélisation L approche Orientée Objet et UML 1 Plan du cours Introduction au Génie Logiciel L approche Orientée Objet et Notation UML Les diagrammes de modélisation Relations entre les différents diagrammes De l analyse

Plus en détail

Bases de données avancées Concurrence d'accès et reprise

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

SYSTÈME DE GESTION DE FICHIERS

SYSTÈ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étail

Bases de données et sites WEB Licence d informatique LI345

Bases de données et sites WEB Licence d informatique LI345 Bases de données et sites WEB Licence d informatique LI345 Anne Doucet Anne.Doucet@lip6.fr http://www-bd.lip6.fr/ens/li345-2013/index.php/lescours 1 Contenu Transactions en pratique Modèle relationnel-objet

Plus en détail

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

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

Plus en détail

SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE

SYSTÈ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é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

"! "#$ $ $ ""! %#& """! '& ( ")! )*+

! #$ $ $ ! %#& ! '& ( )! )*+ ! "! "#$ $ $ ""! %#& """! '& ( ")! )*+ "! "#$ $ $ ""! %#& """! '& ( ")! )*+, ## $ *$-./ 0 - ## 1( $. - (/$ #,-".2 + -".234-5..'"6..6 $37 89-%:56.#&(#. +6$../.4. ;-37 /. .?.@A&.!)B

Plus en détail

Implémentation des SGBD

Implémentation des SGBD Implémentation des SGBD Structure générale des applications Application utilisateur accédant à des données d'une base Les programmes sous-jacents contiennent du code SQL Exécution : pendant l'exécution

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

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

Cours A7 : Temps Réel

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

COMPOSANTS DE L ARCHITECTURE D UN SGBD. Chapitre 1

COMPOSANTS DE L ARCHITECTURE D UN SGBD. Chapitre 1 1 COMPOSANTS DE L ARCHITECTURE D UN SGBD Chapitre 1 Généralité 2 Les composants principaux de l architecture d un SGBD Sont: Les processus Les structures mémoires Les fichiers P1 P2 Pn SGA Fichiers Oracle

Plus en détail

Série TD 3. Exercice 4.1. Exercice 4.2 Cet algorithme est destiné à prédire l'avenir, et il doit être infaillible! Exercice 4.3. Exercice 4.

Série TD 3. Exercice 4.1. Exercice 4.2 Cet algorithme est destiné à prédire l'avenir, et il doit être infaillible! Exercice 4.3. Exercice 4. Série TD 3 Exercice 4.1 Formulez un algorithme équivalent à l algorithme suivant : Si Tutu > Toto + 4 OU Tata = OK Alors Tutu Tutu + 1 Tutu Tutu 1 ; Exercice 4.2 Cet algorithme est destiné à prédire l'avenir,

Plus en détail

Les 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

Les 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étail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

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

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

Bases de Données. Plan

Bases de Données. Plan Université Mohammed V- Agdal Ecole Mohammadia d'ingénieurs Rabat Bases de Données Mr N.EL FADDOULI 2014-2015 Plan Généralités: Définition de Bases de Données Le modèle relationnel Algèbre relationnelle

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

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

CLAIRE, UN OUTIL DE SIMULATION ET DE TEST DE LOGICIELS CRITIQUES. Jean GASSINO, Jean-Yves HENRY. Rapport IPSN/Département d'évaluation de sûreté N 280

CLAIRE, UN OUTIL DE SIMULATION ET DE TEST DE LOGICIELS CRITIQUES. Jean GASSINO, Jean-Yves HENRY. Rapport IPSN/Département d'évaluation de sûreté N 280 FR9704668 PC CLAIRE, UN OUTIL DE SIMULATION ET DE TEST DE LOGICIELS CRITIQUES Jean GASSINO, Jean-Yves HENRY eci Rapport IPSN/Département d'évaluation de sûreté N 280 Octobre 1996 INSTITUT DE PROTECTION

Plus en détail

Transactionnel et transactionnel réparti. Source R.CHEVANCE G.Gardarin

Transactionnel et transactionnel réparti. Source R.CHEVANCE G.Gardarin 1 Transactionnel et transactionnel réparti Source R.CHEVANCE G.Gardarin Plan Concept de transaction - Propriétés ACID Transactionnel réparti Moniteur transactionnel Modèle X/Open Exemple de moniteur transactionnel:

Plus en détail

2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE

2 Grad Info Soir Langage C++ Juin 2007. Projet BANQUE 2 Grad Info Soir Langage C++ Juin 2007 Projet BANQUE 1. Explications L'examen comprend un projet à réaliser à domicile et à documenter : - structure des données, - objets utilisés, - relations de dépendance

Plus en détail

GESTION DE LA MEMOIRE

GESTION DE LA MEMOIRE GESTION DE LA MEMOIRE MEMOIRE CENTRALE (MC) MEMOIRE SECONDAIRE (MS) 1. HIÉRARCHIE ET DIFFÉRENTS TYPES DE MÉMOIRE... 2 2. MÉMOIRE CACHE... 3 3. MODÈLE D'ALLOCATION CONTIGUË (MC OU MS)... 5 3.1. STRATÉGIE

Plus en détail

Algorithmique avec Algobox

Algorithmique avec Algobox Algorithmique avec Algobox Fiche 2 Cette fiche est la suite directe de la première. 1. Instructions conditionnelles : 1.1. Reprise de la fiche 1 : Lecture d'un algorithme : ORDINATEUR INTERDIT : Après

Plus en détail

LE PROBLEME DU PLUS COURT CHEMIN

LE PROBLEME DU PLUS COURT CHEMIN LE PROBLEME DU PLUS COURT CHEMIN Dans cette leçon nous définissons le modèle de plus court chemin, présentons des exemples d'application et proposons un algorithme de résolution dans le cas où les longueurs

Plus en détail

MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006

MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006 MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006 SOMMAIRE 1 AVANT PROPOS...3 2 PRÉSENTATION...4 2.1 Quelques définitions...4 2.2 Besoins d'intégration d'un moteur de workflow...4

Plus en détail

ORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL

ORDONNANCEMENT CONJOINT DE TÂCHES ET DE MESSAGES DANS LES RÉSEAUX TEMPS RÉELS 4. QUELQUES EXEMPLES DU DYNAMISME ACTUEL DU TEMPS RÉEL i LE TEMPS RÉEL 1. PRÉSENTATION DU TEMPS RÉEL 1.1. APPLICATIONS TEMPS RÉEL 1.2. CONTRAINTES DE TEMPS RÉEL 2. STRUCTURES D'ACCUEIL POUR LE TEMPS RÉEL 2.1. EXÉCUTIFS TEMPS RÉEL 2.2. RÉSEAUX LOCAUX TEMPS

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

2. Activités et Modèles de développement en Génie Logiciel

2. Activités et Modèles de développement en Génie Logiciel 2. Activités et Modèles de développement en Génie Logiciel Bernard ESPINASSE Professeur à l'université d'aix-marseille Plan Les Activités du GL Analyse des besoins Spécification globale Conceptions architecturale

Plus en détail

Ebauche Rapport finale

Ebauche Rapport finale Ebauche Rapport finale Sommaire : 1 - Introduction au C.D.N. 2 - Définition de la problématique 3 - Etat de l'art : Présentatio de 3 Topologies streaming p2p 1) INTRODUCTION au C.D.N. La croissance rapide

Plus en détail

Annexe : La Programmation Informatique

Annexe : La Programmation Informatique GLOSSAIRE Table des matières La Programmation...2 Les langages de programmation...2 Java...2 La programmation orientée objet...2 Classe et Objet...3 API et Bibliothèque Logicielle...3 Environnement de

Plus en détail

Application 1- VBA : Test de comportements d'investissements

Application 1- VBA : Test de comportements d'investissements Application 1- VBA : Test de comportements d'investissements Notions mobilisées Chapitres 1 à 5 du cours - Exemple de récupération de cours en ligne 1ère approche des objets (feuilles et classeurs). Corps

Plus en détail

Algorithmes de recherche

Algorithmes de recherche Algorithmes de recherche 1 Résolution de problèmes par recherche On représente un problème par un espace d'états (arbre/graphe). Chaque état est une conguration possible du problème. Résoudre le problème

Plus en détail

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques. Logique binaire I. L'algèbre de Boole L'algèbre de Boole est la partie des mathématiques, de la logique et de l'électronique qui s'intéresse aux opérations et aux fonctions sur les variables logiques.

Plus en détail

SAGASAFE Mode d'emploi de la série DCP Version 7.0

SAGASAFE Mode d'emploi de la série DCP Version 7.0 SAGASAFE Mode d'emploi de la série DCP Version 7.0 Pendant la procédure de programmation, vous pouvez paramétrer à nouveau le code de fonction. Afin de savoir comment utiliser et programmer le coffre-fort

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

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année 1997-98. J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES

BASES DE DONNÉES. CNAM Centre associé de Clermont-Ferrand Cycle A Année 1997-98. J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES BASES DE DONNÉES CNAM Centre associé de Clermont-Ferrand Cycle A Année 1997-98 J. Darmont I. INTRODUCTION II. LES SYSTÈMES HIÉRARCHIQUES III. LES SYSTÈMES RÉSEAU IV. LES SYSTÈMES RELATIONNELS V. LE LANGAGE

Plus en détail

Algorithmique avec Algobox

Algorithmique avec Algobox Algorithmique avec Algobox 1. Algorithme: Un algorithme est une suite d instructions qui, une fois exécutée correctement, conduit à un résultat donné Un algorithme doit contenir uniquement des instructions

Plus en détail

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

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

Créer un RAID. Maintenance que les disques ont été déclarés, vous allez devoir le formater. Rendez vous dans le

Créer un RAID. Maintenance que les disques ont été déclarés, vous allez devoir le formater. Rendez vous dans le Créer un RAID Souvenez vous que notre PC de test dispose en plus du disque de base destiné à revoir l'os Freenas de trois disque SATA de 1 Sera chacun. Nous allons déclarer ces disques, les agréger dans

Plus en détail

portnox pour un contrôle amélioré des accès réseau Copyright 2008 Access Layers. Tous droits réservés.

portnox pour un contrôle amélioré des accès réseau Copyright 2008 Access Layers. Tous droits réservés. portnox Livre blanc réseau Janvier 2008 Access Layers portnox pour un contrôle amélioré des accès access layers Copyright 2008 Access Layers. Tous droits réservés. Table des matières Introduction 2 Contrôle

Plus en détail

3. La SGA ou System global Area

3. La SGA ou System global Area 1/11 L'instance Oracle Oracle est une base de données composée de 3 parties différentes : L'instance Les fichiers de données Les fichiers de données facultatifs (fichier d'initialisation, fichier de mots

Plus en détail

Cours de Base de Données Cours n.12

Cours 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étail

IV- Comment fonctionne un ordinateur?

IV- Comment fonctionne un ordinateur? 1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions

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

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental

Plus en détail

Module BDR Master d Informatique (SAR)

Module 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étail

Chapitre 5 : Flot maximal dans un graphe

Chapitre 5 : Flot maximal dans un graphe Graphes et RO TELECOM Nancy A Chapitre 5 : Flot maximal dans un graphe J.-F. Scheid 1 Plan du chapitre I. Définitions 1 Graphe Graphe valué 3 Représentation d un graphe (matrice d incidence, matrice d

Plus en détail

Bernard HAMM, Évelyne LAVOISIER

Bernard HAMM, Évelyne LAVOISIER 92 MAÎTRISE DE PROGICIELS DE GESTION DE BASES DE DONNÉES ET DE TRAITEMENT DE TEXTE Compte rendu d'un stage à l'usage des professeurs de sciences sociales. Ce stage a été programmé A la demande et avec

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

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

Support de cours système d exploitation

Support de cours système d exploitation Support de cours système d exploitation J. Gispert, J. Guizol, J.L. Massat Département d informatique Faculté de Luminy 163, Avenue de Luminy, Case 901, 13288 Marseille, cedex 9 23 février 2012 Chapitre

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

CHAPITRE VI ALEAS. 6.1.Généralités.

CHAPITRE VI ALEAS. 6.1.Généralités. CHAPITRE VI ALEAS 6.1.Généralités. Lors de la synthèse des systèmes logique (combinatoires ou séquentiels), nous avons supposé, implicitement, qu une même variable secondaire avait toujours la même valeur

Plus en détail

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

PROGRAMMATION EVENEMENTIELLE sur EXCEL

PROGRAMMATION EVENEMENTIELLE sur EXCEL MASTERs SMaRT & GSI PROGRAMMATION EVENEMENTIELLE sur EXCEL Pierre BONNET Programmation évènementielle La programmation évènementielle permet un appel de procédure depuis l'interface HMI d'excel (ou d'un

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

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

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

Plus en détail

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm)

Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm) Eléments de spécification des systèmes temps réel Pierre-Yves Duval (cppm) Ecole d informatique temps réel - La Londes les Maures 7-11 Octobre 2002 - Evénements et architectures - Spécifications de performances

Plus en détail

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009 Déroulement Algorithmes et structures de données Cours 1 et 2 Patrick Reuter http://www.labri.fr/~preuter/asd2009 CM mercredi de 8h00 à 9h00 (Amphi Bât. E, 3 ème étage) ED - Groupe 3 : mercredi, 10h30

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

Cours Bases de données

Cours Bases de données Informations sur le cours Cours Bases de données 9 (10) séances de 3h Polycopié (Cours + TD/TP) 3 année (MISI) Antoine Cornuéjols www.lri.fr/~antoine antoine.cornuejols@agroparistech.fr Transparents Disponibles

Plus en détail

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit.

Conditions : stage indemnisé, aide au logement possible, transport CEA en Ile-de-France gratuit. Proposition de stage de BAC+4 ou BAC+5 Pro ou Recherche Etude comparative des outils de vérification d'algorithmes parallèles Logiciels (LSL), localisé à Palaiseau (Essonne), développe les outils d'aide

Plus en détail

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN 1. DÉVELOPPEMENT D'APPLICATION (CONCEPTEUR ANALYSTE) 1.1 ARCHITECTURE MATÉRIELLE DU SYSTÈME INFORMATIQUE 1.1.1 Architecture d'un ordinateur Processeur,

Plus en détail

Utilisation de l analyse statique comme outil d aide au développement. par. Yves Gauthier

Utilisation de l analyse statique comme outil d aide au développement. par. Yves Gauthier Utilisation de l analyse statique comme outil d aide au développement par Yves Gauthier essai présenté au Département d'informatique en vue de l'obtention du grade de maître en technologies de l information

Plus en détail

Chapitre 1 I:\ Soyez courageux!

Chapitre 1 I:\ Soyez courageux! Chapitre 1 I:\ Soyez courageux! Pour ne rien vous cacher, le langage d'assembleur (souvent désigné sous le terme "Assembleur", bien que ce soit un abus de langage, puisque "Assembleur" désigne le logiciel

Plus en détail

ESXi: Occupation RAM avec VM_Windows et VM_Linux. R. Babel, A. Ouadahi April 10, 2011

ESXi: Occupation RAM avec VM_Windows et VM_Linux. R. Babel, A. Ouadahi April 10, 2011 ESXi: Occupation RAM avec VM_Windows et VM_Linux R. Babel, A. Ouadahi April 10, 2011 1 Contents 1 Introduction 3 2 TPS 3 2.1 Principe................................ 3 2.2 L'implémentation ESXi.......................

Plus en détail

Conception des systèmes répartis

Conception 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étail

Comprendre Merise et la modélisation des données

Comprendre Merise et la modélisation des données Comprendre Merise et la modélisation des données Tables des matières Avant-propos 1- Introduction 1-1 Principes fondateurs 1-2 Bases conceptuelles 1-3 Place de Merise dans le cycle de développement informatique

Plus en détail

Projet Active Object

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