Exécutif temps réel Pierre-Yves Duval (cppm)

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

Download "Exécutif temps réel Pierre-Yves Duval (cppm)"

Transcription

1 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 entre taches Gestion de la mémoire Gestion du temps Interruptions Fichiers temps réel POSIX et le temps réel 1

2 Rôle d un exécutif Principal : - ordonnancer les exécutions des tâches mais aussi: - protéger l accès aux ressources partagées - recevoir et transmettre les signaux de synchronisations Composé d agences spécialisées dans un type de fonction - gestion des tâches - gestion des événements matériels et logiciels (de synchronisation) - gestion communications entre tâches - gestion du temps - gestion des ressources partagées - gestion de la mémoire - gestion des exceptions Structure d un exécutif Tâches applicatives activation Appels de service horloge lanceur ordonnanceur communication agence événements agence tâches agence Exécutif temps agence ressources agence interruptions Monde matériel 2

3 Exécutif ou noyau temps réel C est d abord un système d exploitation. La principale différence entre un OS généraliste et un OS temps réel est le comportement très déterministe. Ensuite on trouvera quelques différences dans l API (voir POSIX à la fin): -politique d ordonnancement plus élaborée -gestion plus précise de plus de réveils (timers) à la résolution plus fine -plus d ouverture sur le hardware sous-jacent en particulier les connexions aux IT matérielles -plus de modularité dans la construction du noyau Tâche Agent actif d une application avec 4 attributs: -contexte d exécution registres du processeur, pile exécution, ressources détenues - priorité -état d exécution -état de protection (préemptible ou pas) 3

4 Tâche Dans les OS d aujourd hui les tâches sont implantées comme des fils d exécution (thread). L ordonnanceur de l OS gère les threads/tâches. La notion de processus définie un espace d adressage protégé dans lequel s exécute au moins une tâche (le main thread) qui est activé quand le processus est lancé. Le processus se termine quand la dernière tâche qu il contient se termine. Dans certains OS simples il n y a pas d espace mémoire protégé, il y a identité entre les termes: processus = thread = tâche Etats d exécution SCEPTRE Supprimer Créer Inexistant Supprimer Hors Services Lancer Arrêter Arrêter Créer Actif Prêt Sélection En Cours Opération d attente Préemption Arrivée événement Supprimer Continuer En Attente 4

5 Synchronisation par événements synchrones Phases temporelles de l occurrence d un événement: apparition production prise en compte consommation Code d IT jusqu à l appel du service de signalisation Délai de réveil tâche destinataire Traitements avant effacement Les événements sont dits synchrones si l application consommatrice va les lire de façon explicite. Synchronisation par événements synchrones Types d événements: Fugace: Si aucune tâche est en attente à son occurrence il est perdu Mémorisé: L occurrence est mémorisée mais aucune autre ne sera prise en compte avant sa consommation A compte: Mémorisé avec incrémentation du compteur à chaque occurrence et décrémentation chaque consommation 5

