SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
Mécanismes de protection
   dans AUTOSAR OS
  Nicolas Navet, RTaW
  Hervé Perrault, PSA Peugeot Citroën




 Conférence à RTS’09
    le 31/03/2009
Plan
        1. Code ECU : besoin de ré-utilisabilité et
           multi-source
        2. Concepts de base de la protection OS
        3. Mécanismes de protection mémoire et
           implication sur l’ordonnancement ECU
        4. Mécanismes de protection temporelle
        5. Mécanismes de protection du service
        6. Possibilités, limites et perspectives


© 2009 RTaW / PSA - 2
Objectif central de AUTOSAR : code
                   multi-source ré-utilisable
              Situation typique pré-AUTOSAR: l’intégrateur
              fournit 100% du code d’un ECU …
              Difficultés pour l’OEM:
                    Intégrer du code « maison » ou du code tiers
                    Ré-utiliser du code applicatif et ses paramètres de (pré-)
                    calibration
                    Faire jouer la concurrence sur le meilleur ratio perf /
                    qualité / cout sur des modules ciblés
                    Engagement en responsabilité délicat si code multi-
                    source..
                    …



© 2009 RTaW / PSA - 3
Mécanismes de protection OS: services
         de partitionnement mémoire / temporel
              Bénéfices:
                    Non interférence des applications entre elles et
                    confinement des erreurs
                    Phase mise au point et véhicule série
                    Sécurise l’intégrateur et facilite le partage des
                    responsabilités
                    Ré-utilisabilité et multi-source       coûts et   qualité
                    par effet levier de la transversalité des modules
                    Services standardisés (hors champ compétitif):
                       référentiel commun
                       économie d’échelle et qualité des implémentations
                       grâce au partage entre OEMs (notamment BSW)


© 2009 RTaW / PSA - 4
Ré-utilisabilité du code…
        ☺ L’unicité des exigences, notamment en conception
          « Model based », permet également de réutiliser des
          paramètres de (pré)calibration
        ☺ Les composants logiciels conservent leur certification
          ASIL
             Difficile si architectures fonctionnelles très dissemblables
             (☺ WP10.x AUTOSAR)
             Nécessité de « contrats » sur la disponibilité des
             ressources ?!




© 2009 RTaW / PSA - 5
Peu de choses avant AUTOSAR …

              OSEK/OS : « OSEK OS does not provide sufficient
              support for isolating multi-source components at
              runtime »
              OSEKTime et HIS : « immature specifications that
              contain concepts necessary for AUTOSAR »
              AUTOSAR OS = OSEK/VDX +
                    tables d’ordonnancement statiques « switchables »
                    mécanismes de protection
                    concept de code / OS-application « trusted/non-trusted »
                    …




© 2009 RTaW / PSA - 6
La réponse AUTOSAR
              Problèmes potentiels : confiscation de ressources
              (CPU, ressources partagées, mémoire, drivers
              monopolisé), accès/appels non autorisés
              5 types de mécanismes
                    protection mémoire
                    protection temporelle
                    protection des services OS
                    protection des ressources matérielles
                    code trusted / non-trusted

              Déclinés en 4 classes de « scalabilité »

© 2009 RTaW / PSA - 7
Protection OS: exécuter des applications
                  multi-sources sur un même ECU
         OS-applications: unités fonctionnelles composées
         d’objet-OS (tâches, tables d’ordonnancement, etc)
                                   OS-Application tiers   OS-Application OEM

  Portée de la protection:
      OS-applications        oui
      tâches OS    oui
      runnables    non
      ISR 1   non
      ISR 2   oui




© 2009 RTaW / PSA - 8
OS-applications trusted vs non-trusted
              Besoin? Modules dont on veut limiter les capacités
              d’accès aux ressources – pour d’autres impossible
              Trusted OS-applications:
                    Exécution sans mécanismes de monitoring / protection
                    possible et en mode CPU superviseur
                    Accès complet à la mémoire et à l’API de l’OS
                    Possibilité d’exporter des « trusted functions » exécutées en
                    mode superviseur
              Non-trusted OS-applications:
                    Protection / monitoring imposés
                    Pas d’exécution en mode superviseur
                    Possibilité d’accéder à des objets distants « non-trusted » si
                    spécifié à la configuration


© 2009 RTaW / PSA - 9
Comportement en situation d’erreur

             Appel à protectionHook() définie globalement
             par l’intégrateur – possibilités:
                    terminer la tâche
                    terminer l’OS-application (restart optionnel)
                    rebooter l’ECU
                    ne rien faire
             protectionHook() peut appeler errorHook()
             spécifique à l’OS-application:
                         traçabilité
                         traitement de l’erreur spécifique



© 2009 RTaW / PSA - 10
Protection mémoire
                            Protection de la pile
                           Protection SC3 et SC4
                         Protection temporelle
                         Protection du service



© 2009 RTaW / PSA - 11
Protection mémoire –
                         surveillance de la pile

             Détection d’un usage « excessif » de la pile par une
             tâche,
             Mécanisme « best-effort » sans nécessité d’une MPU,
             Uniquement lors des changements de contexte
             détection peu « fiable » et différée (post-erreur)
             Intérêt pour SC1 & SC2 – pb détecté par « stack
             overflow » pour SC3 & SC4




