Practice Exam 4566

Cards (171)

  • Système temps réel
    Un système avec une réponse déterministe aux événements
  • Les facteurs qui influencent la qualification d'un système comme "temps réel" sont : les exigences de temps, les conséquences du non-respect des délais, et la complexité du système
  • Fonction du microcontrôleur (MCU) dans l'exemple du fer à souder
    Mesure et réglage de la température de la panne
  • Avantages des systèmes temps réel basés sur le matériel
    • Opérations parallèles et exécution instantanée
  • Inconvénient des firmwares bare-metal pour les systèmes temps réel
    Complexité accrue du code et des dépendances
  • Avantage d'un RTOS par rapport à un firmware bare-metal
    Amélioration de la réactivité et du multitâche
  • Système temps réel qui doit respecter ses délais à 100% du temps
    Temps réel strict
  • Exemple de système temps réel souple
    • Régulateur de vitesse de voiture
  • Principale caractéristique des systèmes embarqués
    Ils ne s'arrêtent jamais
  • Problème principal des super boucles dans les systèmes temps réel complexes
    Difficulté à maintenir la réactivité aux événements
  • Comment les interruptions peuvent améliorer la réactivité d'une super boucle

    En signalant des événements importants sans polling
  • Avantage principal de l'utilisation du DMA

    Transfert de données sans intervention du CPU
  • Cas où un RTOS est particulièrement utile
    Systèmes complexes avec des tâches gourmandes en temps
  • Différence entre une tâche RTOS et une fonction dans une super boucle
    Les tâches ont leur propre pile d'exécution
  • Ordonnancement Round-Robin
    Chaque tâche reçoit une tranche de temps d'exécution
  • Avantage de l'ordonnancement préemptif par rapport au Round-Robin
    Garantie d'exécution des tâches les plus importantes
  • Famine de tâches
    Lorsque les tâches de faible priorité ne s'exécutent jamais
  • Compromis principal lors de l'utilisation d'un RTOS
    Augmentation de la complexité du système
  • File d'attente (queue) RTOS

    Un tampon circulaire avec des propriétés de sécurité multi-thread
  • Comportement par défaut d'une tâche qui tente d'envoyer un élément à une file d'attente pleine
    La tâche se met en attente jusqu'à ce qu'il y ait de la place disponible
  • Utilisation des files d'attente pour la communication entre les tâches

    En stockant des données partagées entre les tâches
  • Utilisation des sémaphores RTOS
    Signaler des événements et synchroniser les tâches
  • Différence entre un sémaphore binaire et un sémaphore de comptage
    Un sémaphore de comptage peut avoir une valeur maximale, tandis qu'un sémaphore binaire est toujours 0 ou 1
  • Inversion de priorité
    Lorsqu'une tâche de faible priorité s'exécute avant une tâche de haute priorité
  • Sémaphore binaire
    Peut être utilisé pour la synchronisation, contrairement à un sémaphore de comptage
  • Sémaphore de comptage
    Peut avoir une valeur maximale, contrairement à un sémaphore binaire qui est toujours 0 ou 1
  • Sémaphore binaire
    • Plus efficace en termes de ressources
  • Sémaphore de comptage
    • Plus facile à utiliser
  • Comment les mutex aident à minimiser l'inversion de priorité
    En augmentant temporairement la priorité de la tâche qui détient le mutex
  • Si une tâche ne parvient pas à acquérir un sémaphore dans le délai imparti

    La tâche doit prendre une action alternative
  • Première étape pour démarrer une application RTOS
    Initialiser le matériel MCU
  • Comment une tâche peut se supprimer elle-même

    En appelant vTaskDelete avec un pointeur NULL
  • Différence entre xTaskCreate et xTaskCreateStatic
    xTaskCreate utilise la pile FreeRTOS, xTaskCreateStatic utilise une pile statique
  • Ce que fait la fonction vTaskStartScheduler
    Démarre le planificateur RTOS
  • Comment obtenir le descripteur d'une tâche créée
    En le passant comme argument à xTaskCreate
  • Comment une tâche peut être mise en état bloqué
    En appelant vTaskDelay
  • Manière inefficace de surveiller un événement dans une tâche

    En utilisant le polling
  • Si aucune tâche ne s'exécute après le démarrage du planificateur
    Vérifier si la pile FreeRTOS est suffisamment grande
  • Type de données pouvant être transmis par une file d'attente FreeRTOS
    N'importe quel type de données, y compris les structures et les pointeurs
  • Comment la fonction xQueueCreate est utilisée

    Pour créer une nouvelle file d'attente