J'ai de l'expérience avec plusieurs RTOS (pSOS, VxWorks, QNX) mais je suis nouveau sur MicroC/OS II (ucos ii). Je vois que quelque chose d'unique à propos d'ucos ii est d'avoir un ID unique pour les tâches, il utilise la priorité pour identifier les tâches de façon unique et que toutes les tâches doivent être à des priorités différentes et donc la planification round robin n'est pas supportée. Tant que je comprends. Voici la question:La modification de la priorité dans MicroC/OS II (ucos ii) modifie l'ID de tâche?
Si je change la priorité d'une tâche avec OSTaskChangePrio() cela ne cause pas de problèmes pour le code ou d'autres tâches qui ont stocké la priorité (ID de tâche) de la tâche qui vient de changer sa priorité. En effet, la modification de la priorité modifie l'identité de la tâche. Comment est-ce que ce n'est pas un problème?
Juste un exemple, je pourrais vouloir que la tâche qui démarre d'autres tâches réduise sa priorité quand c'est fait. Permettre à une tâche de changer efficacement son ID de tâche signifie que je ne peux pas dépendre de l'utiliser pour identifier la tâche. J'ai également trouvé qu'il n'était pas clair quand ucos ii fait l'inversion des priorités, cela change-t-il réellement l'identifiant de la tâche (priorité) vu par d'autres tâches. Si j'essaie d'utiliser l'ID de tâche d'origine (priorité) alors que l'inversion de priorité est en cours pour identifier cette tâche, l'appel du système d'exploitation échoue-t-il car aucune tâche n'a cet ID de tâche (priorité) à ce moment? – JonN