© 2009 RTaW / PSA - 12
Protection mémoire – SC3 & SC4

            Principe:
                   protection en écriture imposée – lecture et exécution
                   optionnelle
                   ne concerne que les OS-applications non-trusted
            Pile : propriété d’une tâche ou OS-application
            Données : propriétés d’une tâche ou OS-
            application
            Code : propriété d’une OS-application ou partagé
            (attention si bug dans une librairie partagée!)
            Périphériques : propriétés d’une OS-application



© 2009 RTaW / PSA - 13
Protection mémoire – support
                           hardware pour SC3 & SC4
             CPU : mode superviseur et user
             Memory Protection Unit (MPU) : partition de
             l’espace d’adressage avec attributs de
             protection individuels
             Disponibilités : SX12E, MPC5510 (Freescale),
             XC3200 (Infineon), MB91460 (Fujitsu), V850
             (NEC), …
             Problème : mécanismes OS génériques,
             nivellement par le bas ..


© 2009 RTaW / PSA - 14
Protection mémoire – bénéfices
                                attendus
                 Cloisonnement de modules applicatifs
                 distincts :
               1.        dans des OS-applications ≠ mais seulement 2 OS-
                         applications requis par le standard
               2.        dans des tâches ≠ mais peu de protection sur les OS-
                         objets de l’OS-application (ex. alarmes, tables
                         d’ordonnancement, compteurs, ressources)
                 Mise au point (puis portage sur SC1 ou SC2 ?)




© 2009 RTaW / PSA - 15
Protection mémoire – exemple
           d’impact sur l’ordonnancement (1/2)
      Exemple typique sans protection, tous les runnables applicatifs
    ordonnancés dans une même tâche OS

           runnables                                         Micro-cycles
                                                               (10ms)
                         a,b,c   d,e,f   a,g,h   b,c,j   …   x,y,z


                           Macro-cycle (1PPCM=1s)


                            RTaW Répétition
                                 NETCAR-ECU
                                     « en boucle »


© 2009 RTaW / PSA - 16
Protection mémoire – Exemple
            d’impact sur l’ordonnancement (2/2)

             Protection mémoire      tâches distinctes
             Questions:
              1. comment regrouper les runnables en ≠ tâches?
              2. comment prioriser les tâches?
             Contraintes:
                   nombre de tâches limité (8, 16)
                   runnables dans des tâches != avec
                   contraintes de temps fortes
                   les priorités sont fixes




© 2009 RTaW / PSA - 17
Protection mémoire
                         Protection temporelle
                         Protection du service



© 2009 RTaW / PSA - 18
Protection temporelle
                               vue d’ensemble
             Dépassement d’échéances dues:
                    Temps d’exécution trop élevés      execution
                    time budget
                    Temps de blocage      locking time protection
                    Inter-arrivées trop fréquentes    inter-arrival
                    time protection
             Mais …
                    SC4 uniquement / obligatoire mais peut-être
                    « bypassée »
                    Pas de deadline monitoring



© 2009 RTaW / PSA - 19
Protection temporelle
                         contrôle des temps de blocage

            Temps max. de possession des interruptions /
            ressources
            Individualisable par tâche et par ressource
            Mais ..
                   pas de contrôle sur le nombre de fois où la ressource est
                   prise …




© 2009 RTaW / PSA - 20
Protection temporelle
                         contrôle du temps d’exécution
             Pire temps d’exécution (WCET) défini
             statiquement à la conception
             Remise à zéro du compteur :
                    Passage dans l’état « suspended »
                    Passage dans l’état « waiting » (ECCx)


             Question : applicabilité dans le cas où une
             attente est nécessaire dans le corps de la
             tâche ?

© 2009 RTaW / PSA - 21
Protection temporelle
                         Inter-arrival time protection

             Pour une tâche : paramètre Time
             Frame spécifie une borne inf. entre
             deux transitions vers l’état ready
             Pour un ISR : temps minimum entre
             deux appels

             Adapté pour des tâches périodiques /
             sporadiques simples

© 2009 RTaW / PSA - 22
Protection mémoire
                         Protection temporelle
                         Protection du service




© 2009 RTaW / PSA - 23
Protection du service

             Bloquer les appels systèmes incorrects:
                    Arguments invalides
                    Services appelés dans un contexte invalide
                    (ex: terminateTask() dans ISR)
                    Insuffisance de droits pour un service (ex:
                    shutdownOS())
                    Insuffisance de droits pour une ressource




© 2009 RTaW / PSA - 24
La réponse AUTOSAR en résumé ..
                                    Classe de       Classe de       Classe de       Classe de
                                   scalabilité 1   scalabilité 2   scalabilité 3   scalabilité 4
                                      (SC1)           (SC2)           (SC3)           (SC4)
          Protection temporelle

            Protection mémoire

              Stack monitoring

               Protection hook

               OS-applications

         Protection des services

             Appel de functions
                  « trusted »

© 2009 RTaW / PSA - 25
Protection dans AUTOSAR OS
                               conclusions (1/2)
             Mécanismes puissants pour:
                    Contrôle mémoire
                    Éviter utilisation excessive CPU
                    Garantir intégrité du système
             Il est souvent possible de contourner les
             protections
             Aucune protection contre des défaillances
             hardware
             Quid des ISR1 ?



