22 Temps réel avec Windows Embedded CE 6.0 09/02/2010 Yannick Balère – Theoris Thierry Joubert – Theoris.

Slides:



Advertisements
Présentations similaires
LES NOMBRES PREMIERS ET COMPOSÉS
Advertisements

[number 1-100].
1. Résumé 2 Présentation du créateur 3 Présentation du projet 4.
Produit Gammes Nomenclatures Modules Techniques Prix de Revient Prix de Vente Modules Techniques Client Marges Mise en route Temps Unitaire Prix (Ex:
GEF 435 Principes des systèmes dexploitation Les systèmes dexploitation en général (Tanenbaum 1.1 et 1.3)
Découverte de SQL Server par la pratique pour les administrateurs expérimentés Module 3 : Le serveur Patrick Guimonet Architecte Infrastructure Division.
Est Ouest Sud 11 1 Nord 1 Laval Du Breuil, Adstock, Québec I-17-17ACBLScore S0417 Allez à 1 Est Allez à 4 Sud Allez à 3 Est Allez à 2 Ouest RndNE
Est Ouest Sud 11 1 Nord 1 RondeNE SO
Sud Ouest Est Nord Individuel 36 joueurs
Les Prepositions.
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement.
Présentation de l’Architecture Windows NT
Joscelin OUDRY IR2000 année
Performances 1 Évolution : Performance. Performances 2 Évolution : Mémoire.
La diapo suivante pour faire des algorithmes (colorier les ampoules …à varier pour éviter le « copiage ») et dénombrer (Entoure dans la bande numérique.
User management pour les entreprises et les organisations Auteur / section: Gestion des accès.
Mr: Lamloum Med LES NOMBRES PREMIERS ET COMPOSÉS Mr: Lamloum Med.
1 5 octobre 2011 / paw Présentation du 7 octobre 2011.
1 Bienvenue! Ministère de lEmploi et de la Solidarité sociale Direction des ressources humaines La conduite dun projet de refonte dun intranet Pascale.
Page 1 Introduction à ATEasy 3.0 Page 2 Quest ce quATEasy 3.0? n Ensemble de développement très simple demploi n Conçu pour développer des bancs de test.
PAFI Référentiel de données par Sonia Watts DGIF (Direction de la gestion et de linformation forestière) 27 octobre 2010 et 3 novembre 2010.
1 Cours numéro 3 Graphes et informatique Définitions Exemple de modélisation Utilisation de ce document strictement réservée aux étudiants de l IFSIC.
Voici 36 bonnes raisons de preferer la biere à une femme blonde...
Les verbes auxiliaires Avoir ou être ?? Choisissez! Cest un verbe Dr Mrs Vandertrampp? Cest un verbe réfléchi?
Vuibert Systèmes dinformation et management des organisations 6 e édition R. Reix – B. Fallery – M. Kalika – F. Rowe Chapitre 1 : La notion de système.
Synchronisation et communication entre processus
Serveurs Partagés Oracle
1 Guide de lenseignant-concepteur Vincent Riff 27 mai 2003.
Enseigner l’embarqué avec Windows Embedded CE 6.0
22 janvier 2013 Commercialiser en 2013 ! Que de variables à ajuster ! 1.
F Copyright © Oracle Corporation, Tous droits réservés. Créer des programmes avec Procedure Builder.
La Saint-Valentin Par Matt Maxwell.
Petits montages électroniques à la portée des « softeux »
PLD GHome H4214 Piccolo Thomas Gu Lei Deville Romain Huang Yachen
Tournoi de Flyball Bouin-Plumoison 2008 Tournoi de Flyball
Notre calendrier français MARS 2014
Les changements de numéraire dans la tarification d’options
3ème partie: les filtres
MAGIE Réalisé par Mons. RITTER J-P Le 24 octobre 2004.
C'est pour bientôt.....
Veuillez trouver ci-joint
Ordonnancement de tâches
22 Web Platform Installer pour faciliter la mise en œuvre de votre plateforme Web 9 Février 2010 Alban OlierLaurent Bonnet
LA GESTION COLLABORATIVE DE PROJETS Grâce aux outils du Web /03/2011 Académie de Créteil - Nadine DUDRAGNE 1.
22 Intégrer Reporting Services SQL 2008 R2 à votre application 09/02/2010 Mathieu ROSPIDE – Winwise Julien TOURNADRE – Winwise.
2 Industrialisation des développements sur SQL Server avec Visual Studio 2010 Mardi 8 Février – 17h30 Karim Zegour – Winwise Michel Perfetti – MVP VS.
Voici 36 bonnes raisons de preferer la biere à une femme blonde...
LUNDI – MARDI – MERCREDI – JEUDI – VENDREDI – SAMEDI – DIMANCHE
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
Traitement de différentes préoccupations Le 28 octobre et 4 novembre 2010.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
1/65 微距摄影 美丽的微距摄影 Encore une belle leçon de Macrophotographies venant du Soleil Levant Louis.
CALENDRIER-PLAYBOY 2020.
1. Présentation générale du système
Quel est l’intérêt d’utiliser le diagramme de Gantt dans la démarche de projet A partir d’un exemple concret, nous allons pouvoir exploiter plusieurs parties.
Cours des Systèmes d’exploitations
Architecture Chapitre 4 Interruptions. 2 Plan Principe Schéma d’acquisition Les états d’une interruption Décentralisation des interruptions Exemples.
Les Chiffres Prêts?
Médiathèque de Chauffailles du 3 au 28 mars 2009.
La formation des maîtres et la manifestation de la compétence professionnelle à intégrer les technologies de l'information et des communications (TIC)
22 Visual Studio Tools et Office 2010 Thomas LEBRUN Architecte Access It Sebastien BOVO Application Dev Consultant Microsoft France
AFPA CRETEIL 1-1 Windows NT Environnement Windows NT Chapitre 1.
Etude des performances cinématiques de la plateforme 6 axes
Réalisé par : Mr IRZIM Hédi Mr JRAD Firas
22 Multi-touch et nouvelles expériences dans les systèmes embarqués MOB207 – 8 février 2010 Jean-Michel Guemguem Nicolas Clerc
22 Des capteurs aux serveurs, en passant par la cuisine… 09/02/2010 Pierre Cauchois – Microsoft Thierry Joubert – Theoris.
Construisez votre OS avec les briques de Windows 7 Ma Boite Sous La Télé
22 Demos Demos Demos Windows Embedded 08/02/2010 Olivier Bloch Relations techniques Windows Embedded Microsoft Corp
Transcription de la présentation:

22 Temps réel avec Windows Embedded CE /02/2010 Yannick Balère – Theoris Thierry Joubert – Theoris

33 But de la session: Comprendre pourquoi et comment l’OS Windows Embedded CE 6.0 peut être utilisé sur des systèmes temps réel Expliquer à partir des mécanismes internes de l’OS Illustrer sur des exemples et démos

44 Origines du problème Besoin = Entrées & Sorties à des instants strictement connus (intervalle d’erreur prédéfini) Etat des lieux des CPU Automate Séquentiel & Programmable Pas de gestion interne du temps Temps d’accès à la mémoire & aux périphériques Complexité croissante des besoins !! Quelques mythes Un système temps réel est rapide Le matériel répond à tous les besoins

55 Gestion du déterminisme Au niveau matériel Utilisation des Interruptions Intégration d’un circuit horloge Garantie des temps d’accès à la mémoire Contrôleurs de périphériques et de bus Au niveau logiciel Maîtrise des chemins d’exécution Connaissance des situations de « pire cas » temporel Dans les tâches applicatives Dans le système (Runtimes – Noyau - Pilotes)

66 OS et déterminisme - 1 Ce qui est de la responsabilité de l’OS Temps de réponse sur interruption Précision du TICK (Timers & Watchdogs) Stabilité des mécanismes internes (KCall, TLB) Stabilité des fonctions exposées (CSW, Synchronisation) Stabilité de la planification des tâches Ce qui est de la responsabilité de l’OS Temps de réponse sur interruption Précision du TICK (Timers & Watchdogs) Stabilité des mécanismes internes (KCall, TLB) Stabilité des fonctions exposées (CSW, Synchronisation) Stabilité de la planification des tâches

77 OS et déterminisme - 2 Ce qui n’est pas de la responsabilité de l’OS Contention des interruptions Contention d’accès aux BUS Comportement interne des pilotes de périphériques Ainsi que TOUT le logiciel applicatif !! Ce qui n’est pas de la responsabilité de l’OS Contention des interruptions Contention d’accès aux BUS Comportement interne des pilotes de périphériques Ainsi que TOUT le logiciel applicatif !!

88 CE & Déterminisme Stabilité de la planification des tâches Précision du TICK Stabilité des mécanismes internes Temps de réponse sur interruption

99 Architecture CE I/OI/OObjectStoreObjectStoreKernelKernelGWESGWESCEShellCEShell OAL & Pilotes API système Application Thread

10 Ordonnancement Modèle Multi-Thread Préemptif à 256 niveaux Priorités fixes Round-robin à la demande Quantum paramétrable par thread Gestion de l’inversion de priorité Page 10

11 Synchronisation Synchronisation Win32 Mutex Sémaphore Evénement Optimisation intra-processus Section critique Dépendant du hardware Interlocked Page 11

12 États d’un thread Release Wait ENATTENTEENATTENTE Resume PRÊTPRÊT COURANTCOURANT Élection Préemption ACTIF Suspend Un seul thread à la fois !! SUSPENDUSUSPENDU EN ATTENTE +SUSPENDU +SUSPENDU Resume Suspend

13 Page 13 Outillage Kernel Tracker Montre l’interaction entre les processus, les threads et les interruptions Liste les Interruptions Echecs TLB Inversion de priorité Etat des threads Appels système

14 Mesure Windows CE - 1 Création de 2 threads de haute priorité SemaphoreSemaphore MutexMutex Threads haute priorité Course au Sémaphore Course au Mutex

15 Mesure Windows CE - 2 SemaphoreSemaphore Course au Sémaphore MutexMutex Course au Mutex

16 Mesure Windows CE - 3 Wait+Release+CSW  18 µs SemaphoreSemaphore

17 TICK système TICK fixé à 1ms L’interruption TICK peut causer un changement de contexte de thread (CSW) Le noyau choisit CSW ou NOP Le thread PRÊT de plus haute priorité doit tourner Le thread courant continue s’il n’y a pas de concurrence et qu’il n’a pas épuisé son quantum Sleep(N) va avoir une échéance entre N et (N+1) ms

18 Mécanismes internes Pilotes de périphériques en mode KERNEL Tous les threads du pilote en mode KERNEL Appels à KCOREDLL.DLL Accès direct aux paramètres Appel par table de vecteurs Mémoire virtuelle Page Pooler à déclenchement paramétrable Optimisation des appels non interruptible du noyau (Kcall)

19 Gestion des interruptions KernelKernel OAL API système Interrupt Service Routine Interrupt Service Thread Interrupt Service Thread

20 Page 20 Chemin de prise en compte d’IT

21 Latence d’interruption Au niveau de l’ISR IT non autorisée Temps du noyau pour appeler l’ISR Au niveau de l’IST Temps de changement de contexte Section bloquantes du Noyau (Kcall) Délai TLB

22 Contraintes temps réel Application Maîtrise des priorités de threads Maitrise de l’exécution non préemptible (run to completion) Utiliser les objets de synchronisation Gérer l’inversion de priorité Pilote Maîtrise du délai d’IT Niveau de priorité de l’IST

23 L’engin

24 Aucun composant actif ! Port Parallèle Port Parallèle Capteurs IR Soufflerie ETX ® -DC Intel ® Atom ™ N GHz - 512ko L2 cache DDR2 SODIMM 521Mo

25 Interface Port Parallèle Capteurs IR Turbine Servo-Moteur & Clapet de carburateur Architecture matérielle

26 Pilote Aucun composant actif ! Port Parallèle Port Parallèle Capteurs IR Soufflerie Thread Temps réel Thread Temps réel Application.NET API système IOControl I/OI/O PWM

27 Démo …

28 Système Gestion d’un cycle Temps Réel Application graphique en C# Driver Modèle Stream Driver Gestion centralisée du port parallèle: problématique de concurrence d’accès Contrainte d’utilisation du temps CPU: synchronisation de la commande et de la détection Points clés

29 Temps réel Performance temps réel 0,5 ms 1 ms 10 ms 5 ms 20 ms 100 ms 100 µs 1000 µs Variation Cycle

30 Projet industriel robotique InputdeviceInputdevice

31 Architecture du logiciel Temps réel Interface robot CANI/OEtc. source pcode display SRL generator SRL compiler SRR engine

32 Processus & Threads watchdogwatchdog CallackCallack PanelinputPanelinput Drivers WindowsmessagesWindowsmessages AutomatonAutomaton CAN NVRAM UI panel Application

33 Machine à affranchir Contrainte temps réel sur la cadence de traitement Mesure du pli (dimension, poids) Calcul de tarif et validation de débit Construction de l’image du timbre Commande de l’affranchissement

34 Sessions « Systèmes embarqués » LUNDI 11h-12h : MOB111 Systèmes Embarqués à la sauce Microsoft: Démos, démos, démos 13h-14h : MOB310 Silverlight pour Windows Embedded : monitoring du brassage de la bière en interfaces riches ! 16h-17h : MOB109 Serveurs pour applications embarqués : ils sont de retour… 17h30-18h30 : MOB207 Multitouch et nouvelles expériences dans les systèmes embarqués : scénarios et exemples MARDI 11h-12h : MOB306 Microsoft au calibre industriel: temps réel dur pour des applications critiques 13h-14h : MOB104 Des capteurs aux serveurs en passant par la cuisine : Windows Embedded dans la maison 16h-17h : MOB203 Construisez votre OS avec les briques de Windows 7 : l'exemple avec un système multimédia pour la maison 17h30-18h30 : MOB301.NET, Electronique et OpenSource : développement sur FPGA avec le.NET MicroFramework

35 Quelques liens pour aller plus loin… Le site Windows Embedded en Français: Le blog de Pierre Cauchois – resp. du parcours Embedded: Concours « Je vois des Windows Partout »

36 Retrouvez-nous dehors… Stand D34 – Windows Embedded Des experts pour répondre à toutes vos questions Un beau bar, de belles démos et une bonne ambiance ^^