Notions de base Ordonnancement Communication et synchronisation. Les processus. Julien Forget 1
|
|
- Pascale Bertrand
- il y a 8 ans
- Total affichages :
Transcription
1 Julien Forget 1 Université Lille 1 École Polytechnique Universitaire de Lille Cité Scientifique Villeneuve d Ascq GIS Inspiré des slides de Thomas Vantroys 1 / 58
2 Plan 1 Notions de base 2 Ordonnancement 3 Communication et synchronisation inter-processus 2 / 58
3 Programme et processus Définition Un processus est un programme en cours d exécution. Chaque exécution d un programme (éventuellement plusieurs fois le même) donne lieu à un processus différent ; A tout instant, un processeur exécute au plus un processus ; Dans un OS multi-tâches, le système alterne entre l exécution de plusieurs processus ; Seuls les systèmes multi-cœur ou multi-processeur exécutent réellement plusieurs processus en même temps (un par cœur/processeur) ; Plus généralement, les processus partagent l accès à différentes ressources : processeur mais aussi mémoire et périphériques. 3 / 58
4 Propriétés d un processus A un instant donné, un processus est caractérisé par de nombreuses informations, dont : Son état : exécution, suspendu, etc. ; Son identificateur ; Son compteur ordinal : indique la prochaine instruction à exécuter ; Sa pile d exécution : mémorise l empilement des appels de fonction ; Ses données en mémoire ; Toutes autres informations utiles à son exécution (E/S, fichiers ouverts,... ) 4 / 58
5 En Unix : Création de processus Au lancement du système, un unique processus ; L appel système fork crée un nouveau processus ; Le processus père et le processus fils s exécutent en parallèle ; Le père et le fils peuvent à nouveau effectuer un fork ; Hiérarchie arborescente de processus. Visualiser l arborescence des processus : pstree [options] i n i t NetworkManager 2 [d h c l i e n t ] 2 [{ NetworkManager } ] acroread 2 [{acroread } ] gnome terminal bash emacs sh evince 4 [{evince } ] {emacs } evince 3 [{evince } ] pstree 5 / 58
6 Mode d exécution Deux modes d exécution d un processus : Mode noyau : accès sans restriction (manipulation de la mémoire, dialogue avec les contrôleurs de périphériques,... ) Mode utilisateur : accès restreint, certaines instructions sont interdites (pas d accès direct aux périphériques). Il peut être interrompu par d autres processus. Les appels systèmes permettent à un processus en mode utilisateur d accéder (temporairement) à des fonctions nécessitant le mode noyau. 6 / 58
7 Identificateurs d un processus Plusieurs identificateurs sont associés à un processus (UNIX) : Numéro de processus (pid) ; Numéro du processus père (ppid) ; Identificateur d utilisateur réel ; Identificateur d utilisateur effectif (bit setuid) ; Identificateur de groupe réel ; Identificateur de groupe effectif (bit setgid) ; Liste d identificateurs de groupes. Possibilité de connaître ces informations dynamiquement via des appels systèmes. 7 / 58
8 Evolution de l état au cours de l exécution 8 / 58
9 Etat d un processus non créé : le code n est pas en mémoire ; créé : le code est en mémoire, en attente d activitation ; éligible : l activation a été demandée. En attente de l accès au processeur ; élu : le processus s exécute ; suspendu : une ressource est indisponible (allouée à un autre processus). 9 / 58
10 Préemption 1 Le système interrompt l exécution d un processus pour en exécuter un autre (ressource indisponible, processus prioritaire, etc.) ; 2 Il sauve le contexte du processus et le remplace par celui d un autre ; 3 Il rétablira plus tard le contexte du processus préempté. Contexte d un processus : valeur du compteur ordinal, adresse de la pile, valeur des registres, etc. 10 / 58
11 Classification des systèmes Gestion des processus mono-tâche : CPU dédié à un processus ; multi-tâche : CPU partagé entre les processus ; multi-tâche préemptif : possibilité de suspendre puis rétablir un processus en cours d exécution. Gestion des utilisateurs mono-utilisateur : pas de cohabitation entre utilisateurs ; multi-utilisateur : cohabitation possible. 11 / 58
12 Exemples de système d exploitation MS-DOS : mono-utilisateur, mono-tâche ; Windows : mono-utilisateur, multi-tâche ; WinNT : mono-utilisateur, multi-tâche préemptif ; UNIX : multi-utilisateur, multi-tâche préemptif. 12 / 58
13 Sous WinNT : Visualisation des processus 13 / 58
14 Visualisation des processus Sous UNIX : l information sur les processus en cours peut être obtenue par : ps [options] pour les options consultez le man 14 / 58
15 Visualisation des processus Sous UNIX : visualisation dynamique des processus : top [options] 15 / 58
16 Interruption des processus Sous UNIX : kill [numéro_de_signal] numéro_de_processus kill -l donne l ensemble des signaux disponibles exemple de signaux : SIGHUP (1) : émis à tous les processus associés à un terminal lorsque celui-ci se déconnecte SIGINT (2) : émis à tous les processus associés à un terminal lorsque <ctrl + C > est tapé SIGKILL (9) : tue un processus quel que soit son état. C est l arme absolue. SIGTERM (15) : signal de terminaison normale d un processus 16 / 58
17 Lancement en arrière plan Il est possible de lancer une commande sans que le shell courant en attende la terminaison : commande & Elle ne peut plus lire au clavier ; Les sorties standards sont toujours associées, par défaut, au terminal ; Elles ne sont plus interruptibles à partir du clavier (ctrl-c par exemple). Connaître les processus lancés en arrière plan (pour un shell donné) : jobs 17 / 58
18 Sous UNIX : Changement d état d un processus 18 / 58
19 Problématiques de la gestion de processus Difficulté principale : gestion de l accès concurrent à diverses ressources : Accès au processeur : ordonnancement ; Lecture/écriture de données : Assurer la cohérence des données ; Gérer les synchronisations lecteur/écrivain ; Eviter les blocages. 19 / 58
20 Plan 1 Notions de base 2 Ordonnancement 3 Communication et synchronisation inter-processus 20 / 58
21 Définition L ordonnancement (scheduling) est une fonction fondamentale d un système d exploitation ; A la base de la programmation multi-tâche : Plusieurs processus en mémoire en même temps ; Assignation du processeur à un processus en fonction de certains critères ; Objectif = optimiser l utilisation concurrente du processeur. 21 / 58
22 Ordonnanceur vs dispatcher L ordonnanceur est responsable de l organisation des file d attente des tâches éligibles ; Le dispatcher réalise l élection d un processus et le changement de contexte associé. 22 / 58
23 Décisions de l ordonnanceur Les décisions de l ordonnanceur peuvent avoir lieu dans les circonstances suivantes : 1 Quand un processus passe de l état "élu" à "suspendu" (attente de disponibilité d une ressource) ; 2 Quand un processus passe de l état "élu" à l état "éligible" (à cause d une interruption) ; 3 Quand un processus passe de l état "suspendu" à l état "éligible" (libération d une ressource) ; 4 Quand un processus se termine. 23 / 58
24 Réquisition Ordonnancement sans réquisition : L ordonnanceur n intervient qu en 1 et 4 ; Une fois le processeur alloué à un processus, celui-ci le garde jusqu à ce qu il ait terminé ou passe en attente. ordonnancement avec réquisition : l ordonnanceur intervient dans les cas 1 à 4 problèmes à résoudre : Le partage des données ; Accès à des périphériques non partageables. 24 / 58
25 Qualité de l ordonnancement Quelques critères de qualité de l ordonnancement : Taux d utilisation du processeur élevé ; Temps de réponse court : répondre rapidement à un événement extérieur ; Equité : partage équitable du processeur entre les processus ; Discrétion : le temps passé à faire les choix d ordonnancement doit rester faible. 25 / 58
26 Premier arrivé, premier servi (FCFS) First Come, First Serve c est le plus simple gestion d une file FIFO une fois le processeur alloué à un processus celui-ci le garde... peu utilisable pour le temps partagé désastreux si le processus en exécution ne se termine pas 26 / 58
27 Exercice Processus Arrivée Durée P P P P Questions : Un processus peut-il être préempté? Que faire en cas d égalité? Donner l ordonnancement en mono puis bi-processeur. 27 / 58
28 Plus court temps de traitement les temps d exécutions des tâches sont supposés connu technique favorisant les traitements courts en cas de charge, le temps de réponse des traitements longs sera catastrophique 28 / 58
29 Exercice Processus Arrivée Durée P P P P Questions : Un processus peut-il être préempté? Donner l ordonnancement en mono-processeur. 29 / 58
30 Le tourniquet (round robin) spécialement conçu pour le temps partagé file d atente circulaire un quantum de temps est alloué à chaque processus tout processus éligible est certain d être élu une fois 30 / 58
31 Le tourniquet : exemple 31 / 58
32 Le tourniquet : choix du quantum c est une affaire de compromis s il est trop court, le temps de commutation t1 devient prohibitif devant le temps consacré au processus t2 s il est trop long, le temps d attente des autres processus peut devenir gênant par rapport au temps de réponse à fournir 32 / 58
33 Exercice Processus Arrivée Durée P P P P On considère un quantum de 10 : Un processus peut-il être préempté? A-t-on une notion de priorité? Donner l ordonnancement en mono-processeur. 33 / 58
34 Par priorité attribution d une priorité à chaque processus priorité allouée statiquement ou dynamiquement sans ou avec réquisition du processeur sans : le processus est rangé en file d attente en fonction de sa priorité par rapport aux processus en attente avec : si le processus qui arrive dans la file d attente est plus prioritaire que celui en cours d exécution, il y aura réquisition du processeur en faveur du processus arrivant. 34 / 58
35 Exercice Processus Arrivée Durée Priorité P P P P Sachant que la priorité la plus faible est 1, donner l ordonnancement en mono-processeur : Sans réquisition ; Avec réquisition. 35 / 58
36 Par files d attente multi-niveaux Combinaison des systèmes précédents : Gestion par priorités et si priorités égales, gestion par tourniquet ou FIFO 36 / 58
37 Exercice Processus Arrivée Durée Priorité P P P P La priorité la plus faible est 1 et le quantum est de 10 : Le système peut-il fonctionner avec/sans réquisition? Donner l ordonnancement en mono-processeur. 37 / 58
38 Par priorité + temps partagé + âge les processus sont élus en fonction de leur priorité ; à chaque période d horloge (tick), la priorité des processus en attente augmente ; si un processus devient plus prioritaire que celui en cours d exécution, alors il y a préemption et le processus interrompu revient en file d attente avec sa priorité initiale. 38 / 58
39 Par priorité + temps partagé + âge (exemple) 39 / 58
40 Plan 1 Notions de base 2 Ordonnancement 3 Communication et synchronisation inter-processus 40 / 58
41 Processus communicants concurrents d un système d exploitation peuvent être : Indépendants : les traitements qu ils effectuent ne sont pas liés ; Communicants : les processus ont besoin d échanger des données. Plusieurs raisons pour la communication : Le partage d information ; L accélération du calcul ; La modularité (séparation d un programme complexe en plusieurs processus). La communication peut se faire : Via une zone mémoire commune ; Par échange de messages ; Par fichiers. Nécessite de synchroniser les processus communicants. 41 / 58
42 Le problème des accès concurrents communicants partagent des données assurer la cohérence des données. Exemple : out indique le fichier à imprimer ; in indique où mettre en attente un fichier à imprimer ; Problème : si B interrompt A juste quand il lit la valeur de in. 42 / 58
43 Exclusion mutuelle Il faut interdire l accès simultané à une ressource partagée ; On parle d exclusion mutuelle entre processus concurrents ; L exclusion mutuelle ne concerne qu une portion de l exécution des processus : les sections critiques ; Il faut assurer que : On n a jamais deux processus simultanément en section critique ; La solution ne dépend pas de la vitesse relative des processus ; Un processus suspendu hors section critique ne bloque pas les autres ; Tout processus finit par rentrer en section critique. 43 / 58
44 Exclusion par verrou Si verrou=1 alors la ressource est utilisée par un autre processus donc on attend ; Si verrou = 0 le processus met à 1 et utilise la ressource ; La variable verrou doit être commune aux processus coopérants ; Problème : Attente active gaspillage du temps processeur ; 2 processus en section critique si interruption/préemption au point "A". 44 / 58
45 Exclusion par alternance while (TRUE) { while ( t o u r! = 0 ) { s e c t i o n _ c r i t i q u e ( ) ; t o u r =1; s e c t i o n _ n o n c r i t i q u e ( ) ; } while (TRUE) { while ( t o u r! = 1 ) { s e c t i o n _ c r i t i q u e ( ) ; t o u r =0; s e c t i o n _ n o n c r i t i q u e ( ) ; } Le processus n rentre en section critique si tour = n ; En fin de section critique il indique que c est le tour de l autre processus ; Problèmes : Attente active ; Un processus (P1) peut bloquer l autre (P2) sans être (P1) en section critique. Ex : si la section non critique de P1 est très longue. 45 / 58
46 Les sémaphores Proposés en 1965 par E.W. Dijsktra ; Un sémaphore est un compteur muni de deux opérations : P(s)/wait(s) (prendre) : Si cpt(s) > 0 alors cpt(s) = cpt(s)-1 Sinon processus mis en attente de s V(s)/signal(s) (rendre) : cpt(s)=cpt(s)+1 liberer un processus en attente de s Toute opération sur un sémaphore est atomique (ininterruptible). 46 / 58
47 Exclusion par sémaphore Exemple : 3 tâches qui désirent utiliser une ressource commune (une imprimante) ; à synchroniser partagent un sémaphore ; Sémaphore binaire : le compteur vaut 0 ou 1 ressource unique, pas d accès simultané. 47 / 58
48 Sémaphore à compte Exemple : un consommateur et plusieurs producteurs ; Sémaphore à compte : cpt(s) varie entre 0 et un certain n (ici, n = 6). 48 / 58
49 Problème : Sémaphores : ressources multiples Tâche 1 écrit dans tampon 1, tâche 2 écrit dans tampon 2 ; Tâche 3 lit ces zones lorsqu elles sont toutes deux remplies ; Tâche 3 ne peut pas lire si tâche 1 ou tâche 2 écrit ; Tâche 1 et la tâche 2 ne peuvent pas écrire tant que leur zone tampon respective n a pas été lue. 49 / 58
50 Solution : Sémaphores : ressources multiples 50 / 58
51 Interblocage Soit deux processus P0, P1, tels que P0 est plus prioritaire que P1 et P0 commence un peu plus tard que P1. 1 P1 exécute wait(s2), qui est alors non bloquant. 2 A ce moment, P1 est interrompu par P0 qui exécute wait(s1) (non bloquant) puis wait(s2) (bloquant!). 3 P1 reprend donc la main et exécute wait(s1) (bloquant aussi!) 4 Interblocage : les processus s attendent mutuellement. 51 / 58
52 Un classique : philosophes et spaghetti Un philosophe a deux activités : manger ou penser ; Un philosophe mange des spaghetti avec 2 fourchettes ; Il n y a qu une fourchette par personne... Comment assurer le bon déroulement du repas? 52 / 58
53 Sémaphore et inversion de priorité Une erreur de ce type est à l orignie du crash du rover sur Mars. 53 / 58
54 Protocole d héritage de priorité Solution à l inversion de priorité : A l entrée en section critique : une tâche hérite de la plus haute priorité des tâches concurrentes sur cette section ; A la sortie de la section critique : la tâche retrouve sa priorité normale ; Limitations : N évite pas les deadlocks ; Dans le cas d une chaîne de blocage le changement de priorité peut amener un fort délai sur la tâche de haute priorité. 54 / 58
55 Communication par messages Dans le cas de systèmes distribués (mémoires distinctes) : On doit synchroniser des processus distants les uns des autres ; On utilise un système d échange de message : Envoi du message : sendmsg(destinataire, message) ; Réception du message : rcvmsg(expéditeur, message). Principaux modes d échange de messages possibles : Boîte aux lettres ; Rendez-vous. 55 / 58
56 Messages par boîte aux lettres Un producteur poste dans la boîte et continue ses traitements sans attendre ; Le consommateur relève le courrier quand il veut ; Questions : Quelle dimension pour la boîte aux lettres? Que faire lorsque la boîte est pleine : ignorer ou écraser? 56 / 58
57 Messages par rendez-vous Pas de mémoire tampon ; Le send et le receive sont synchronisés : Si send avant receive alors send bloquant ; Si receive avant send alors receive bloquant. Avantages : Economise la mémoire ; Pas de pertes de données. Inconvénient : ralentit les processus s ils ne vont pas au même rythme. 57 / 58
58 Echange de messages : problèmes classiques Réseau imparfait possibilité de perte de message ; Côté producteur : s assurer que le message est bien arrivé (acquittement) ; Côté consommateur, si aucune donnée n arrive : Continuer avec une donnée ancienne? Attendre l arrivée d une nouvelle donnée? 58 / 58
Introduction aux Systèmes et aux Réseaux
Introduction aux Systèmes et aux Réseaux Cours 5 Processus D après un cours de Julien Forget (univ Lille1) Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@univ-lyon1.fr Master CCI -
Plus en dé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é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é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é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é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é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étailINTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores
INTRODUCTION AUX SYSTEMES D EXPLOITATION TD2 Exclusion mutuelle / Sémaphores Exclusion mutuelle / Sémaphores - 0.1 - S O M M A I R E 1. GENERALITES SUR LES SEMAPHORES... 1 1.1. PRESENTATION... 1 1.2. UN
Plus en dé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étailgestion des processus La gestion des processus
1 La Pseudo parallélisme 2 Plusieurs programmes en mémoire Le processeur exécute les instructions tantôt pour l'un tantôt pour l'autre P1 P2 programme de supervision Vu de l'utilisateur => programmes en
Plus en dé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é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é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é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étailSystèmes d exploitation Gestion de processus
Systèmes d exploitation Gestion de processus SITE : http://www.sir.blois.univ-tours.fr/ mirian/ Systèmes d exploitation - Mírian Halfeld-Ferrari p. 1/5 Les processus, à quoi ça sert? À faire plusieurs
Plus en détailTutorial Terminal Server sous
Tutorial Terminal Server sous réalisé par Olivier BOHER Adresse @mail : xenon33@free.fr Site Internet : http://xenon33.free.fr/ Tutorial version 1a Page 1 sur 1 Index 1. Installation des services Terminal
Plus en détailGestion des processus
65 La Gestion des Processus 1 Définitions, exemples 2. Politiques d'allocation du processeur 3. Synchronisation des processus 66 Programme : Un programme est une suite figée d'instructions, un ensemble
Plus en détailLe système GNU/Linux IUP NTIC2-1013 - 17/11/05
Capocchi Laurent Doctorant en Informatique capocchi@univ-corse.fr http://spe.univ-corse.fr/capocchiweb Objectifs Comprendre les notions de noyau Linux et des modules. Le système GNU/Linux IUP NTIC2-1013
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étailSupport 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é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étailProgrammation système en C/C++
Programmation système en C/C++ Jean-Baptiste Vioix (jb.vioix@free.fr) LE2I - ENESAD http://jb.vioix.free.fr 1-41 Programmation en C/C++ sous Unix Il existe des très nombreux outils de développement sous
Plus en dé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étailChapitre 4 : Outils de communication centralisés entre processus
Chapitre 1 : Introduction Chapitre 2 : Processus Chapitre 3 : Ordonnancement Chapitre 4 : Outils de communication centralisés entre processus Chapitre 5 : Allocation mémoire Chapitre 6 : Mémoire virtuelle
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étailIntroduction aux Systèmes et aux Réseaux, Master 2 CCI
aux Systèmes et aux Réseaux, Master 2 CCI Cours 1 : Introduction et contexte Unix/Linux Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@univ-lyon1.fr Master CCI - Université Lyon 1 -
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étailL informatique en BCPST
L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité
Plus en détailOrdonnancement temps réel
Ordonnancement temps réel Ordonnancement centralisé par Francis COTTET Professeur d université (ENSMA, Poitiers Futuroscope) Ingénieur de l Institut national polytechnique de Grenoble Docteur ès sciences
Plus en détailAnalyse du temps de réponse des systèmes temps réel
Analyse du temps de réponse des systèmes temps réel Pascal Richard Laboratoire d Informatique Scientifique et Industrielle, ENSMA BP 40198 Téléport 2 F-86960 Futuroscope pascal.richard@ensma.fr RÉSUMÉ.
Plus en dé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é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é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é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é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 Définition Systèmes dont la correction ne dépend pas seulement des valeurs des résultats produits mais également des délais dans
Plus en détailCH.3 SYSTÈMES D'EXPLOITATION
CH.3 SYSTÈMES D'EXPLOITATION 3.1 Un historique 3.2 Une vue générale 3.3 Les principaux aspects Info S4 ch3 1 3.1 Un historique Quatre générations. Préhistoire 1944 1950 ENIAC (1944) militaire : 20000 tubes,
Plus en détailSYSTÈME DE GESTION DE FICHIERS
SYSTÈME DE GESTION DE FICHIERS - DISQUE 1 Les couches logiciels réponse requête Requêtes E/S Système E/S Pilote E/S Interruptions utilisateur traitement S.E. commandes S.E. S.E. matériel Contrôleur E/S
Plus en détailSYSTÈME DE GESTION DE FICHIERS SGF - DISQUE
SYSTÈME DE GESTION DE FICHIERS SGF - DISQUE C.Crochepeyre MPS_SGF 2000-20001 Diapason 1 Les couches logiciels réponse SGF requête matériel matériel Requêtes E/S Système E/S Pilote E/S Interruptions Contrôleur
Plus en détailQu'est-ce qu'un processus: Définitions
Version septembre 2013 N 187 Qu'est-ce qu'un processus: Définitions Instruction = indécomposable et indivisible Processeur =... Processus = suite temporelle d'exécutions d'instructions Processus = exécution
Plus en détailVirtualisation logicielle De la machine réelle à la machine virtuelle abstraite
Virtualisation logicielle De la machine réelle à la machine virtuelle abstraite Bertil FOLLIOT et Gaël THOMAS Cette version est une préversion de l article accepté par «Technique de l ingénieur» (Hermes).
Plus en détailSystèmes et exécutifs temps-réel
Systèmes et exécutifs temps-réel Licence professionnelle «Systèmes embarqués dans l automobile» Isabelle PUAUT (Cours + TD) Jean-François DEVERGE et Christophe Pais (TP) 1 Applications temps-réel Systèmes
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étailAnnexe 6. Notions d ordonnancement.
Annexe 6. Notions d ordonnancement. APP3 Optimisation Combinatoire: problèmes sur-contraints et ordonnancement. Mines-Nantes, option GIPAD, 2011-2012. Sophie.Demassey@mines-nantes.fr Résumé Ce document
Plus en détailLinux embarqué Retour d expérience et temps réel. Denis Coupvent-Desgraviers
Linux embarqué Retour d expérience et temps réel 1 Denis Coupvent-Desgraviers Introduction Bien connaître les bases d un système d exploitation Utilisation de GNU/Linux Bonnes connaissances en langage
Plus en détailLEs processus coopèrent souvent pour traiter un même problème. Ces
Chapitre 5 Communication interprocessus LEs processus coopèrent souvent pour traiter un même problème. Ces processus s exécutent en parallèle sur un même ordinateur (monoprocesseur ou multiprocesseurs)
Plus en dé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étailUnix/Linux I. 1 ere année DUT. Université marne la vallée
Unix/Linux I 1 ere année DUT Université marne la vallée 1 Introduction 2 Fonctions et spécifité d Unix Architecture 3 4 5 Fichier Unix Arborescence de fichiers Quelques commandes sur les fichiers Chemins
Plus en dé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étailWindows XP niveau 2. D. Hourquin, Médiapôle St Ouen l'aumône
Windows XP niveau 2 Les nouveautés de XP par rapport à 98 Installation, configuration et paramétrage : les fichiers système, la mise à jour, la gestion des périphériques classiques. Maintenance du disque
Plus en détailIV- 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étailGestion de mémoire secondaire F. Boyer, Laboratoire Sardes Fabienne.Boyer@imag.fr
Gestion de mémoire secondaire F. Boyer, Laboratoire Sardes Fabienne.Boyer@imag.fr 1- Structure d un disque 2- Ordonnancement des requêtes 3- Gestion du disque - formatage - bloc d amorçage - récupération
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é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étailAtelier C TIA Portal CTIA06 : programmation des automates S7-300 Blocs d organisation
Atelier C TIA Portal CTIA06 : programmation des automates S7-300 Blocs d organisation CTIA06 Page 1 1. Types de blocs de programme L automate met à disposition différents types de blocs qui contiennent
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étailMODULE I1. Plan. Introduction. Introduction. Historique. Historique avant 1969. R&T 1ère année. Sylvain MERCHEZ
MODULE I1 Plan Chapitre 1 Qu'est ce qu'un S.E? Introduction Historique Présentation d'un S.E Les principaux S.E R&T 1ère année Votre environnement Sylvain MERCHEZ Introduction Introduction Rôles et fonctions
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étailGroupe Eyrolles, 2006, ISBN : 2-212-11933-X
Groupe Eyrolles, 2006, ISBN : 2-212-11933-X Table des matières Introduction... V CHAPITRE 1 Introduction à SSL VPN... 1 Une histoire d Internet.............................................. 3 Le modèle
Plus en détailConcept 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é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étailWhite Paper - Livre Blanc
White Paper - Livre Blanc Développement d applications de supervision des systèmes d information Avec LoriotPro Vous disposez d un environnement informatique hétérogène et vous souhaitez à partir d une
Plus en détailGuide d installation et d utilisation
Guide d installation et d utilisation version 16 bits pour Windows 3.1 ii Copyright Toute représentation, transmission, reproduction ou traduction dans une langue étrangère ou un langage informatiquequelconque,
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étailProgrammation temps-réel Cours 1 et 2 Introduction et ordonnancement
Master 2 pro Programmation temps-réel Cours 1 et 2 Introduction et ordonnancement Isabelle PUAUT / Rémi COZOT Université de Rennes I 1 Applications temps-réel embarquées Systèmes en interaction avec l
Plus en détailDémarrer et quitter... 13
Démarrer et quitter... 13 Astuce 1 - Ouvrir, modifier, ajouter un élément dans le Registre... 14 Astuce 2 - Créer un point de restauration... 18 Astuce 3 - Rétablir un point de restauration... 21 Astuce
Plus en détailProgrammation d Applications Concurrentes et Distribuées (INF431)
Programmation d Applications Concurrentes et Distribuées (INF431) Julien Cervelle Albert Cohen Eric Goubault Francesco Zappa Nardelli François Pottier Samuel Mimram Benjamin Werner 1er janvier 2015 2 Table
Plus en dé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é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é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étailConfiguration requise
1 2 Configuration requise Les applications de la gamme 4D v12 requièrent au minimum les configurations suivantes. Windows Mac OS Processeur Pentium IV Intel (R) OS Windows 7, Windows Vista, Windows XP
Plus en détailUtiliser Net Support School (NSS Version 10.50.14) Philippe Cailleretz Er-Tice Avion mars 2011.
Utiliser Net Support School (NSS Version 10.50.14) Philippe Cailleretz Er-Tice Avion mars 2011. Table des matières Utiliser NetSupport School (NSS) Avertissements Démarrer l exécution de NetSupport School
Plus en détailMétriques de performance pour les algorithmes et programmes parallèles
Métriques de performance pour les algorithmes et programmes parallèles 11 18 nov. 2002 Cette section est basée tout d abord sur la référence suivante (manuel suggéré mais non obligatoire) : R. Miller and
Plus en détailINF6500 : Structures des ordinateurs. Sylvain Martel - INF6500 1
INF6500 : Structures des ordinateurs Sylvain Martel - INF6500 1 Cours 4 : Multiprocesseurs Sylvain Martel - INF6500 2 Multiprocesseurs Type SISD SIMD MIMD Communication Shared memory Message-passing Groupe
Plus en détailSCL LOGICIEL DE CONTROL
SCL LOGICIEL DE CONTROL Version 1.3 MRC AUDIO LD- 500 www.mrcaudio.com 1 Contenu 1 - Bienvenu a MRC AUDIO SCL v1.3 2 - Installation du logiciel 3 - Configuration du programme SCL 4 - Contrôle des installations
Plus en détailRéplication des données
Réplication des données Christelle Pierkot FMIN 306 : Gestion de données distribuées Année 2009-2010 Echange d information distribuée Grâce à un serveur central Une seule copie cohérente Accès à distance
Plus en détailAdministration de systèmes
Administration de systèmes Windows NT.2000.XP.2003 Copyright IDEC 2002-2004. Reproduction interdite. Sommaire... 2 Eléments logiques et physiques du réseau... 5 Annuaire et domaine... 6 Les utilisateurs
Plus en détailProgrammation parallèle et distribuée
ppd/mpassing p. 1/43 Programmation parallèle et distribuée Communications par messages Philippe MARQUET Philippe.Marquet@lifl.fr Laboratoire d informatique fondamentale de Lille Université des sciences
Plus en détailAtelier Le gestionnaire de fichier
Chapitre 12 Atelier Le gestionnaire de fichier I Présentation Nautilus est un gestionnaire de fichiers pour l environnement de bureau Gnome. Il offre toutes les fonctions de gestion de fichier en local
Plus en détailWindows Internet Name Service (WINS)
Windows Internet Name Service (WINS) WINDOWS INTERNET NAME SERVICE (WINS)...2 1.) Introduction au Service de nom Internet Windows (WINS)...2 1.1) Les Noms NetBIOS...2 1.2) Le processus de résolution WINS...2
Plus en détailTP 4 de familiarisation avec Unix
TP 4 de familiarisation avec Unix Réseau Filtres (suite) Variables Scripts Vincent Berry - vberry@lirmm.fr IMPORTANT : la prise de notes est une pratique très importante et pourtant négligée, elle est
Plus en détailGPA770 Microélectronique appliquée Exercices série A
GPA770 Microélectronique appliquée Exercices série A 1. Effectuez les calculs suivants sur des nombres binaires en complément à avec une représentation de 8 bits. Est-ce qu il y a débordement en complément
Plus en détailSystèmes d exploitation
Systèmes d exploitation Virtualisation, Sécurité et Gestion des périphériques Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Novembre 2009 Gérard Padiou Systèmes d exploitation
Plus en détailMBR225. Le module a été conçu et réalisé conformément aux normes en vigueur portant sur la sûreté et la fiabilité des installations industrielles.
MBR225 Module de surveillance des chaînes cinématiques Le module est dédié à la surveillance du fonctionnement de machines dont la chaîne cinématique constitue un facteur important de sécurité : treuil,
Plus en détailManuel de System Monitor
Chris Schlaeger John Tapsell Chris Schlaeger Tobias Koenig Traduction française : Yves Dessertine Traduction française : Philippe Guilbert Traduction française : Robin Guitton Relecture de la documentation
Plus en détailTIC. Tout d abord. Objectifs. L information et l ordinateur. TC IUT Montpellier
Tout d abord TIC TC IUT Montpellier Nancy Rodriguez Destruel Dans la salle de cours (et partout ailleurs ) : Ponctualité et assiduité exigées Ne pas manger, ni boire, ni dormir, ni travailler à autre chose
Plus en détailTP1 - Prise en main de l environnement Unix.
Mise à niveau UNIX Licence Bio-informatique TP1 - Prise en main de l environnement Unix. Les sujets de TP sont disponibles à l adresse http://www.pps.jussieu.fr/~tasson/enseignement/bioinfo/ Les documents
Plus en détailLe modèle client-serveur
Le modèle client-serveur Olivier Aubert 1/24 Sources http://www.info.uqam.ca/~obaid/inf4481/a01/plan.htm 2/24 Historique architecture centralisée terminaux passifs (un seul OS, systèmes propriétaires)
Plus en détailUSTL - Licence ST-A 1ère année 2005-2006 Initiation à la programmation TP 1
USTL - Licence ST-A 1ère année 2005-2006 Initiation à la programmation TP 1 Objectifs du TP Ce TP a pour but de vous faire découvrir l environnement de travail que vous utiliserez dans le cadre des TP
Plus en détailMandataires, caches et filtres
Mandataires, caches et filtres Pascal AUBRY IFSIC - Université de Rennes 1 Pascal.Aubry@univ-rennes1.fr Plan : mandataires caches filtrage serveur de proxy exemple de mise en œuvre Mandataire (proxy) Mandataire
Plus en détailTP 1 Prise en main de l environnement Unix
Introduction aux systèmes d exploitation (IS1) TP 1 Prise en main de l environnement Unix Le but de ce premier TP est de commencer à vous familiariser avec l environnement Unix. 1 Ouverture de session
Plus en dé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é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étailTemps Réel. Jérôme Pouiller <j.pouiller@sysmic.org> Septembre 2011
Temps Réel Jérôme Pouiller Septembre 2011 Ordonnancement avec contraintes de précédance Problèmatique des accès concurents Problème liés aux partage de ressources Solutions utres
Plus en détailLa mémoire. Un ordinateur. L'octet. Le bit
Introduction à l informatique et à la programmation Un ordinateur Un ordinateur est une machine à calculer composée de : un processeur (ou unité centrale) qui effectue les calculs une mémoire qui conserve
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étailUn système d'exploitation
Un système d'exploitation Un système d'exploitation, (en anglais operating system, abrégé OS), est l'ensemble de programmes central d'un appareil informatique qui effectue les opérations de manipulation
Plus en détail