© 2009 RTaW / PSA - 26
Protection dans AUTOSAR OS
                               conclusions (2/2)
             Limites:
                    seulement 2 OS-applications
                    pas de bibliothèques de fonctions « non-trusted » (?)
                    protection temporelle pour les tâches étendues
                    Autres composants AUTOSAR en retrait (ex: RTE 3.1)

             Perspectives consortium: extension au multi-processeur /
             multi-core
             Perspectives fondeurs : standardiser les mécanismes on-chip
             ou la façon de les utiliser
             Perspectives OEM :
                 modification importante de la façon d’acheter/produire du
                 logiciel (logiciel transversaux)
                 Diminution de l’effort nécessaire pour arriver à l’inocuité ..
             Perspectives fournisseurs de code : faciliter la mise au point
             et la prise de responsabilité.

© 2009 RTaW / PSA - 27
Bibliographie (1/2)
        [1] AUTOSAR Consortium, “Specification of Operating System”, V3.0.3,
           R3.1 Rev 0001, 2008.
        [2] AUTOSAR Consortium, “Requirements on Operating System”, V2.0.5,
           R3.1 Rev 0001, 2008.
        [3] AUTOSAR Consortium, “Specification of RTE”, V2.0.1, R3.1 Rev 0001,
           2008.
        [4] D. Lohmann, J. Streicher, W. Hofer, O. Spinczyk, W. Shröder-
           Preikschat, “Configurable memory protection by aspects”, Proceedings
           of the 4th workshop on Programming languages and operating
           systems, 2007.
        [5] Fujitsu,”AUTOSAR Package for Fujitsu automotive microcontrollers –
           description of the MB91460 Series (32-bit)”, Février 2007.




© 2009 RTaW / PSA - 28
Bibliographie (2/2)
        [6] “Infineon rolls Autosar compliant microcontroller family”, EETimes
           Europe, http://eetimes.eu/germany/197800861, Juillet 2007.
        [7] Martin Markert (Freescale), “Multiple applications in control units -
           AUTOSAR-OS allows multiple applications to run on one
           microcontroller by the use of memory protection”,
           http://www.elektroniknet.de, 2008.
        [8] Peter Liebscher (Vector Informatik), “Timing, memory protection and
           error detection in OSEK Systems”, Embedded Control Europe, pp 41-
           44, June 2006.
        [9] DaimlerChrysler AG, “OSEK OS Extensions for Protected
           Applications”, Juillet 2003. Available at http://www.automotive-
           his.de/
        [10] OSEK/VDX, “Time-Triggered Operating System - Specification 1.0”,
           Juillet 2001.




© 2009 RTaW / PSA - 29
nicolas.navet@realtimeatwork.com

                         http://www.realtimeatwork.com




                                                     STAND A7




© 2009 RTaW / PSA - 30

Mais conteúdo relacionado

Destaque

ASFWS 2011 : Cyberguerre et Infrastructures critiques : Menaces & Risques
ASFWS 2011 : Cyberguerre et Infrastructures critiques : Menaces & RisquesASFWS 2011 : Cyberguerre et Infrastructures critiques : Menaces & Risques
ASFWS 2011 : Cyberguerre et Infrastructures critiques : Menaces & RisquesCyber Security Alliance
 
Sécurité des systèmes d'information
Sécurité des systèmes d'informationSécurité des systèmes d'information
Sécurité des systèmes d'informationFranck Franchin
 
Le top 100 du numérique Français
Le top 100 du numérique FrançaisLe top 100 du numérique Français
Le top 100 du numérique FrançaisHETIC
 
Interculturel Chine nov 2013
Interculturel Chine nov 2013Interculturel Chine nov 2013
Interculturel Chine nov 2013cciducher
 
Dépistage de l’anévrisme de l’aorte lille
Dépistage de l’anévrisme de l’aorte lilleDépistage de l’anévrisme de l’aorte lille
Dépistage de l’anévrisme de l’aorte lilleARMVOP Médecin Vasculaire
 
Astronautes i Bruixots arquitectes!!!
Astronautes i Bruixots arquitectes!!!Astronautes i Bruixots arquitectes!!!
Astronautes i Bruixots arquitectes!!!Natzaret
 
Loi n° 07 92 relative à la protection sociale des personnes handicapées
Loi n° 07 92 relative à la protection sociale des personnes handicapéesLoi n° 07 92 relative à la protection sociale des personnes handicapées
Loi n° 07 92 relative à la protection sociale des personnes handicapéesCentrenoor_slideshare
 
PréSentation Ict
PréSentation IctPréSentation Ict
PréSentation Ictptitgal
 
Tecnología para el Desarrollo Humano de Comunidades Rurales - Energía
Tecnología para el Desarrollo Humano de Comunidades Rurales - EnergíaTecnología para el Desarrollo Humano de Comunidades Rurales - Energía
Tecnología para el Desarrollo Humano de Comunidades Rurales - EnergíaEduardo Zolezzi
 
2010 03-08 powerpointpng
2010 03-08 powerpointpng2010 03-08 powerpointpng
2010 03-08 powerpointpngRicardo
 
El trabajo en_la_historia
El trabajo en_la_historiaEl trabajo en_la_historia
El trabajo en_la_historiaAlma Mendez
 
Taller y Workshop Hootsuite, la plataforma de gestión unificada de social media
Taller y Workshop Hootsuite, la plataforma de gestión unificada de social mediaTaller y Workshop Hootsuite, la plataforma de gestión unificada de social media
Taller y Workshop Hootsuite, la plataforma de gestión unificada de social mediaSoluciona Facil
 

Destaque (20)

