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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Développement et intégration sous Linux/RTAI de composants logiciels temps-réel open-source génériques

Développement et intégration sous Linux/RTAI de composants logiciels temps-réel open-source génériques Développement et intégration sous Linux/RTAI de composants logiciels temps-réel open-source génériques Thibault GARCIA, Audrey MARCHAND et Maryline SILLY-CHETTO IRIN (Institut de Recherche en Informatique

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

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

LEs processus coopèrent souvent pour traiter un même problème. Ces

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

Alexandre Buge Epitech 5 Promo 2004. Soutenance de stage du 01/03/2004 au 31/08/2004

Alexandre Buge Epitech 5 Promo 2004. Soutenance de stage du 01/03/2004 au 31/08/2004 Alexandre Buge Epitech 5 Promo 2004 Soutenance de stage du 01/03/2004 au 31/08/2004 15 Septembre 2004 Sommaire 1 Introduction : présentation de l entreprise 2 Développement au sein de Skyrecon Les API

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

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

DAns un système multi-utilisateurs à temps partagé, plusieurs processus

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

STRE. Systèmes temps réel Embarqués. Plan. Bertrand Dupouy. STR Embarqués. STR Embarqués

STRE. Systèmes temps réel Embarqués. Plan. Bertrand Dupouy. STR Embarqués. STR Embarqués STRE Plan Systèmes temps réel Embarqués Bertrand Dupouy 1. Présentation des systèmes temps réel embarqués (STRE) a. rappels sur les systèmes temps réel b. contraintes des systèmes embarqués c. les STRE

Plus en détail

Plan global. Programmation système II. Socket du domaine UNIX. Plan. Socket UNIX, Terminaux, Async IO, Mémoire, ELF.

Plan global. Programmation système II. Socket du domaine UNIX. Plan. Socket UNIX, Terminaux, Async IO, Mémoire, ELF. Programmation système II Socket UNIX, Terminaux, Async IO, Mémoire, ELF Timothée Ravier LIFO, INSA-CVL, LIPN 1 re année cycle ingénieur STI 2013 2014 Plan global 1 Socket UNIX 2 Terminaux 3 Autres modèles

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

Linux embarqué Retour d expérience et temps réel. Denis Coupvent-Desgraviers

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

Cours 6 : Tubes anonymes et nommés

Cours 6 : Tubes anonymes et nommés Cours 6 : Tubes anonymes et nommés Mécanisme de communications du système de fichiers I-node associé. Type de fichier: S_IFIFO. Accès au travers des primitives read et write. Les tubes sont unidirectionnels

Plus en dé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

C ellules. Gestion et récupération automatique de mémoire. Principes des lang. de progr. INE 11. Allocation dynamique de mémoire.

C ellules. Gestion et récupération automatique de mémoire. Principes des lang. de progr. INE 11. Allocation dynamique de mémoire. Principes des lang. de progr. INE 11 Michel Mauny ENSTA ParisTech Prénom.Nom@ensta.fr Michel Mauny (ENSTA ParisTech) INE 11 Prénom.Nom@ensta.fr 1 / 37 Gestion et récupération automatique de mémoire lanage

Plus en détail

Programmation système en C/C++

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

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

Playing with ptrace() for fun and profit

Playing with ptrace() for fun and profit sous GNU/Linux nicolas.bareil@eads.net EADS Corporate Research Center - DCR/STI/C SSI Lab SSTIC 2006 Il était une fois... Sous UNIX, ptrace() est le seul moyen de debuggage. User-space, Interface rigide

Plus en détail

AC - Virtualisation. Romain Hinfray

AC - Virtualisation. Romain Hinfray AC - Virtualisation Semestre Automne 2008 Antoine Benkemoun Romain Hinfray Introduction Cadre du projet Choix de Xen Quatre parties Tour d horizon de la virtualisation Pré-requis à la compréhension de

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

À qui s adresse ce livre?... 3 Structure de l ouvrage... 4 Précisions concernant cette deuxième édition... 4

À qui s adresse ce livre?... 3 Structure de l ouvrage... 4 Précisions concernant cette deuxième édition... 4 Table des matières Remerciements.............................................. V Préface....................................................... 1 Avant-propos................................................

Plus en détail

Langage C/C++ TD 3-4 : Création dynamique d objets. Hubert Godfroy. 27 novembre 2014

Langage C/C++ TD 3-4 : Création dynamique d objets. Hubert Godfroy. 27 novembre 2014 Langage C/C++ TD 3-4 : Création dynamique d objets Hubert Godfroy 7 novembre 014 1 Tableaux Question 1 : Écrire une fonction prenant un paramètre n et créant un tableau de taille n (contenant des entiers).

Plus en détail

PLAN. Synchronisation des Processus: Exclusion Mutuelle. Problème de synchronisation: Exemple. Spécification du Problème

PLAN. Synchronisation des Processus: Exclusion Mutuelle. Problème de synchronisation: Exemple. Spécification du Problème PLAN Synchronisation des Processus: Exclusion Mutuelle N.Hameurlain http://www.univ-pau.fr/~hameur Spécification du problème Section Critique () Exclusion Mutuelle Principe Propriétés Réalisation d exclusion

Plus en détail

Développement d un logiciel de messagerie instantanée avec Dotnet (version simplifiée)

Développement d un logiciel de messagerie instantanée avec Dotnet (version simplifiée) Développement d un logiciel de messagerie instantanée avec Dotnet (version simplifiée) Propriétés Description Intitulé long Formation concernée Matière Présentation Développement d un logiciel de messagerie

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

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

Un chat en C# Extrait de Wikipédia

Un chat en C# Extrait de Wikipédia Un chat en C# Un chat utilise un mécanisme de communication entre deux applications distantes. Il existe plusieurs solutions pour faire communiquer deux applications ; nous allons, ici, utiliser le protocole

Plus en détail

Le gestionnaire des tâches

Le gestionnaire des tâches 43-45 rue CHARLOT 75003 PARIS. Benoît HAMET FRANCE : benoit.hamet@hametbenoit.fr.st Le gestionnaire des tâches......... Le gestionnaire des tâches Sommaire Sommaire...2 Introduction...3 Les onglets et

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

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

Introduction à l informatique temps réel Pierre-Yves Duval (cppm)

Introduction à l informatique temps réel Pierre-Yves Duval (cppm) Introduction à l informatique temps réel Pierre-Yves Duval (cppm) Ecole d informatique temps réel - La Londes les Maures 7-11 Octobre 2002 -Définition et problématique - Illustration par des exemples -Automatisme:

Plus en détail

Cours de S.E. Coopération, exclusion mutuelle, synchronisation des processus

Cours de S.E. Coopération, exclusion mutuelle, synchronisation des processus Cours de S.E. Coopération, exclusion mutuelle, synchronisation des processus A. B. Dragut Univ. Aix-Marseille, IUT Aix en Provence A. B. Dragut Cours de S.E. Coopération, exclusion mutuelle, synchronisation

Plus en détail

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

LE concept de processus est le plus important dans un système d exploitation.

LE concept de processus est le plus important dans un système d exploitation. Chapitre 3 Processus LE concept de processus est le plus important dans un système d exploitation. Tout le logiciel d un ordinateur est organisé en un certain nombre de processus séquentiels. En simplifiant,

Plus en détail

Qu'est-ce qu'un processus: Définitions

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

Formations Evolix Catalogue

Formations Evolix Catalogue Catalogue Evolix, Spécialiste des technologies Open Source N Agrément Formateur : 93131160713 Table des matières I Pôle Formations Systèmes et Réseaux 5 Présentation..........................................

Plus en détail

PROJET ALGORITHMIQUE ET PROGRAMMATION II

PROJET ALGORITHMIQUE ET PROGRAMMATION II PROJET 1 ALGORITHMIQUE ET PROGRAMMATION II CONTENU DU RAPPORT A RENDRE : o Fiche signalétique du binôme o Listing des différents fichiers sources o CD sources o Il sera tenu compte de la présentation du

Plus en détail

Entrées-Sorties: Architectures de bus. GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde

Entrées-Sorties: Architectures de bus. GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde Entrées-Sorties: Architectures de bus GIF-1001 Ordinateurs: Structure et Applications, Hiver 2015 Jean-François Lalonde Architectures CPU/Mémoire/E-S Un ordinateur a cinq composantes de base: le(s) processeur(s)

Plus en détail

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi 802.11 module

STS SE. FreeRTOS. Programmation réseau WIFI. Programmation réseau. Socket Tcp. FlyPort smart Wi-Fi 802.11 module François SCHNEIDER Lycée Victor-Hugo BESANÇON. STS SE FreeRTOS Programmation réseau WIFI Programmation réseau Socket Tcp FlyPort smart Wi-Fi 802.11 module Prérequis : langage C, connaissance réseau : Ip,

Plus en détail

Vers un outil d analyse de l empreinte mémoire d un code de calcul scientifique.

Vers un outil d analyse de l empreinte mémoire d un code de calcul scientifique. Vers un outil d analyse de l empreinte mémoire d un code de calcul scientifique. Ameziane NAIT ABDELAZIZ Département informatique, filière PRCD Maître de stage : Bruno LATHUILIERE Tuteur : Brice GOGLIN

Plus en détail

Université de La Rochelle. Réseaux TD n 6

Université de La Rochelle. Réseaux TD n 6 Réseaux TD n 6 Rappels : Théorème de Nyquist (ligne non bruitée) : Dmax = 2H log 2 V Théorème de Shannon (ligne bruitée) : C = H log 2 (1+ S/B) Relation entre débit binaire et rapidité de modulation :

Plus en détail

Introduction : les processus. Introduction : les threads. Plan

Introduction : les processus. Introduction : les threads. Plan IN328 Programmation distribuée avec Java et J2EE 2 - Threads en Java Introduction : les processus Un processus est un ensemble d instructions à exécuter, un espace mémoire réservé et éventuellement d autres

Plus en détail

Cahier des charges. driver WIFI pour chipset Ralink RT2571W. sur hardware ARM7

Cahier des charges. driver WIFI pour chipset Ralink RT2571W. sur hardware ARM7 Cahier des charges driver WIFI pour chipset Ralink RT2571W sur hardware ARM7 RevA 13/03/2006 Création du document Sylvain Huet RevB 16/03/2006 Fusion des fonctions ARP et IP. SH Modification des milestones

Plus en détail

Introduction 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 Introduction aux systèmes temps réel Iulian Ober IRIT ober@iut-blagnac.fr Sommaire Généralités Caractéristiques récurrentes des STR Types de problèmes soulevées Programmation des STR Prog. concurrente

Plus en détail

Systèmes et exécutifs temps-réel

Systè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é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. É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étail

Réalisation d un serveur CTI-CSTA sur TCP/IP

Réalisation d un serveur CTI-CSTA sur TCP/IP Alcôve http://www.alcove.fr 1/28 Réalisation d un serveur CTI-CSTA sur TCP/IP Julien Gaulmin Cette présentation est librement diffusable sous les termes de la GNU Free Documentation

Plus en détail

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant. http://robert.cireddu.free.

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant. http://robert.cireddu.free. 2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES 2.2 Architecture fonctionnelle d un système communicant Page:1/11 http://robert.cireddu.free.fr/sin LES DÉFENSES Objectifs du COURS : Ce cours traitera essentiellement

Plus en détail

IFT2245 - Systèmes d exploitation - TP n 1-20%

IFT2245 - Systèmes d exploitation - TP n 1-20% IFT2245 - Systèmes d exploitation - TP n 1-20% DIRO - Université de Montréal Nicolas Rous et Dorian Gomez Disponible : 14/02/2013 - Remise : 28/03/2013 au début de la démo LISEZ TOUT LE DOCUMENT AVANT

Plus en détail

Introduction aux Systèmes et aux Réseaux, Master 2 CCI

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

LES FONCTIONS DE SURVEILLANCE DES FICHIERS

LES FONCTIONS DE SURVEILLANCE DES FICHIERS SYSLOG and APPLICATION LOGS Knowledge Module for PATROL - Data Sheet Version 1.5 Développé par http://www.axivia.com/ PRESENTATION DU PRODUIT SYSLOG and APPLICATION LOGS Knowledge Module for PATROL est

Plus en détail

Mesure de performances. [Architecture des ordinateurs, Hennessy & Patterson, 1996]

Mesure de performances. [Architecture des ordinateurs, Hennessy & Patterson, 1996] Mesure de performances [Architecture des ordinateurs, Hennessy & Patterson, 1996] Croissance des performances des microprocesseurs Avant le milieu des années 80, le gain dépendait de la technologie. Après,

Plus en détail

Partie 6 : Ordonnancement de processus

Partie 6 : Ordonnancement de processus INF3600+INF2610 Automne 2006 Partie 6 : Ordonnancement de processus Exercice 1 : Considérez un système d exploitation qui ordonnance les processus selon l algorithme du tourniquet. La file des processus

Plus en détail

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de

Plus en détail

QUELQUES CONCEPTS INTRODUCTIFS

QUELQUES CONCEPTS INTRODUCTIFS ESIEE Unité d'informatique IN101 Albin Morelle (et Denis Bureau) QUELQUES CONCEPTS INTRODUCTIFS 1- ARCHITECTURE ET FONCTIONNEMENT D UN ORDINATEUR Processeur Mémoire centrale Clavier Unité d échange BUS

Plus en détail

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation

Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des

Plus en détail

Modélisation des interfaces matériel/logiciel

Modélisation des interfaces matériel/logiciel Modélisation des interfaces matériel/logiciel Présenté par Frédéric Pétrot Patrice Gerin Alexandre Chureau Hao Shen Aimen Bouchhima Ahmed Jerraya 1/28 TIMA Laboratory SLS Group 46 Avenue Félix VIALLET

Plus en détail

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique Institut Supérieure Aux Etudes Technologiques De Nabeul Département Informatique Support de Programmation Java Préparé par Mlle Imene Sghaier 2006-2007 Chapitre 1 Introduction au langage de programmation

Plus en détail

Plan de la séance. Notion de section critique. Solution logiciel (fausse puis vrai) : utilisation d un verrou

Plan de la séance. Notion de section critique. Solution logiciel (fausse puis vrai) : utilisation d un verrou 1 Plan de la séance Notion de section critique Solution logiciel (fausse puis vrai) : utilisation d un verrou Problème classique : philosophes chinois, producteur consommateur, etc. Définition et utilisation

Plus en détail

Backdoors furtives et autres fourberies dans le noyau

Backdoors furtives et autres fourberies dans le noyau Backdoors furtives et autres fourberies dans le noyau Arnaud Ebalard Pierre Lalet Olivier Matz Les 45 prochaines minutes... Injection

Plus en détail

HAUTE DISPONIBILITE & CONTINUITÉ DE SERVICE MULTI PLATES FORMES. Simple & Performant. www.quick software line.com

HAUTE DISPONIBILITE & CONTINUITÉ DE SERVICE MULTI PLATES FORMES. Simple & Performant. www.quick software line.com HAUTE DISPONIBILITE & CONTINUITÉ DE SERVICE MULTI PLATES FORMES Haute disponibilité pour Serveurs Ouverts (Windows, UNIX, AIX, Linux, VMware (Windows, UNIX, AIX, Linux, VMware ) Généralités Quelques définitions

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

Claude Kaiser Paradigmes de la concurrence SRI_B PASSAGE DE TÉMOIN

Claude Kaiser Paradigmes de la concurrence SRI_B PASSAGE DE TÉMOIN PASSAGE DE TÉMOIN coopération par division du travail entre les processus 4) Rendez-vous à 2, symétrique, avec ou non une écriture ou un envoi de message (avec acquittement) Rendez-vous multiple : m processus

Plus en détail

Systèmes répartis : les Remote Procedure Calls p.1/25

Systèmes répartis : les Remote Procedure Calls p.1/25 Systèmes répartis : les Remote Procedure Calls Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine Systèmes répartis : les Remote Procedure Calls p.1/25 Les Remote Procedure Calls

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

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr

Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski cegielski@u-pec.fr Mars 2002 Pour Irène et Marie Legal Notice Copyright c 2002 Patrick Cégielski Université

Plus en détail

Programmation système I Les entrées/sorties

Programmation système I Les entrées/sorties Programmation système I Les entrées/sorties DUT 1 re année Université de Marne La vallée Les entrées-sorties : E/O Entrées/Sorties : Opérations d échanges d informations dans un système informatique. Les

Plus en détail

Les entrées/sorties Les périphériques

Les entrées/sorties Les périphériques Les entrées/sorties Les périphériques La fonction d un ordinateur est le traitement de l information (fonction réalisée au niveau de la mémoire et l UC). L ordinateur acquiert cette information et restitue

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0

Plus en dé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

Virtualisation logicielle De la machine réelle à la machine virtuelle abstraite

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

2015 Electronics For Imaging. Les Informations juridiques rédigées pour ce produit s appliquent au contenu du présent document.

2015 Electronics For Imaging. Les Informations juridiques rédigées pour ce produit s appliquent au contenu du présent document. 2015 Electronics For Imaging. Les Informations juridiques rédigées pour ce produit s appliquent au contenu du présent document. 5 février 2015 Sommaire 3 Sommaire...5 Quelle est ma version de Configure?...5

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

LOG4430 : Architecture et conception avancée

LOG4430 : Architecture et conception avancée LOG4430 : Architecture et conception avancée Abdou Maiga Patrons pour la conception d applications distribuées Département de génie informatique et de génie logiciel École Polytechnique de Montréal Guéhéneuc,

Plus en détail

Programmation Réseau

Programmation Réseau TC 3TC PRS Programmation Réseau Département Télécommunications Services & Usages Programmation Réseau - Slides gracieusement mis à disposition par Fabrice Valois - Pourquoi programmation réseau? - Le concept

Plus en détail

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant 1969. R&T 1ère année. Sylvain MERCHEZ

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

Introduction au temps réel

Introduction au temps réel Introduction au temps réel Laurent.Pautet@enst.fr Version 2.0 Définition d un système temps réel Un système temps réel se compose d'un ou plusieurs sous-systèmes devant répondre en un temps fini et spécifié

Plus en détail