le 02-17-2012 04:04 AM
Bonjour,
Je suis intéressée sur le niveau de sécurité sous-programme,mais j'ai du mal à comprendre les explications.
Lorsqu'un VI s'exécute au niveau de priorité sous-programme, il prend contrôle du thread sur lequel il s'exécute, qui est le thread utilisé par le VI qui l'appelle. Aucun autre VI ne peut s'exécuter dans ce thread tant que le VI de priorité sous-programme n'a pas fini de s'exécuter, même si l'autre VI a aussi le niveau de priorité sous-programme. Dans les applications monothread, aucun autre VI ne s'exécute. Dans les systèmes d'exécution, le thread qui exécute le sous-programme ne traite pas d'autres VIs, mais le deuxième thread de ce système d'exécution, ainsi que les autres systèmes d'exécution, peuvent continuer à exécuter des VIs.
Non seulement l'exécution d'un VI à priorité sous-programme ne partage pas le temps avec d'autres VIs, mais elle est aussi optimisée de sorte que les commandes et les indicateurs de la face-avant ne sont pas mis à jour quand le sous-programme est appelé. La face-avant d'un VI à priorité sous-programme ne révèle rien de son exécution.
Y a-t-il quelqu'un a fait des démos pour ça? J'ai fait des tests en créant des VIs, mais j'en suis pas sûre de son fonctinnement.
Merci d'avance.
Lily
le 02-17-2012 05:19 AM
Bonjour,
J'avoue ne pas trop comprendre la question au niveau sécurité... Le fait de mettre un VI en sub-routine permet de changer sa priorité d'exécution dnas le thread et donc d'en optimiser les performances en terme de temsp d'exécution. Pour visualiser cela il suffit de faire un bench pour mesurer le temps d'exécution du VI en mode "normal" et en subroutine et voir si cela améliore réellement les performances. (dans certains cas il n'y aura pas de gains dans d'autres le temps d'exécution va beaucoup diminuer).
Cordialement,
le 02-17-2012 06:15 AM
Un niveau de priorité « sous-programme » monopolise toute la ressource CPU du thread tant que son exécution n’est pas terminée. Un des niveaux les plus prioritaires donc.
Il doit être un petit code (sous-programme) rapide à exécuter et pour des besoins spécifiques le développeur veut que ce dernier s’exécute le plus rapidement possible et monopolise pour cela toutes les ressources disponibles.
Le code doit être très rapide d’exécution.
Luc Desruelle | Mon profil | Mon blog LabVIEW | Auteur livre LabVIEW : Programmation et applications - G Web
Certified LabVIEW Architect (CLA) & Certified TestStand Developper (CTD) | LabVIEW Champion
MESULOG - LinkedIn site | NERYS - NERYS Group
| directeur CEO MESULOG
| CODIR - NERYS group
le 03-02-2012 09:45 AM
bonjour,
Je fait un exemple avec 2 VIs identiques sauf la priorité, on voit bien que c'est bien le VI en priorité sous-programme qui exécute d'abord, ensuite l'autre.
Lily