ASFWS 2011 : Cyberguerre et Infrastructures critiques : Menaces & Risques
ASFWS 2011 : Cyberguerre et Infrastructures critiques : Menaces & RisquesASFWS 2011 : Cyberguerre et Infrastructures critiques : Menaces & Risques
ASFWS 2011 : Cyberguerre et Infrastructures critiques : Menaces & Risques
 
Ch10 dependable systems
Ch10 dependable systemsCh10 dependable systems
Ch10 dependable systems
 
Sécurité des systèmes d'information
Sécurité des systèmes d'informationSécurité des systèmes d'information
Sécurité des systèmes d'information
 
Le top 100 du numérique Français
Le top 100 du numérique FrançaisLe top 100 du numérique Français
Le top 100 du numérique Français
 
Interculturel Chine nov 2013
Interculturel Chine nov 2013Interculturel Chine nov 2013
Interculturel Chine nov 2013
 
Dépistage de l’anévrisme de l’aorte lille
Dépistage de l’anévrisme de l’aorte lilleDépistage de l’anévrisme de l’aorte lille
Dépistage de l’anévrisme de l’aorte lille
 
Astronautes i Bruixots arquitectes!!!
Astronautes i Bruixots arquitectes!!!Astronautes i Bruixots arquitectes!!!
Astronautes i Bruixots arquitectes!!!
 
Interrogatorio
InterrogatorioInterrogatorio
Interrogatorio
 
Loi n° 07 92 relative à la protection sociale des personnes handicapées
Loi n° 07 92 relative à la protection sociale des personnes handicapéesLoi n° 07 92 relative à la protection sociale des personnes handicapées
Loi n° 07 92 relative à la protection sociale des personnes handicapées
 
Expo junto con_ana
Expo junto con_anaExpo junto con_ana
Expo junto con_ana
 
PréSentation Ict
PréSentation IctPréSentation Ict
PréSentation Ict
 
Tecnología para el Desarrollo Humano de Comunidades Rurales - Energía
Tecnología para el Desarrollo Humano de Comunidades Rurales - EnergíaTecnología para el Desarrollo Humano de Comunidades Rurales - Energía
Tecnología para el Desarrollo Humano de Comunidades Rurales - Energía
 
Atlantis
AtlantisAtlantis
Atlantis
 
2010 03-08 powerpointpng
2010 03-08 powerpointpng2010 03-08 powerpointpng
2010 03-08 powerpointpng
 
Sector servicios
Sector serviciosSector servicios
Sector servicios
 
Mod 9 virtual
Mod 9 virtualMod 9 virtual
Mod 9 virtual
 
Búsqueda y uso de REA
Búsqueda y uso de REABúsqueda y uso de REA
Búsqueda y uso de REA
 
El trabajo en_la_historia
El trabajo en_la_historiaEl trabajo en_la_historia
El trabajo en_la_historia
 
La méthode z validation
La méthode z validation La méthode z validation
La méthode z validation
 
Taller y Workshop Hootsuite, la plataforma de gestión unificada de social media
Taller y Workshop Hootsuite, la plataforma de gestión unificada de social mediaTaller y Workshop Hootsuite, la plataforma de gestión unificada de social media
Taller y Workshop Hootsuite, la plataforma de gestión unificada de social media
 

Semelhante a Mécanismes de protection dans AUTOSAR OS

Chap1_PresentationJava.pdf
Chap1_PresentationJava.pdfChap1_PresentationJava.pdf
Chap1_PresentationJava.pdfsayf7
 
Cours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdfCours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdfWahideArabe
 
ANSII Configuration Materiel server/client x86
ANSII Configuration Materiel server/client x86ANSII Configuration Materiel server/client x86
ANSII Configuration Materiel server/client x86ssuser6373db
 
[Café Techno] Spectrum protect - Présentation des fonctionnalités
[Café Techno] Spectrum protect - Présentation des fonctionnalités[Café Techno] Spectrum protect - Présentation des fonctionnalités
[Café Techno] Spectrum protect - Présentation des fonctionnalitésGroupe D.FI
 
Cours sys 2PPT20.pdf
Cours sys 2PPT20.pdfCours sys 2PPT20.pdf
Cours sys 2PPT20.pdfC00LiMoUn
 
Cours Master Embarqué 2019-2020.pptx
Cours Master Embarqué 2019-2020.pptxCours Master Embarqué 2019-2020.pptx
Cours Master Embarqué 2019-2020.pptxAbdo Brahmi
 
Linux et les systèmes embarqués
Linux et les systèmes embarquésLinux et les systèmes embarqués
Linux et les systèmes embarquésStéphane Legrand
 
Infonuagique retour d'expérience
 Infonuagique   retour d'expérience Infonuagique   retour d'expérience
Infonuagique retour d'expérienceClaude Coulombe
 
2011 09 powerha_guide_shareaix
2011 09 powerha_guide_shareaix2011 09 powerha_guide_shareaix
2011 09 powerha_guide_shareaixSylvain Lamour
 
Net Worker 9 : une solution orientée Backup As a Service
Net Worker 9 : une solution orientée Backup As a ServiceNet Worker 9 : une solution orientée Backup As a Service
Net Worker 9 : une solution orientée Backup As a ServiceRSD
 
IT Customer Solution Architect
IT Customer Solution ArchitectIT Customer Solution Architect
IT Customer Solution ArchitecticVatant
 
[Café Techno] Archiver pour moins sauvegarder - Juin 2015
[Café Techno] Archiver pour moins sauvegarder - Juin 2015[Café Techno] Archiver pour moins sauvegarder - Juin 2015
[Café Techno] Archiver pour moins sauvegarder - Juin 2015Groupe D.FI
 