6 Synchronisation par événements synchrones Services génériques événements Créer (événement) Supprimer(événement) Attendre_occurrence( événement ) Signaler_occurrence( événement ) IT Lire data Copie mémoire Signaler(evt) Créer (evt) Boucle Attendre(evt) Traiter data Fin boucle Synchronisation par événements synchrones: exemple /* variable condition POSIX utilisable avec rtlinux */ /* */ pthread_cond_t cond; void coureur(){ int ret; ret = pthread_cond_timedwait(&cond,, délai ); courrir(); void arbitre(){ int ret; decompte(); ret = pthread_cond_signal(&cond); main(){ int ret; ret = pthread_cond_init(&cond, NULL); ret = pthread_create(, coureur, ); ret = pthread_create(, arbitre, ); attente_fin(); 6

7 Signalisation asynchrone Une tâche est associée à un signal et elle sera automatiquement activée quand l événement associé au signal arrivera. La tâche est appelée pilote (handler) du signal. La tâche n a donc pas besoin de se mettre en attente du signal. Exemple: signaux UNIX (lent), attachement à une IT matérielle Services génériques signaux asynchrone: Créer( signal )/ Détruire( signal ) Connecter( pilote, signal ) Envoyer( signal ) Il peut exister des masques qui permettent d empêcher temporairement la réception de signaux (avec perte, mémorisation ou comptage) Signalisation asynchrone: exemple /* signal POSIX simple */ /* */ int stopbit; void signalled(){ stopbit = 1; main(){ stopbit = 0; signal( SIGINT, signalled); while(!stopbit) { faire un travail qui sera arrêté par CtrlC terminer_proprement(); 7

8 Partage de ressources Problème: - gérer un nombre limité de ressources ( de 1 à n ) entre plusieurs tâches - assurer la modification cohérente de données partagées Objet: Sémaphore binaire (mutex) un utilisateur à la fois Sémaphore à compte pour n utilisateurs maxi Autres possibilités déconseillées en temps réel: masquage des IT ou interdiction de préemption Partage de ressources Services génériques sémaphores: Créer(sem)/Détruire(sem) Prendre_ressource(sem) parfois appelée P() Libérer_ressource(sem) parfois appelée V() Créer(sem) Boucle Prendre(sem) Insérer(elem,liste) Libérer(sem) Fin boucle Détruire(sem) sem liste Boucle Prendre(sem) exploiter(liste) sortir(elem,liste) Libérer(sem) Fin boucle 8

9 Partage de ressources: exemple /* sémaphore à compte POSIX */ /* */ sem_t sem; void consommateur(){ ret = sem_wait(&sem); manipuler_ressource(); sem_post(&sem); main(){ sem_init(&sem,, nombre_utilisateurs); for ( i=0; i<10; i++) { pthread_create(, consommateur, ); attente_fin(); sem_destroy(&sem); Communication entre tâches Boite aux lettres Service de base permettant les échanges asynchrones de données entre des tâches concurrentes et non synchronisées Services génériques (c est un buffer) Créer(boite)/Supprimer(boite) Déposer(mesg) Lire(mesg) Test(mesg) Exemple: FIFOs, tubes UNIX, queues de messages (POSIX ou system V) (étendues au réseau QNX), mailbox 9

10 Communication entre tâches Boite au lettres: Queue de message POSIX Tâche réceptrice dans processus 2 #define MQ "/monrep/mesgq" mqd_t qfd; struct mq_attr qattr; char message_lu[20]; /* nb max msg en queue */ qattr.mq_maxmsg = 32; /* taille maxi d un message */ qattr.mq_msgsize = 20; void recepteur(){ qfd = mq_open (MQ,, &qattr); mq_receive (qfd, message_lu, sizeof (message_lu), ); print(" %s ", message_lu); mq_close(mq); Tâche émettrice dans processus 1 #define MQ "/monrep/mesgq" mqd_t qfd; struct mq_attr qattr; /* nb max msg en queue */ qattr.mq_maxmsg = 32; /* taille maxi d un message */ qattr.mq_msgsize = 20; void émetteur(){ qfd = mq_open (MQ,, &qattr); mq_send (qfd, "tout va bien", ); mq_close(mq); mq_unlink(mq); Communication entre tâches Socket: programmation répartie Objet de communication applicatif (BSD UNIX) qui permet un échange point à point de type boite aux lettres entre deux tâches sur deux sites différents (sorte de queue de messages). Ces points sont reliés aux couches réseaux de l OS qui assurent le transfert (TCP ou UDP pour Internet). Intérêt: Base de la programmation distribuée - indépendante de l OS - utilisables en local avec des sockets du domaine UNIX. 10

11 Communication entre tâches Tableau noir Publication de données dans un espace accessible en lecture par tous les consommateurs. Exemples: mémoire partagée entre processus (shared memory), données globales entre thread d un même processus Services génériques: Créer/Détruire Afficher/Lire Communication entre tâches Rendez-vous Modèle de communication très synchrone ou producteur et consommateur doivent être présents lors de l échange de donnée. Exemple: support d exécution du langage ADA Services génériques: Appeler_entrée demande de rendez-vous Accepter_entrée déclaration de la capacité à recevoir des demandes de rendez-vous Terminer_entrée 11

12 Gestion de la mémoire Selon les possibilité du hardware sous jacent on peut avoir 3 type de gestion de la mémoire. -espace plat ou toute la mémoire est visible et accessible par n importe quelle tâche -séparation entre les espace système/noyaux et les tâches applicatives -mémoire virtuelle séparée et protégée associée à chaque processus L allocation de la mémoire peut être statique (à la création) ou dynamique (automatique) en fonction des besoins Gestion du temps La précision dépend du support matériel - horloge temps réel - réveils (timer) disponibles sur la carte. L horloge génère un signal périodique qui sert de pulsation à l activité de l exécutif et maintien la date de la machine Les tâches utilisatrices peuvent: -obtenir la date -se synchroniser sur une durée -se synchroniser sur une heure absolue -limiter un blocage sur un délai de garde (timeout) 12

13 Gestion du temps Services génériques: Initialiser_date Lire_date/Lire_heure Attendre_date(date) Signaler_a_date(date) Attendre_délai(delai) suspend la tâche jusqu à la date signaler un événement à une date suspendre la tâche pendant un délai Créer_réveil/Supprimer_réveil réveil=timer Arrêter_réveil Signaler_top_horloge permet d envoyer un signal périodique Certain OS offrent des possibilités pour une tâche de se déclarer comme périodique et de se faire activer avec une période donnée. Gestion des interruptions Prend en compte les sollicitations matérielles du monde extérieur. Une routine d interruption (ISR) doit être aussi courte que possible: - pendant son exécution la source d IT est masquée (mais imbrication d IT de niveaux de priorités différents possible) - ce n est pas un mode d exécution «normal» Le temps de latence d IT est le délai entre arrivée de l interruption et le début de l exécution du code applicatif associé c est une caractéristique importante qui différencie un system TR d un système généraliste. 13

14 Gestion des interruptions: exemple /* rtlinux capter le signal d horloge temps réel */ /* */ #define RTC_IRQ 8 void intr_handler(int sig){ faire_truc(); rtl_hard_enable_irq(rtc_irq); int init_module(void){ struct sigaction act; act.sa_handler = intr_handler; sigaction( RTC_IRQ, &act, NULL); programmer_horloge( fréquence ); rtl_hard_enable_irq(rtc_irq); return(0); Gestion des fichiers Certains services permettent d optimiser l accès aux fichiers - plus rapides - plus déterministes pour des applications temps réel. Ce sont: - fichiers projetés en mémoire (évitent les I/O pendant l usage) - les fichiers stream ou temps réel (permettent écrire de façon continues sur des pistes physiquement contiguës d un disque) - les écritures/lectures asynchrones 14

15 POSIX Depuis 1984 à l IEEE P interface de programmation pour UNIX de base gestion des processus (fork, exec, kill ) fichiers et terminaux (open, fopen, fgetc, dup,fcntl,mkdir ) information runtime (getpid, cuerid, uname ) signaux de base (signal, raise, sigaction ) gestion mémoire (malloc, memcpy, free ) gestion du temps ( time, clock ) exécution (setjmp, longjmp ) communication (pipe, mkfifo (named pipes), setbuf stream, ) POSIX temps réel P1003.1b (ex POSIX.4) extensions temps réel ordonnancement sémaphores queues de messages signaux temps réel (nouveaux, queue, paramètres horloge haute résolution entrées sorties synchrones/asynchrones mémoire partagée P1003.1c (ex POSIX.4a) extensions multithreadées thread mutex variables conditions P1003.1d (ex POSIX.4b) gestion des IT 15

16 OS temps réel du marché Tornado,VxW orks Blue CatLinux and LynxO s QNX Neutrino Hard HatLinux Lineo,Em bedix Et beaucoup d autres dont certaines solutions pour compléter Windows NT ou Linux avec des fonctions «temps réel stricte». OS temps réel du marché 16

Noyau RTLinux. Noyau RTLinux

Noyau RTLinux. Noyau RTLinux Noyau RTLinux Noyau RTLinux 1 Principes de programmation RTLinux est implémenté sur la base du Minimal Real-time System Profile (POSIX 1003.13 draft 9) ou «système d'exploitation temps réel minimal», et

Plus en détail

Systèmes d Exploitation temps réel. Programmation des STR. Gabriel FREY 2013 freyg.it@gmail.com

Systèmes d Exploitation temps réel. Programmation des STR. Gabriel FREY 2013 freyg.it@gmail.com Systèmes d Exploitation temps réel 1 2 Plan de l intervention 1. Introduction aux Systèmes Temps Réel 2. Programmation concurrente Synchronisation et communication Besoin en facultés temporelles 3. Ordonnancement

Plus en détail

Programmation temps-réel Cours 5 Environnements d exécution

Programmation temps-réel Cours 5 Environnements d exécution Master 2 pro Programmation temps-réel Cours 5 Environnements d exécution Isabelle PUAUT / Rémi COZOT Université de Rennes I 1 Environnements d exécution Objectif d un système multitâche Faire coexister

Plus en détail

ELE-542 Systèmes ordinés en temps réels. Cours # 8 Système d exploitation Temps Réel

ELE-542 Systèmes ordinés en temps réels. Cours # 8 Système d exploitation Temps Réel ELE- Systèmes ordinés en temps réels Cours # 8 Système d exploitation Temps Réel Jean-Marc Beaulieu et Bruno De Kelper Site internet: http://www.ele.etsmtl.ca/academique/ele/ Systèmes ordinés en temps

Plus en détail

Les OS embarqués. B. Miramond UCP

Les OS embarqués. B. Miramond UCP Les OS embarqués B. Miramond UCP Les OS embarqués VxWorks : noyau RT le plus utilisé dans l'industrie. Supporte TCP/IP et une API socket. Coût des licences important. QNX : noyau RT de type UNIX. Intègre

Plus en détail

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

Travaux Pratiques de l option STR

Travaux Pratiques de l option STR Travaux Pratiques de l option STR Processeur Détecteur ultrasons Moteurs Détecteur de contacts Détecteur de lumière Détecteur de sons RTOS (OSEK/VDX) ECRobot C/C++API Gestion des moteurs Vitesse, angle

Plus en détail

Communications et synchronisations. Système L3, 2014-2015 1/21

Communications et synchronisations. Système L3, 2014-2015 1/21 Communications et synchronisations Système L3, 2014-2015 1/21 Le problème des philosophes (Dijkstra 1965) Cinq philosophes sont assis autour d une table ronde Chaque philosophe a devant lui un plat de

Plus en détail

Compléments sur les PThreads. Jean-Louis PAZAT IRISA / INSA

Compléments sur les PThreads. Jean-Louis PAZAT IRISA / INSA 1 Compléments sur les PThreads Jean-Louis PAZAT IRISA / INSA Exemple de threads utilisateur: Threads Posix Interface portable de programmation (API) Fonctionnalités création/destruction de Threads Synchronisation

Plus en détail

Les threads. Chapitre 4. 4.1 Introduction. 4.1.1 Avantages

Les threads. Chapitre 4. 4.1 Introduction. 4.1.1 Avantages Chapitre 4 Les threads 4.1 Introduction Le modèle de processus décrit au chapitre précédent est un programme qui s exécute selon un chemin unique avec un seul compteur ordinal. On dit qu il a un flot de

Plus en détail

Gestion des processus

Gestion des processus 1/27 Gestion des processus didier@lrde.epita.fr http://www.lrde.epita.fr/ didier 2/27 Table des matières 1 2 Ordonnancement des processus 3 sur les processus 4 entre processus 5 4/27 Programme vs. Processus

Plus en détail

EPU - Informatique ROB4 Programmation Système

EPU - Informatique ROB4 Programmation Système EPU - Informatique ROB4 Programmation Système Introduction aux signaux Vincent Padois, Jean-Baptiste Mouret vincent.padois@upmc.fr Université Pierre et Marie Curie Institut des Systèmes Intelligents et

Plus en détail

Systèmes d exploitation II Chapitre 2 : Gestion des processus. www.achrafothman.net

Systèmes d exploitation II Chapitre 2 : Gestion des processus. www.achrafothman.net Systèmes d exploitation II Chapitre 2 : Gestion des processus www.achrafothman.net 1 Processus Concept de Processus Ordonnancement de Processus Opérations sur les Processus Processus Coopératifs Communication

Plus en détail

Gestion des Processus

Gestion des Processus Plan Gestion des Processus Concept de processus Ordonnancement Ryan Cassel cassel@limsi.fr Synchronisation Université Paris XI 2 de Tanenbaum Pour préparer un gateau: Recette Programme Ingrédients

Plus en détail

Conduite du Projet Système

Conduite du Projet Système Conduite du Projet Système Département Télécom 2ème Année Enseignants : Yves Denneulin, Jacques Mossière, Grégory Mounié, Simon Nieuviarts, Franck Rousseau, Sébastien Viardot Résumé Ce document est complémentaire

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

Evolutions des Systèmes d'exploitation

Evolutions des Systèmes d'exploitation Evolutions des Systèmes d'exploitation Qu'est ce qu'un Système d'exploitation?? Histoire des Systèmes Architectures Tâches que les Systèmes d'exploitations réalisent Nouveautés Qu'est ce qu'un Système

Plus en détail

Les Systèmes d Exploitation: Concepts et Programmation

Les Systèmes d Exploitation: Concepts et Programmation Les Systèmes d Exploitation: d Concepts et Programmation Samia Bouzefrane MCF en Informatique, CNAM samia.bouzefrane@cnam.fr http://cedric.cnam.fr/~bouzefra Samia Bouzefrane, Cours SYSTEME 1 Introduction

Plus en détail

LINUX et le temps réel Pierre-Yves Duval (cppm)

LINUX et le temps réel Pierre-Yves Duval (cppm) LINUX et le temps réel Pierre-Yves Duval (cppm) Ecole d informatique temps réel - La Londes les Maures 24-28 Mars 2003 Sommaire - Contexte et contraintes pour l embarqué et le temps réel - Caractéristiques

Plus en détail

FreeRTOS ELECINF344. Samuel TARDIEU Mars 2015

FreeRTOS ELECINF344. Samuel TARDIEU <sam@rfc1149.net> Mars 2015 FreeRTOS ELECINF344 Samuel TARDIEU Mars 2015 FreeRTOS : configuration La configuration de FreeRTOS se fait dans un fichier FreeRTOSConfig.h, et définit notamment : les fonctionalités

Plus en détail

Systèmes d Exploitation Gestion des processus

Systèmes d Exploitation Gestion des processus Systèmes d Exploitation Gestion des processus Didier Verna didier@lrde.epita.fr http://www.lrde.epita.fr/ didier Version 2@1.6 6 décembre 2004 Table des matières Table des matières Généralités... 3 États

Plus en détail

Le système Windows. Yves Denneulin. Introduction. Introduction. Plan

Le système Windows. Yves Denneulin. Introduction. Introduction. Plan Introduction Le système Windows Yves Denneulin Windows a 25 ans Au début basé sur MS/DOS Multi-tâches coopératifs Pas de réelle protection entre applications Famille 1.0 -> 386 -> 95 -> 98 -> Me Version

Plus en détail

POSIX threads (programmation concurrente) Les threads. Les fils d exécution : threads ou processus légers. Introduction

POSIX threads (programmation concurrente) Les threads. Les fils d exécution : threads ou processus légers. Introduction POSIX threads (programmation concurrente) François Broquedis, Grégory Mounié, Matthieu Ospici, Vivien Quéma d après les œuvres de Jacques Mossière et Yves Denneulin Introduction Moniteur Exclusion mutuelle

Plus en détail

Introduction aux Systèmes et aux Réseaux

Introduction aux Systèmes et aux Réseaux Introduction aux Systèmes et aux Réseaux Cours 5 Processus D après un cours de Julien Forget (univ Lille1) Laure Gonnord http://laure.gonnord.org/pro/teaching/ Laure.Gonnord@univ-lyon1.fr Master CCI -

Plus en détail

4 Sémaphores. 4.1 Syntaxe et sémantique. sem s1; /* sem s1 = 0; */ sem s2 = 1; sem forks[5] = ([5] 1); P(s): < await(s > 0) s = s - 1; >

4 Sémaphores. 4.1 Syntaxe et sémantique. sem s1; /* sem s1 = 0; */ sem s2 = 1; sem forks[5] = ([5] 1); P(s): < await(s > 0) s = s - 1; > 4 Sémaphores Motivation = une approche avec busy waiting n est pas intéressante dans un programme avec fils d exécution multiples, puisque le nombre de processus est généralement plus grand que le nombre

Plus en détail

QCM systèmes d exploitation (Quarante questions)

QCM systèmes d exploitation (Quarante questions) QCM systèmes d exploitation (Quarante questions) QUIZZ OS N 1 (10 questions avec réponses) Question 1: Aux origines de l informatique, l'interface utilisateur des systèmes d exploitations était composée

Plus en détail

Cours n n 1. Introduction au Noyau. Master Informatique - Noyau - 2007-2008

Cours n n 1. Introduction au Noyau. Master Informatique - Noyau - 2007-2008 Cours n n 1 Introduction au Noyau 1 PLAN DU MODULE Objectifs Mécanismes internes du noyau (UNIX) Processus, Ordonnancement Fichiers, Mémoire virtuelle 2 PLAN DU MODULE Organisation Sur 10 semaines Début

Plus en détail

Théorie des Systèmes d'exploitation : Introduction

Théorie des Systèmes d'exploitation : Introduction Théorie des Systèmes d'exploitation : Introduction Quelques systèmes d'exploitation... 3 Architecture des ordinateurs... 4 Schéma simplifié :... 4 Les concepts des systèmes d'exploitation... 5 Les 2 principales

Plus en détail

Introduction aux systèmes d exploitation

Introduction aux systèmes d exploitation Introduction aux systèmes d exploitation Le système d exploitation est un ensemble de logiciels qui pilotent la partie matérielle d un ordinateur. Les principales ressources gérées par un système d exploitation

Plus en détail

Système d exploitation

Système d exploitation Chapitre 2 Système d exploitation 2.1 Définition et rôle Un ordinateur serait bien difficile à utiliser sans interface entre le matériel et l utilisateur. Une machine peut exécuter des programmes, mais

Plus en détail

CONSERVATOIRE NATIONAL DES ARTS ET METIERS METHODES DE PROGRAMMATION SYSTEMES UE NSY103 NANCY/METZ

CONSERVATOIRE NATIONAL DES ARTS ET METIERS METHODES DE PROGRAMMATION SYSTEMES UE NSY103 NANCY/METZ CONSERVATOIRE NATIONAL DES ARTS ET METIERS Durée : 2 heures METHODES DE PROGRAMMATION SYSTEMES UE NSY103 NANCY/METZ CORRECTION DE L'EXAMEN DE RATTRAPAGE de SEPTEMBRE 2012 Année 2011 2012, deuxième semestre

Plus en détail

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing

03/04/2007. Tâche 1 Tâche 2 Tâche 3. Système Unix. Time sharing 3/4/27 Programmation Avancée Multimédia Multithreading Benoît Piranda Équipe SISAR Université de Marne La Vallée Besoin Programmes à traitements simultanés Réseau Réseau Afficher une animation en temps

Plus en détail

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

Introduction à la programmation concurrente

Introduction à la programmation concurrente à la programmation concurrente Moniteurs Yann Thoma Reconfigurable and Embedded Digital Systems Institute Haute Ecole d Ingénierie et de Gestion du Canton de Vaud Mai 2012 Yann Thoma (HES-SO / HEIG-VD

Plus en détail

Département de génie informatique et génie logiciel

Département de génie informatique et génie logiciel INF2610 Chapitre 2 : Processus Département de génie informatique et génie logiciel Hiver 2014 Chapitre 2 - Processus Qu est ce qu un processus? États d un processus Hiérarchie des processus Processus UNIX-Linux

Plus en détail

A.P.I. LES FONCTIONS D INTERRUPTION

A.P.I. LES FONCTIONS D INTERRUPTION LES AUTOMATISMES A.P.I. LES FONCTIONS D INTERRUPTION GJC Lycée L.RASCOL 10, Rue de la République BP 218. 81012 ALBI CEDEX SOMMAIRE GENERALITES Conditions de prise en compte d une entrée par un A.P.I Fonctionnement

Plus en détail

Temps Réel. Jérôme Pouiller Septembre 2011

Temps Réel. Jérôme Pouiller <j.pouiller@sysmic.org> Septembre 2011 Temps Réel Jérôme Pouiller Septembre 2011 Sixième partie VI Architectures des OS temps réels J. Pouiller Temps Réel 172 / 197 18 Problématique des OS RT 19 Systèmes Symétriques

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

Notions de base Ordonnancement Communication et synchronisation. Les processus. Julien Forget 1

Notions de base Ordonnancement Communication et synchronisation. Les processus. Julien Forget 1 Julien Forget 1 Université Lille 1 École Polytechnique Universitaire de Lille Cité Scientifique 59655 Villeneuve d Ascq GIS3 2011-2012 1. Inspiré des slides de Thomas Vantroys 1 / 58 Plan 1 Notions de

Plus en détail

Principe général : rendez-vous. Synchronisation. Mécanismes de synchronisation. Synchronisation par événements

Principe général : rendez-vous. Synchronisation. Mécanismes de synchronisation. Synchronisation par événements Principe général : rendez-vous Synchronisation Une tâche doit pouvoir : activer une autre tâche ; se bloquer (attendre) ou éventuellement bloquer une autre tâche ; débloquer une ou même plusieurs tâches.

Plus en détail

Systèmes d exploitation. Introduction. (Operating Systems) http://www.sir.blois.univ-tours.fr/ mirian/

Systèmes d exploitation. Introduction. (Operating Systems) http://www.sir.blois.univ-tours.fr/ mirian/ Systèmes d exploitation (Operating Systems) Introduction SITE : http://www.sir.blois.univ-tours.fr/ mirian/ Systèmes d exploitation - Mírian Halfeld-Ferrari p. 1/2 Qu est-ce qu un SE? Ensemble de logiciels

Plus en détail

Architectures des OS temps réels

Architectures des OS temps réels Temps Réel Jérôme Pouiller Sixième partie VI Architectures des OS temps réels Sysmic - J. Pouiller Temps Réel 171 / 1 Sysmic - J. Pouiller Temps Réel 172 / 1 Architectures multi-coeurs

Plus en détail

Temps Réel. Jérôme Pouiller

Temps Réel. Jérôme Pouiller <j.pouiller@sysmic.org> Temps Réel Jérôme Pouiller Sixième partie VI Architectures des OS temps réels Sysmic - J. Pouiller Temps Réel 171 / 1 Sysmic - J. Pouiller Temps Réel 172 / 1 Architectures multi-coeurs

Plus en détail

La synchronisation des processus. Partie 2a

La synchronisation des processus. Partie 2a La synchronisation des processus Partie 2a 1 La synchronisation Un système d'exploitation dispose de ressources (imprimantes, disques,mémoire, fichiers, base de données,...), que les processus peuvent

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

Programmation Multithread

Programmation Multithread Programmation Multithread Partie 3 Professeur : Bruno De Kelper Département Génie Électrique Synchronisation Les Threads partagent les ressources Besoin de synchroniser pour: - Garder la cohérence des

Plus en détail

Principes des systèmes d'exploitation

Principes des systèmes d'exploitation Principes des systèmes d'exploitation Fonctions : Machine virtuelle : ajoute des fonctionnalités (par exemple système de fichier vs accès pistes - secteurs) Gestion des ressources : processeur, mémoire,

Plus en détail

M2-GamaGora. Programmation Multi-Thread - partie 1. J.C. Iehl. November 13, 2008

M2-GamaGora. Programmation Multi-Thread - partie 1. J.C. Iehl. November 13, 2008 Programmation Multi-Thread - partie 1 November 13, 2008 pourquoi ça ne marche pas? et alors? introduction aux threads threads : pourquoi ça ne marche pas? et alors? un nouveau point d entrée (une fonction

Plus en détail

Une introduction au langage C++ Marc Jachym, Lurpa

Une introduction au langage C++ Marc Jachym, Lurpa Une introduction au langage C++ Marc Jachym, Lurpa Janvier 2008 À l origine, le langage C Langage procédural créé dans les années 1970 aux laboratoires Bell (ATT : télécoms américains) en vue d écrire

Plus en détail

Systèmes & Réseaux. Georges Arhodakis Université Paris 8

Systèmes & Réseaux. Georges Arhodakis Université Paris 8 Systèmes & Réseaux Georges Arhodakis Université Paris 8 Sommaire Introduction Historique Service du noyau Appel Système Trappes & Interruptions Horloge & Gestion du Temps Ordonnancement Contrôle & Gestion

Plus en détail

Les threads POSIX. Chapitre 16. 16.0.1 Description. 16.0.2 fork et exec

Les threads POSIX. Chapitre 16. 16.0.1 Description. 16.0.2 fork et exec Chapitre 16 Les threads POSIX La programmation par thread (actvité) est naturelle pour gérer des phénomènes asyncrones. Les entrées utilisateur dans les interfaces graphiques (souris, clavier) sont plus

Plus en détail

Les architectures parallèles et leur programmation pour le calcul scientifique. Yves Denneulin

Les architectures parallèles et leur programmation pour le calcul scientifique. Yves Denneulin Les architectures parallèles et leur programmation pour le calcul scientifique Yves Denneulin Plan du cours Introduction au parallélisme Le parallélisme de données présentation illustration sur deux langages

Plus en détail

EX4C Systèmes d exploitation. Séance 15 Linux

EX4C Systèmes d exploitation. Séance 15 Linux EX4C Systèmes d exploitation Séance 15 Linux Sébastien Combéfis mardi 10 mars 2015 Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution Pas d Utilisation Commerciale

Plus en détail

Exécution des applications réparties

Exécution des applications réparties Exécution des applications réparties Programmation des Applications Réparties Olivier Flauzac URCA Master STIC-Informatique première année Olivier Flauzac (URCA) PAR : Exécution des applications réparties

Plus en détail

Chap. V : Les interruptions

Chap. V : Les interruptions UMR 7030 - Université Paris 13 - Institut Galilée Cours Architecture et Système Nous étudions dans ce chapitre les interruptions matérielles (ou externes), c est-à-dire déclenchées par le matériel (hardware)

Plus en détail

Moniteurs, Java, Threads et Processus

Moniteurs, Java, Threads et Processus Moniteurs, Java, Threads et Processus 1 Une vue orientée-objet de la mémoire partagée On peut voir un sémaphore comme un objet partagé accessible par deux méthodes : wait et signal. L idée du concept de

Plus en détail

Dr. M.W. Youssef Systèmes d exploitation Avancées 1ING ISI - 2009

Dr. M.W. Youssef Systèmes d exploitation Avancées 1ING ISI - 2009 Institut Supérieur d Informatique Chapitre 02 Synchronisation des processus Dr. Mohamed-Wassim YOUSSEF 2009 [www.wassimyoussef.info] Systèmes d exploitation avancées 1 ING ISI 1 ére année Ingénieur en

Plus en détail

Cours 6. Entrées et sorties

Cours 6. Entrées et sorties Cours 6 Entrées et sorties PolyTECH - Système Année 2014-2015 Thomas Lavergne Université Paris-Sud Plan Principe général Architecture Gestion du matériel Interfaces : données, types d'accès Services :

Plus en détail

Projet du cours d ARCHITECTURE Gestion distribué d un parking

Projet du cours d ARCHITECTURE Gestion distribué d un parking Projet du cours d ARCHITECTURE Gestion distribué d un parking 3 GI, INSA de Lyon Janvier 2004 1 Objectifs du projet Ce projet a pour but d apprendre à manipuler une application multitâche où les différentes

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

Informatique III: Programmation en C++ Introduction. Examens. Chargé de cours François Fleuret francois.fleuret@epfl.ch

Informatique III: Programmation en C++ Introduction. Examens. Chargé de cours François Fleuret francois.fleuret@epfl.ch Informatique III: Programmation en C++ Lundi 24 Octobre 2005 Chargé de cours François Fleuret francois.fleuret@epfl.ch Assistant Mathieu Salzmann mathieu.salzmann@epfl.ch Assistants étudiants Ali Al-Shabibi

Plus en détail

Ordonnancement Temps Réel. Emmanuel GROLLEAU & Pascal RICHARD LISI/ENSMA {grolleau,richardp}@ensma.fr

Ordonnancement Temps Réel. Emmanuel GROLLEAU & Pascal RICHARD LISI/ENSMA {grolleau,richardp}@ensma.fr Ordonnancement Temps Réel Emmanuel GROLLEAU & Pascal RICHARD LISI/ENSMA {grolleau,richardp}@ensma.fr 2 Plan de la présentation 1. Introduction aux systèmes temps réel 1.1 Différents modèles de tâches 1.2

Plus en détail

Systèmes d'exploitation Gestion des processus

Systèmes d'exploitation Gestion des processus Systèmes d'exploitation Gestion des processus Cours SYE Prof. Daniel Rossier Version 2.3 (2009-2010) 1 Plan Processus Changement de contexte Threads IPC (Inter-Process Communication) Algorithmes d'ordonnancement

Plus en détail

Soutenance de PFE. Evolution de l'outil EZTrace. Charles Aulagnon Inria Bordeaux (SED) Maître de stage : François Rué mars septembre 2011

Soutenance de PFE. Evolution de l'outil EZTrace. Charles Aulagnon Inria Bordeaux (SED) Maître de stage : François Rué mars septembre 2011 Soutenance de PFE Evolution de l'outil EZTrace Charles Aulagnon Inria Bordeaux (SED) Maître de stage : François Rué mars septembre 2011 ENSEIRB-MATMECA Tuteur : Corentin Travers Sommaire 1. EZTrace Contexte

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

Systèmes d exploitation

Systèmes d exploitation Systèmes d exploitation Dominique PRESENT Dépt S.R.C. - I.U.T. de Marne la Vallée Organisation d un Ordinateur 1-4-5-6 connecteurs (cartes ) 3 chipset (processeur) 9 ports E/S 2 mémoire vive 7-8 connecteurs

Plus en détail

C4 Semaphore. Ressources

C4 Semaphore. Ressources C4 Semaphore TRL Yann DOUZE Polytech Paris UPMC - Section E2i3 Source : livre µc/osii de Jean-Jacques Labrosse et les cours de l école polytechnique de Montréal. Ressources Une ressource est une entité

Plus en détail

Multi-threading. Mécanismes de Synchronisation

Multi-threading. Mécanismes de Synchronisation Multi-threading Mécanismes de Synchronisation 1 Exclusion Mutuelle - Mutex Producteurs / Consommateur - Sémaphores 2 Accès en Exclusion Mutuelle Exemple d'une liste d'objects partagée: Gérée en LIFO (Last

Plus en détail

E/S E/S E/S 3-1. Multiprogrammation et utilisation efficace du CPU. Efficacité d un système 3-3. 3-2 Concurrence et pseudo-parallélisme

E/S E/S E/S 3-1. Multiprogrammation et utilisation efficace du CPU. Efficacité d un système 3-3. 3-2 Concurrence et pseudo-parallélisme ultiprogrammation et utilisation efficace du 3-1 Efficacité d un système Saturation du SANS Equilibre entre et E/S E/S E/S Saturation des AVEC E/S Système de traitement par lot 3-2 Concurrence et pseudo-parallélisme

Plus en détail

Systèmes d exploitation Gestion des processus

Systèmes d exploitation Gestion des processus Systèmes d exploitation Gestion des processus Didier Verna didier@lrde.epita.fr 5 décembre 2000 Table des matières Table des matières Généralités... 3 États d un processus... 4 Bloc de contrôle d un processus

Plus en détail

Architecture des ordinateurs

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

Introduction à UNIX et Windows

Introduction à UNIX et Windows 1/39 à UNIX et Windows Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017 Bobigny

Plus en détail

Les systèmes d exploitation

Les systèmes d exploitation Définitions Les systèmes d exploitation Version LJV #090915 septembre 2009 Le système d'exploitation: (anglais operating system, en abrégé OS) ensemble des programmes nécessaires et indispensables au fonctionnement

Plus en détail

Processus. Les processus, à quoi ça sert? Une définition d'un processus. La vie intime des processus. Allocation du processeur

Processus. Les processus, à quoi ça sert? Une définition d'un processus. La vie intime des processus. Allocation du processeur 1 sur 9 Processus Les processus, à quoi ça sert? Une définition d'un processus La vie intime des processus Quelques caractéristiques des processus Le contexte et la commutation de contexte Les processus

Plus en détail

La programmation concurrente

La programmation concurrente La programmation concurrente Jean-Ferdy Susini Maître de Conférences - CNAM Département Informatique Sources : Android Developpers, Wikipedia Paris, 06/05/2015 Architecture matérielle 2 Considérons l architecture

Plus en détail

Programmation parallèle

Programmation parallèle Programmation parallèle IUT Lyon 1 Module programmation répartie Principe de la programmation parallèle Consiste à faire exécuter par des processus différents des parties de code d un même programme Par

Plus en détail

1.1 Remote Procedure Call (RPC)

1.1 Remote Procedure Call (RPC) 1.1 Remote Procedure Call (RPC) Le modèle Client-Serveur est un modèle simple à utiliser pour la structuration des systèmes répartis. Mais ce modèle s appuie sur des communications de type entrée/sortie

Plus en détail

Systèmes d exploitation et Programmation Concurrente. L équipe «SEPC» L organisation de l année 14/09/2014

Systèmes d exploitation et Programmation Concurrente. L équipe «SEPC» L organisation de l année 14/09/2014 Systèmes d exploitation et Programmation Concurrente Yves Denneulin Yves.Denneulin@imag.fr Jacques Mossière Sebastien Viardot Le cours L équipe «SEPC» Yves Denneulin : ISI, Telecom et SLE Les TD/TP Vincent

Plus en détail

Chap. III : Le système d exploitation

Chap. III : Le système d exploitation UMR 7030 - Université Paris 13 - Institut Galilée Cours Architecture et Système Le système d exploitation (ou O.S. de l anglais Operating System ) d un ordinateur est le programme qui permet d accéder

Plus en détail

Cours de Réseau et communication Unix n 4

Cours de Réseau et communication Unix n 4 Cours de Réseau et communication Unix n 4 Edouard THIEL Faculté des Sciences Université d Aix-Marseille (AMU) Septembre 2014 Les transparents de ce cours sont téléchargeables ici : http://pageperso.lif.univ-mrs.fr/~edouard.thiel/ens/rezo/

Plus en détail

Allocation dynamique en c++

Allocation dynamique en c++ Allocation dynamique en c++ *tableau; tableau * tableau = tableau = new [ no_max ]; tableau = new * [ no_max ] tableau[i] = new int[ 5 ]; tableau tableau[i] = new int[5]; * tableau[0] int int int int int

Plus en détail

Systèmes d exploitation Gestion des fichiers. Catalin Dima

Systèmes d exploitation Gestion des fichiers. Catalin Dima Systèmes d exploitation Gestion des fichiers Catalin Dima 1 Problématique Certains processus doivent stocker/avoir accès à une très grande quantité de mémoire Parfois plusieurs ordres de grandeur par rapport

Plus en détail

Systèmes d'exploitation Chapitre 3: Gestion de fichiers

Systèmes d'exploitation Chapitre 3: Gestion de fichiers Université Cadi Ayyad Faculté Polydisciplinaire de Safi Département sciences mathématiques et informatique Systèmes d'exploitation Chapitre 3: Gestion de fichiers Le stockage fiable, rapide de grandes

Plus en détail

Les sémaphores et leur implémentation

Les sémaphores et leur implémentation Les sémaphores et leur implémentation 1 Rappel :Le concept de sémaphore Un sémaphore est une variable entière partagée. Sa valeur est positive ou nulle et elle est uniquement manipulable à l aide de deux

Plus en détail

Chapitre 1. Introduction aux systèmes embarqués et temps réel

Chapitre 1. Introduction aux systèmes embarqués et temps réel Chapitre 1 Introduction aux systèmes embarqués et temps réel 1 1. Notions et caractéristiques des systèmes embarqués Domaines d application des systèmes embarqués Domaines «traditionnels» -Avionique -

Plus en détail

Systèmes d'exploitation (SYE) Gestion des processus (v2.2) Daniel Rossier daniel.rossier@heig-vd.ch

Systèmes d'exploitation (SYE) Gestion des processus (v2.2) Daniel Rossier daniel.rossier@heig-vd.ch Systèmes d'exploitation (SYE) Gestion des processus (v2.2) Daniel Rossier daniel.rossier@heig-vd.ch Plan Processus File System Network Manager Changement de contexte Scheduler Memory Manager Threads IPC

Plus en détail

GJ C A.P.I LES FONCTIONS INTERRUPTION

GJ C A.P.I LES FONCTIONS INTERRUPTION GJ C A.P.I LES FONCTIONS INTERRUPTION GJ C Généralités Généralités Fonctionnement d un A.P.I. L automate programmable est une machine cyclique. Les instructions ou les blocs fonctions dans le programme

Plus en détail

Systèmes d'exploitation

Systèmes d'exploitation Systèmes d'exploitation Rôle d'un système : virtualisation Virtualisation du processeur Virtualisation de la mémoire Virtualisation du disque Virtualisation interface utilisateur Virtualisation du réseau

Plus en détail

Communications entre tâches logicielles et matérielles dans un contexte d OS temps réel sur une architecture FPGA reconfigurable.

Communications entre tâches logicielles et matérielles dans un contexte d OS temps réel sur une architecture FPGA reconfigurable. Arthur Segard 3eme année ENSEA section Informatique et Systèmes DEA Traitement des Images et du Signal Communications entre tâches logicielles et matérielles dans un contexte d OS temps réel sur une architecture

Plus en détail

Optimisation de code

Optimisation de code Optimisation de code Brique ASC Samuel Tardieu sam@rfc1149.net École Nationale Supérieure des Télécommunications Samuel Tardieu (ENST) Optimisation de code 1 / 77 But L optimisation cherche à améliorer

Plus en détail

Mise en œuvre de l exclusion mutuelle dans

Mise en œuvre de l exclusion mutuelle dans Mise en œuvre de l exclusion mutuelle dans µc/os-ii Mise en œuvre des mécanismes permettant l exclusion mutuelle à l aide des services de µc/os-ii vendredi 19 janvier 2001 1 Blocage des interruptions Méthode

Plus en détail

Présentation. Logistique. Résumé de la 1e Partie. Mise en place du système

Présentation. Logistique. Résumé de la 1e Partie. Mise en place du système Présentation Diapo01 Je m appelle Michel Canneddu. Je développe avec 4D depuis 1987 et j exerce en tant qu indépendant depuis 1990. Avant de commencer, je tiens à remercier mes parrains Jean-Pierre MILLIET,

Plus en détail

LA GESTION DE FICHIERS

LA GESTION DE FICHIERS CHAPITRE 6 : LA GESTION DE FICHIERS Objectifs spécifiques Connaître la notion de fichier, ses caractéristiques Connaître la notion de répertoires et partitions Connaître les différentes stratégies d allocation

Plus en détail

Plan du cours. - Introduction - Emergence et évolution des systèmes d exploitation - Système de fichiers : FAT - NTFS - Ordonnancement

Plan du cours. - Introduction - Emergence et évolution des systèmes d exploitation - Système de fichiers : FAT - NTFS - Ordonnancement Plan du cours - Introduction - Emergence et évolution des systèmes d exploitation - Système de fichiers : FAT - NTFS - Ordonnancement Systèmes d exploitation 1ère année p. 1 FAT FAT = File Allocation Table

Plus en détail

Fin 40 : Organisation en porte ouverte. Avantage : Chaque utilisateur a la machine pour lui tout seul.

Fin 40 : Organisation en porte ouverte. Avantage : Chaque utilisateur a la machine pour lui tout seul. 4 5 Chapitre 1 : Présentation générale Notion de Système Informatique Définition fonctionnelle : Machine de traitement de l information qui assure Notion de Système Informatique Les fonctions d un système

Plus en détail

Synchronisation par. Rappels. Plan. Conditions et moniteurs (1/7) Inf 431 Cours 11. jeanjacqueslevy.net

Synchronisation par. Rappels. Plan. Conditions et moniteurs (1/7) Inf 431 Cours 11. jeanjacqueslevy.net Rappels Inf 431 Cours 11 un processus t (Thread) est un programme qui s exécute Synchronisation par mémoire partagée tstart lance l exécution concurrente de la méthode trun de t tinterrupt signale qu on

Plus en détail

5 Moniteurs. Slide 1. Caractéristique majeure d un programme avec moniteurs = Composé de deux sortes de modules/processus: Slide 2

5 Moniteurs. Slide 1. Caractéristique majeure d un programme avec moniteurs = Composé de deux sortes de modules/processus: Slide 2 5 Moniteurs Motivation = les sémaphores peuvent être utilisés pour résoudre à peu près n importe quel problème d exclusion mutuelle ou synchronisation... mais, les sémaphores possèdent certains désavantages:

Plus en détail

Système d exploitation

Système d exploitation Système d exploitation I. Organisation, Processus et Interruptions Kévin Perrot Aix Marseille Université 2015 Ce cours est (entre autres) basé sur les supports de Jean-Luc Massat en L3 informatique à Luminy.

Plus en détail