Mécanismes de protection AUTOSAR OS

  • Published on
    13-Sep-2014

  • View
    2.779

  • Download
    3

DESCRIPTION

AUTOSAR OS est amen devenir le nouveau standard pour les systmes dexploitation dexploitation dans lembarqu automobile, Un des objectifs premiers du projet AUTOSAR est de permettre des applications provenant de diffrentes sources de sexcuter sur un mme calculateur. Ce document fait un tour d'horizon des mcanismes de protection, par exemple protection mmoire et temporelle, qui permettent des applications multi-sources de s'excuter sur un mme calculateur avec une sret de fonctionnement importante. Slides d'une confrence donne au salon RTS'2009 Paris.

Transcript

  • Mcanismes de protection dans AUTOSAR OS

    Nicolas Navet, RTaW Herv Perrault, PSA Peugeot Citron

    Confrence RTS09 le 31/03/2009

  • 2009 RTaW / PSA - 2

    Plan

    1.

    Code ECU : besoin de r-utilisabilit

    et multi-source

    2.

    Concepts de base de la protection OS

    3.

    Mcanismes de protection mmoire et implication sur lordonnancement ECU

    4.

    Mcanismes de protection temporelle

    5.

    Mcanismes de protection du service

    6.

    Possibilits, limites et perspectives

  • 2009 RTaW / PSA - 3

    Objectif central de AUTOSAR : code multi-source r-utilisable

    Situation typique pr-AUTOSAR: lintgrateur fournit 100% du code dun ECU

    Difficults pour lOEM: Intgrer du code maison ou du code tiers R-utiliser du code applicatif et ses paramtres de (pr-)

    calibration Faire jouer la concurrence sur le meilleur ratio perf /

    qualit / cout sur des modules cibls Engagement en responsabilit dlicat si code multi-

    source..

  • 2009 RTaW / PSA - 4

    Mcanismes de protection OS:

    services de partitionnement mmoire / temporel

    Bnfices: Non interfrence des applications entre elles et

    confinement des erreurs Phase mise au point et vhicule srie Scurise lintgrateur et facilite le partage des

    responsabilits R-utilisabilit et multi-source cots et qualit

    par effet levier de la transversalit des modules Services standardiss (hors champ comptitif):

    rfrentiel commun conomie dchelle et qualit des implmentations

    grce au partage entre OEMs (notamment BSW)

  • 2009 RTaW / PSA - 5

    R-utilisabilit

    du code

    Lunicit

    des exigences, notamment en conception

    Model based

    , permet galement de rutiliser des

    paramtres de (pr)calibration

    Les composants logiciels conservent leur certification ASIL

    / Difficile si architectures fonctionnelles trs dissemblables ( WP10.x AUTOSAR)

    / Ncessit de contrats sur la disponibilit des ressources ?!

  • 2009 RTaW / PSA - 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 thatcontain concepts necessary for AUTOSAR

    AUTOSAR OS = OSEK/VDX + tables dordonnancement statiques switchables mcanismes de protection concept de code / OS-application trusted/non-trusted

  • 2009 RTaW / PSA - 7

    La rponse AUTOSAR

    Problmes potentiels : confiscation de ressources (CPU, ressources partages, mmoire, drivers monopolis), accs/appels non autoriss

    5 types de mcanismes protection mmoire

    protection temporelle

    protection des services OS

    protection des ressources matrielles

    code trusted / non-trusted

    Dclins en 4 classes de scalabilit

  • 2009 RTaW / PSA - 8

    Protection OS: excuter des applications multi-sources sur un mme ECU

    OS-applications:

    units fonctionnelles composes dobjet-OS (tches, tables dordonnancement, etc)

    Porte de la protection:9 OS-applications oui9 tches OS oui 9 runnables non9 ISR 1 non9 ISR 2 oui

    OS-Application tiers OS-Application OEM

  • 2009 RTaW / PSA - 9

    OS-applications trusted

    vs non-trusted

    Besoin? Modules dont on veut limiter les capacits daccs aux ressources pour dautres impossible

    Trusted OS-applications: Excution sans mcanismes de monitoring / protection

    possible et en mode CPU superviseur Accs complet la mmoire et lAPI de lOS Possibilit dexporter des trusted functions excutes en

    mode superviseur

    Non-trusted OS-applications: Protection / monitoring imposs Pas dexcution en mode superviseur Possibilit daccder des objets distants non-trusted si

    spcifi la configuration

  • 2009 RTaW / PSA - 10

    Comportement en situation derreur

    Appel protectionHook() dfinie globalement par lintgrateur possibilits:9 terminer la tche9 terminer lOS-application (restart optionnel)9 rebooter lECU9 ne rien faire

    protectionHook() peut appeler errorHook() spcifique lOS-application:9 traabilit9 traitement de lerreur spcifique

  • 2009 RTaW / PSA - 11

    Protection mmoire Protection de la pile

    Protection SC3 et SC4 Protection temporelle

    Protection du service

  • 2009 RTaW / PSA - 12

    Protection mmoire surveillance de la pile

    Dtection dun usage excessif de la pile par une tche,

    Mcanisme best-effort sans ncessit dune MPU,

    Uniquement lors des changements de contexte dtection peu fiable et diffre (post-erreur)

    Intrt pour SC1 & SC2 pb dtect par stackoverflow pour SC3 & SC4

  • 2009 RTaW / PSA - 13

    Protection mmoire

    SC3 & SC4

    Principe: protection en criture impose lecture et excution

    optionnelle ne concerne que les OS-applications non-trusted

    Pile : proprit dune tche ou OS-application Donnes : proprits dune tche ou OS-

    application Code : proprit dune OS-application ou partag

    (attention si bug dans une librairie partage!) Priphriques : proprits dune OS-application

  • 2009 RTaW / PSA - 14

    Protection mmoire

    support hardware pour SC3 & SC4

    CPU : mode superviseur et user Memory Protection Unit (MPU) : partition de

    lespace dadressage avec attributs de protection individuels

    Disponibilits : SX12E, MPC5510 (Freescale), XC3200 (Infineon), MB91460 (Fujitsu), V850 (NEC),

    Problme : mcanismes OS gnriques, nivellement par le bas ..

  • 2009 RTaW / PSA - 15

    Protection mmoire

    bnfices attendus

    Cloisonnement de modules applicatifs distincts :

    1.

    dans des OS-applications

    mais seulement 2 OS- applications requis par le standard /

    2.

    dans des tches

    mais peu de protection sur les OS- objets de lOS-application (ex. alarmes, tables

    dordonnancement, compteurs, ressources)

    Mise au point (puis portage sur SC1 ou SC2 ?)

  • 2009 RTaW / PSA - 16

    Protection mmoire

    exemple dimpact sur lordonnancement (1/2)

    a,b,c d,e,f a,g,h b,c,j x,y,z

    Macro-cycle (1PPCM=1s)

    runnables

    Rptition en boucle

    Micro-cycles (10ms)

    Exemple typique sans protection, tous les runnables applicatifs ordonnancs dans une mme tche OS

    RTaW NETCAR-ECU

  • 2009 RTaW / PSA - 17

    Protection mmoire

    Exemple dimpact

    sur lordonnancement (2/2)

    Protection mmoire tches distinctes Questions:

    1.comment regrouper les runnables

    en tches?2.comment prioriser les tches?

    Contraintes:9 nombre de tches limit (8, 16)9 runnables dans des tches != avec

    contraintes de temps fortes9 les priorits sont fixes

  • 2009 RTaW / PSA - 18

    Protection mmoire Protection temporelle Protection du service

  • 2009 RTaW / PSA - 19

    Protection temporelle vue densemble

    Dpassement dchances dues:9 Temps dexcution trop levs execution

    time budget9 Temps de blocage locking time protection9 Inter-arrives trop frquentes inter-arrival

    time protection

    Mais 9 SC4 uniquement / obligatoire mais peut-tre

    bypasse 9 Pas de deadline monitoring

  • 2009 RTaW / PSA - 20

    Protection temporelle contrle des temps de blocage

    Temps max. de possession des interruptions / ressources

    Individualisable par tche et par ressource Mais ..

    pas de contrle sur le nombre de fois o la ressource est prise

  • 2009 RTaW / PSA - 21

    Protection temporelle contrle du temps dexcution

    Pire temps dexcution (WCET) dfini statiquement la conception

    Remise zro du compteur : Passage dans ltat suspended Passage dans ltat waiting (ECCx)

    Question : applicabilit dans le cas o une attente est ncessaire dans le corps de la tche ?

  • 2009 RTaW / PSA - 22

    Protection temporelle Inter-arrival

    time protection

    Pour une tche : paramtre Time Frame spcifie une borne inf. entre deux transitions vers ltat ready

    Pour un ISR : temps minimum entre deux appels

    Adapt pour des tches priodiques / sporadiques simples

  • 2009 RTaW / PSA - 23

    Protection mmoire Protection temporelle Protection du service

  • 2009 RTaW / PSA - 24

    Protection du service

    Bloquer les appels systmes incorrects: Arguments invalides Services appels 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 - 25

    La rponse AUTOSAR en rsum ..

    Classe

    descalabilit

    1(SC1)

    Classe

    descalabilit

    2(SC2)

    Classe

    de scalabilit

    3(SC3)

    Classe

    de scalabilit

    4(SC4)

    Protection temporelle 9Protection mmoire 9 9Stack monitoring 9 9 9 9Protection hook 9 9 9OS-applications 9 9

    Protection des services 9 9Appel

    de functions trusted

    9 9

  • 2009 RTaW / PSA - 26

    Protection dans AUTOSAR OS conclusions (1/2)

    Mcanismes puissants pour: Contrle mmoire viter utilisation excessive CPU Garantir intgrit du systme

    Il est souvent possible de contourner les protections

    Aucune protection contre des dfaillances hardware

    Quid des ISR1 ?

  • 2009 RTaW / PSA - 27

    Protection dans AUTOSAR OS conclusions (2/2)

    Limites: seulement 2 OS-applications pas de bibliothques de fonctions non-trusted (?) protection temporelle pour les tches tendues Autres composants AUTOSAR en retrait (ex: RTE 3.1)

    Perspectives consortium: extension au multi-processeur / multi-core

    Perspectives fondeurs : standardiser les mcanismes on-chipou la faon de les utiliser

    Perspectives OEM : modification importante de la faon dacheter/produire du

    logiciel (logiciel transversaux) Diminution de leffort ncessaire pour arriver linocuit ..

    Perspectives fournisseurs de code : faciliter la mise au point et la prise de responsabilit.

  • 2009 RTaW / PSA - 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. Shrder-

    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), Fvrier 2007.

  • 2009 RTaW / PSA - 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 - 30

    nicolas.navet@realtimeatwork.com

    http://www.realtimeatwork.com

    STAND A7

    Mcanismes de protection dans AUTOSAR OSPlan Objectif central de AUTOSAR : code multi-source r-utilisableMcanismes de protection OS: services de partitionnement mmoire / temporelR-utilisabilit du code Peu de choses avant AUTOSAR La rponse AUTOSARProtection OS: excuter des applications multi-sources sur un mme ECUOS-applications trusted vs non-trustedComportement en situation derreurProtection mmoireProtection de la pile Protection SC3 et SC4 Protection temporelle Protection du serviceProtection mmoire surveillance de la pileProtection mmoire SC3 & SC4Protection mmoire support hardware pour SC3 & SC4Protection mmoire bnfices attendus Protection mmoire exemple dimpact sur lordonnancement (1/2)Protection mmoire Exemple dimpact sur lordonnancement (2/2)Protection mmoire Protection temporelle Protection du serviceProtection temporelle vue densemble Protection temporelle contrle des temps de blocageProtection temporelle contrle du temps dexcutionProtection temporelle Inter-arrival time protectionProtection mmoire Protection temporelleProtection du serviceProtection du serviceLa rponse AUTOSAR en rsum .. Protection dans AUTOSAR OS conclusions (1/2)Protection dans AUTOSAR OS conclusions (2/2)Bibliographie (1/2)Bibliographie (2/2)nicolas.navet@realtimeatwork.comhttp://www.realtimeatwork.com

Recommended

View more >