Aspect avec AspectJ
Aspect avec AspectJAspect avec AspectJ
Aspect avec AspectJsimeon
 
Présentation Eranea à Open Source Now 2012
Présentation Eranea à Open Source Now 2012Présentation Eranea à Open Source Now 2012
Présentation Eranea à Open Source Now 2012Didier Durand
 
Le licensing Oracle dans le cloud
Le licensing Oracle dans le cloud Le licensing Oracle dans le cloud
Le licensing Oracle dans le cloud EASYTEAM
 

Semelhante a Mécanismes de protection dans AUTOSAR OS (20)

Mécanismes de protection AUTOSAR OS
Mécanismes de protection AUTOSAR OSMécanismes de protection AUTOSAR OS
Mécanismes de protection AUTOSAR OS
 
Chapitre 1 sem
Chapitre 1 semChapitre 1 sem
Chapitre 1 sem
 
Chap1_PresentationJava.pdf
Chap1_PresentationJava.pdfChap1_PresentationJava.pdf
Chap1_PresentationJava.pdf
 
Cours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdfCours Système Embarqué et Système d'exploitation mobile.pdf
Cours Système Embarqué et Système d'exploitation mobile.pdf
 
ANSII Configuration Materiel server/client x86
ANSII Configuration Materiel server/client x86ANSII Configuration Materiel server/client x86
ANSII Configuration Materiel server/client x86
 
[Café Techno] Spectrum protect - Présentation des fonctionnalités
[Café Techno] Spectrum protect - Présentation des fonctionnalités[Café Techno] Spectrum protect - Présentation des fonctionnalités
[Café Techno] Spectrum protect - Présentation des fonctionnalités
 
Cours sys 2PPT20.pdf
Cours sys 2PPT20.pdfCours sys 2PPT20.pdf
Cours sys 2PPT20.pdf
 
Cours Master Embarqué 2019-2020.pptx
Cours Master Embarqué 2019-2020.pptxCours Master Embarqué 2019-2020.pptx
Cours Master Embarqué 2019-2020.pptx
 
Linux et les systèmes embarqués
Linux et les systèmes embarquésLinux et les systèmes embarqués
Linux et les systèmes embarqués
 
Infonuagique retour d'expérience
 Infonuagique   retour d'expérience Infonuagique   retour d'expérience
Infonuagique retour d'expérience
 
2011 09 powerha_guide_shareaix
2011 09 powerha_guide_shareaix2011 09 powerha_guide_shareaix
2011 09 powerha_guide_shareaix
 
Net Worker 9 : une solution orientée Backup As a Service
Net Worker 9 : une solution orientée Backup As a ServiceNet Worker 9 : une solution orientée Backup As a Service
Net Worker 9 : une solution orientée Backup As a Service
 
IT Customer Solution Architect
IT Customer Solution ArchitectIT Customer Solution Architect
IT Customer Solution Architect
 
[Café Techno] Archiver pour moins sauvegarder - Juin 2015
[Café Techno] Archiver pour moins sauvegarder - Juin 2015[Café Techno] Archiver pour moins sauvegarder - Juin 2015
[Café Techno] Archiver pour moins sauvegarder - Juin 2015
 
Aspect avec AspectJ
Aspect avec AspectJAspect avec AspectJ
Aspect avec AspectJ
 
Systeme embarque
Systeme embarqueSysteme embarque
Systeme embarque
 
Présentation Eranea à Open Source Now 2012
Présentation Eranea à Open Source Now 2012Présentation Eranea à Open Source Now 2012
Présentation Eranea à Open Source Now 2012
 
Tiny os_2
Tiny os_2Tiny os_2
Tiny os_2
 
JavaRMI.pdf
JavaRMI.pdfJavaRMI.pdf
JavaRMI.pdf
 
Le licensing Oracle dans le cloud
Le licensing Oracle dans le cloud Le licensing Oracle dans le cloud
Le licensing Oracle dans le cloud
 

Mais de Nicolas Navet

Battery Aware Dynamic Scheduling for Periodic Task Graphs
Battery Aware Dynamic Scheduling for Periodic Task GraphsBattery Aware Dynamic Scheduling for Periodic Task Graphs
Battery Aware Dynamic Scheduling for Periodic Task GraphsNicolas Navet
 
In-Vehicle Networking : a Survey and Look Forward
In-Vehicle Networking : a Survey and Look ForwardIn-Vehicle Networking : a Survey and Look Forward
In-Vehicle Networking : a Survey and Look ForwardNicolas Navet
 
Automotive communication systems: from dependability to security
Automotive communication systems: from dependability to securityAutomotive communication systems: from dependability to security
Automotive communication systems: from dependability to securityNicolas Navet
 
Pushing the limits of CAN - Scheduling frames with offsets provides a major p...
Pushing the limits of CAN - Scheduling frames with offsets provides a major p...Pushing the limits of CAN - Scheduling frames with offsets provides a major p...
Pushing the limits of CAN - Scheduling frames with offsets provides a major p...Nicolas Navet
 
Configuring the communication on FlexRay: the case of the static segment
Configuring the communication on FlexRay: the case of the static segmentConfiguring the communication on FlexRay: the case of the static segment
Configuring the communication on FlexRay: the case of the static segmentNicolas Navet
 
Automating the Configuration of the FlexRay Communication Cycle
Automating the Configuration of the FlexRay Communication CycleAutomating the Configuration of the FlexRay Communication Cycle
Automating the Configuration of the FlexRay Communication CycleNicolas Navet
 
Aperiodic Traffic in Response Time Analyses with Adjustable Safety Level
Aperiodic Traffic in Response Time Analyses with Adjustable Safety LevelAperiodic Traffic in Response Time Analyses with Adjustable Safety Level
Aperiodic Traffic in Response Time Analyses with Adjustable Safety LevelNicolas Navet
 
Ertss2010 multicore scheduling
Ertss2010 multicore schedulingErtss2010 multicore scheduling
Ertss2010 multicore schedulingNicolas Navet
 
Optimizing the Robustness of X-by-Wire using Word Combinatorics
Optimizing the Robustness of X-by-Wire using Word CombinatoricsOptimizing the Robustness of X-by-Wire using Word Combinatorics
Optimizing the Robustness of X-by-Wire using Word CombinatoricsNicolas Navet
 
Cief2007 nn shc_slides
Cief2007 nn shc_slidesCief2007 nn shc_slides
Cief2007 nn shc_slidesNicolas Navet
 
Virtualization in Automotive Embedded Systems : an Outlook
Virtualization in Automotive Embedded Systems : an OutlookVirtualization in Automotive Embedded Systems : an Outlook
Virtualization in Automotive Embedded Systems : an OutlookNicolas Navet
 

Mais de Nicolas Navet (13)

Battery Aware Dynamic Scheduling for Periodic Task Graphs
Battery Aware Dynamic Scheduling for Periodic Task GraphsBattery Aware Dynamic Scheduling for Periodic Task Graphs
Battery Aware Dynamic Scheduling for Periodic Task Graphs
 
In-Vehicle Networking : a Survey and Look Forward
In-Vehicle Networking : a Survey and Look ForwardIn-Vehicle Networking : a Survey and Look Forward
In-Vehicle Networking : a Survey and Look Forward
 
Automotive communication systems: from dependability to security
Automotive communication systems: from dependability to securityAutomotive communication systems: from dependability to security
Automotive communication systems: from dependability to security
 
Pushing the limits of CAN - Scheduling frames with offsets provides a major p...
Pushing the limits of CAN - Scheduling frames with offsets provides a major p...Pushing the limits of CAN - Scheduling frames with offsets provides a major p...
Pushing the limits of CAN - Scheduling frames with offsets provides a major p...
 
New policies
New policiesNew policies
New policies
 
Isi2007 nn shc_2007
Isi2007 nn shc_2007Isi2007 nn shc_2007
Isi2007 nn shc_2007
 
Configuring the communication on FlexRay: the case of the static segment
Configuring the communication on FlexRay: the case of the static segmentConfiguring the communication on FlexRay: the case of the static segment
Configuring the communication on FlexRay: the case of the static segment
 
Automating the Configuration of the FlexRay Communication Cycle
Automating the Configuration of the FlexRay Communication CycleAutomating the Configuration of the FlexRay Communication Cycle
Automating the Configuration of the FlexRay Communication Cycle
 
Aperiodic Traffic in Response Time Analyses with Adjustable Safety Level
Aperiodic Traffic in Response Time Analyses with Adjustable Safety LevelAperiodic Traffic in Response Time Analyses with Adjustable Safety Level
Aperiodic Traffic in Response Time Analyses with Adjustable Safety Level
 
Ertss2010 multicore scheduling
Ertss2010 multicore schedulingErtss2010 multicore scheduling
Ertss2010 multicore scheduling
 
Optimizing the Robustness of X-by-Wire using Word Combinatorics
Optimizing the Robustness of X-by-Wire using Word CombinatoricsOptimizing the Robustness of X-by-Wire using Word Combinatorics
Optimizing the Robustness of X-by-Wire using Word Combinatorics
 
Cief2007 nn shc_slides
Cief2007 nn shc_slidesCief2007 nn shc_slides
Cief2007 nn shc_slides
 
Virtualization in Automotive Embedded Systems : an Outlook
Virtualization in Automotive Embedded Systems : an OutlookVirtualization in Automotive Embedded Systems : an Outlook
Virtualization in Automotive Embedded Systems : an Outlook
 

Mécanismes de protection dans AUTOSAR OS

  • 1. Mécanismes de protection dans AUTOSAR OS Nicolas Navet, RTaW Hervé Perrault, PSA Peugeot Citroën Conférence à RTS’09 le 31/03/2009
  • 2. Plan 1. Code ECU : besoin de ré-utilisabilité et multi-source 2. Concepts de base de la protection OS 3. Mécanismes de protection mémoire et implication sur l’ordonnancement ECU 4. Mécanismes de protection temporelle 5. Mécanismes de protection du service 6. Possibilités, limites et perspectives © 2009 RTaW / PSA - 2
  • 3. Objectif central de AUTOSAR : code multi-source ré-utilisable Situation typique pré-AUTOSAR: l’intégrateur fournit 100% du code d’un ECU … Difficultés pour l’OEM: Intégrer du code « maison » ou du code tiers Ré-utiliser du code applicatif et ses paramètres de (pré-) calibration Faire jouer la concurrence sur le meilleur ratio perf / qualité / cout sur des modules ciblés Engagement en responsabilité délicat si code multi- source.. … © 2009 RTaW / PSA - 3
  • 4. Mécanismes de protection OS: services de partitionnement mémoire / temporel Bénéfices: Non interférence des applications entre elles et confinement des erreurs Phase mise au point et véhicule série Sécurise l’intégrateur et facilite le partage des responsabilités Ré-utilisabilité et multi-source coûts et qualité par effet levier de la transversalité des modules Services standardisés (hors champ compétitif): référentiel commun économie d’échelle et qualité des implémentations grâce au partage entre OEMs (notamment BSW) © 2009 RTaW / PSA - 4
  • 5. Ré-utilisabilité du code… ☺ L’unicité des exigences, notamment en conception « Model based », permet également de réutiliser des paramètres de (pré)calibration ☺ Les composants logiciels conservent leur certification ASIL Difficile si architectures fonctionnelles très dissemblables (☺ WP10.x AUTOSAR) Nécessité de « contrats » sur la disponibilité des ressources ?! © 2009 RTaW / PSA - 5
  • 6. Peu de choses avant AUTOSAR … OSEK/OS : « OSEK OS does not provide sufficient support for isolating multi-source components at runtime » OSEKTime et HIS : « immature specifications that contain concepts necessary for AUTOSAR » AUTOSAR OS = OSEK/VDX + tables d’ordonnancement statiques « switchables » mécanismes de protection concept de code / OS-application « trusted/non-trusted » … © 2009 RTaW / PSA - 6
  • 7. La réponse AUTOSAR Problèmes potentiels : confiscation de ressources (CPU, ressources partagées, mémoire, drivers monopolisé), accès/appels non autorisés 5 types de mécanismes protection mémoire protection temporelle protection des services OS protection des ressources matérielles code trusted / non-trusted Déclinés en 4 classes de « scalabilité » © 2009 RTaW / PSA - 7
  • 8. Protection OS: exécuter des applications multi-sources sur un même ECU OS-applications: unités fonctionnelles composées d’objet-OS (tâches, tables d’ordonnancement, etc) OS-Application tiers OS-Application OEM Portée de la protection: OS-applications oui tâches OS oui runnables non ISR 1 non ISR 2 oui © 2009 RTaW / PSA - 8
  • 9. OS-applications trusted vs non-trusted Besoin? Modules dont on veut limiter les capacités d’accès aux ressources – pour d’autres impossible Trusted OS-applications: Exécution sans mécanismes de monitoring / protection possible et en mode CPU superviseur Accès complet à la mémoire et à l’API de l’OS Possibilité d’exporter des « trusted functions » exécutées en mode superviseur Non-trusted OS-applications: Protection / monitoring imposés Pas d’exécution en mode superviseur Possibilité d’accéder à des objets distants « non-trusted » si spécifié à la configuration © 2009 RTaW / PSA - 9
  • 10. Comportement en situation d’erreur Appel à protectionHook() définie globalement par l’intégrateur – possibilités: terminer la tâche terminer l’OS-application (restart optionnel) rebooter l’ECU ne rien faire protectionHook() peut appeler errorHook() spécifique à l’OS-application: traçabilité traitement de l’erreur spécifique © 2009 RTaW / PSA - 10
  • 11. Protection mémoire Protection de la pile Protection SC3 et SC4 Protection temporelle Protection du service © 2009 RTaW / PSA - 11
  • 12. Protection mémoire – surveillance de la pile Détection d’un usage « excessif » de la pile par une tâche, Mécanisme « best-effort » sans nécessité d’une MPU, Uniquement lors des changements de contexte détection peu « fiable » et différée (post-erreur) Intérêt pour SC1 & SC2 – pb détecté par « stack overflow » pour SC3 & SC4 © 2009 RTaW / PSA - 12
  • 13. Protection mémoire – SC3 & SC4 Principe: protection en écriture imposée – lecture et exécution optionnelle ne concerne que les OS-applications non-trusted Pile : propriété d’une tâche ou OS-application Données : propriétés d’une tâche ou OS- application Code : propriété d’une OS-application ou partagé (attention si bug dans une librairie partagée!) Périphériques : propriétés d’une OS-application © 2009 RTaW / PSA - 13
  • 14. Protection mémoire – support hardware pour SC3 & SC4 CPU : mode superviseur et user Memory Protection Unit (MPU) : partition de l’espace d’adressage avec attributs de protection individuels Disponibilités : SX12E, MPC5510 (Freescale), XC3200 (Infineon), MB91460 (Fujitsu), V850 (NEC), … Problème : mécanismes OS génériques, nivellement par le bas .. © 2009 RTaW / PSA - 14
  • 15. Protection mémoire – bénéfices attendus Cloisonnement de modules applicatifs distincts : 1. dans des OS-applications ≠ mais seulement 2 OS- applications requis par le standard 2. dans des tâches ≠ mais peu de protection sur les OS- objets de l’OS-application (ex. alarmes, tables d’ordonnancement, compteurs, ressources) Mise au point (puis portage sur SC1 ou SC2 ?) © 2009 RTaW / PSA - 15
  • 16. Protection mémoire – exemple d’impact sur l’ordonnancement (1/2) Exemple typique sans protection, tous les runnables applicatifs ordonnancés dans une même tâche OS runnables Micro-cycles (10ms) a,b,c d,e,f a,g,h b,c,j … x,y,z Macro-cycle (1PPCM=1s) RTaW Répétition NETCAR-ECU « en boucle » © 2009 RTaW / PSA - 16
  • 17. Protection mémoire – Exemple d’impact sur l’ordonnancement (2/2) Protection mémoire tâches distinctes Questions: 1. comment regrouper les runnables en ≠ tâches? 2. comment prioriser les tâches? Contraintes: nombre de tâches limité (8, 16) runnables dans des tâches != avec contraintes de temps fortes les priorités sont fixes © 2009 RTaW / PSA - 17
  • 18. Protection mémoire Protection temporelle Protection du service © 2009 RTaW / PSA - 18
  • 19. Protection temporelle vue d’ensemble Dépassement d’échéances dues: Temps d’exécution trop élevés execution time budget Temps de blocage locking time protection Inter-arrivées trop fréquentes inter-arrival time protection Mais … SC4 uniquement / obligatoire mais peut-être « bypassée » Pas de deadline monitoring © 2009 RTaW / PSA - 19
  • 20. Protection temporelle contrôle des temps de blocage Temps max. de possession des interruptions / ressources Individualisable par tâche et par ressource Mais .. pas de contrôle sur le nombre de fois où la ressource est prise … © 2009 RTaW / PSA - 20
  • 21. Protection temporelle contrôle du temps d’exécution Pire temps d’exécution (WCET) défini statiquement à la conception Remise à zéro du compteur : Passage dans l’état « suspended » Passage dans l’état « waiting » (ECCx) Question : applicabilité dans le cas où une attente est nécessaire dans le corps de la tâche ? © 2009 RTaW / PSA - 21
  • 22. Protection temporelle Inter-arrival time protection Pour une tâche : paramètre Time Frame spécifie une borne inf. entre deux transitions vers l’état ready Pour un ISR : temps minimum entre deux appels Adapté pour des tâches périodiques / sporadiques simples © 2009 RTaW / PSA - 22
  • 23. Protection mémoire Protection temporelle Protection du service © 2009 RTaW / PSA - 23
  • 24. Protection du service Bloquer les appels systèmes incorrects: Arguments invalides Services appelés dans un contexte invalide (ex: terminateTask() dans ISR) Insuffisance de droits pour un service (ex: shutdownOS()) Insuffisance de droits pour une ressource © 2009 RTaW / PSA - 24
  • 25. La réponse AUTOSAR en résumé .. Classe de Classe de Classe de Classe de scalabilité 1 scalabilité 2 scalabilité 3 scalabilité 4 (SC1) (SC2) (SC3) (SC4) Protection temporelle Protection mémoire Stack monitoring Protection hook OS-applications Protection des services Appel de functions « trusted » © 2009 RTaW / PSA - 25
  • 26. Protection dans AUTOSAR OS conclusions (1/2) Mécanismes puissants pour: Contrôle mémoire Éviter utilisation excessive CPU Garantir intégrité du système Il est souvent possible de contourner les protections Aucune protection contre des défaillances hardware Quid des ISR1 ? © 2009 RTaW / PSA - 26
  • 27. Protection dans AUTOSAR OS conclusions (2/2) Limites: seulement 2 OS-applications pas de bibliothèques de fonctions « non-trusted » (?) protection temporelle pour les tâches étendues Autres composants AUTOSAR en retrait (ex: RTE 3.1) Perspectives consortium: extension au multi-processeur / multi-core Perspectives fondeurs : standardiser les mécanismes on-chip ou la façon de les utiliser Perspectives OEM : modification importante de la façon d’acheter/produire du logiciel (logiciel transversaux) Diminution de l’effort nécessaire pour arriver à l’inocuité .. Perspectives fournisseurs de code : faciliter la mise au point et la prise de responsabilité. © 2009 RTaW / PSA - 27
  • 28. Bibliographie (1/2) [1] AUTOSAR Consortium, “Specification of Operating System”, V3.0.3, R3.1 Rev 0001, 2008. [2] AUTOSAR Consortium, “Requirements on Operating System”, V2.0.5, R3.1 Rev 0001, 2008. [3] AUTOSAR Consortium, “Specification of RTE”, V2.0.1, R3.1 Rev 0001, 2008. [4] D. Lohmann, J. Streicher, W. Hofer, O. Spinczyk, W. Shröder- Preikschat, “Configurable memory protection by aspects”, Proceedings of the 4th workshop on Programming languages and operating systems, 2007. [5] Fujitsu,”AUTOSAR Package for Fujitsu automotive microcontrollers – description of the MB91460 Series (32-bit)”, Février 2007. © 2009 RTaW / PSA - 28
  • 29. Bibliographie (2/2) [6] “Infineon rolls Autosar compliant microcontroller family”, EETimes Europe, http://eetimes.eu/germany/197800861, Juillet 2007. [7] Martin Markert (Freescale), “Multiple applications in control units - AUTOSAR-OS allows multiple applications to run on one microcontroller by the use of memory protection”, http://www.elektroniknet.de, 2008. [8] Peter Liebscher (Vector Informatik), “Timing, memory protection and error detection in OSEK Systems”, Embedded Control Europe, pp 41- 44, June 2006. [9] DaimlerChrysler AG, “OSEK OS Extensions for Protected Applications”, Juillet 2003. Available at http://www.automotive- his.de/ [10] OSEK/VDX, “Time-Triggered Operating System - Specification 1.0”, Juillet 2001. © 2009 RTaW / PSA - 29
  • 30. nicolas.navet@realtimeatwork.com http://www.realtimeatwork.com STAND A7 © 2009 RTaW / PSA - 30