Scheduleur CMX system


http://www.cmx.com/microchip/

http://www.cmx.com/microchip/CMX-Scheduler-dsPIC.pdf

Encore un truc qui se voulait simple, mais qui à vouloir s’éloigner du harware pour être relativement portable, est bien compliqué..

C’est bien plus simple de sauver tout le contexte d’une tâche interrompue , à un endroit précis de la mémoire, que dans une pile avec un pointeur de pile..

De la même façon avoir pour chaque tâche son contexte d’initialisation à un endroit défini de la mémoire avant de la lancer… Ce qui se nommait PSTS sur les Solar..

il suffit d’avoir deux tables de 64 adresses, une pour l’ini, et une pour la reprise, si on a 64 tâches, pour les retrouver avec leur numéro en index. Une table de 64 octets pour mettre les états des tâches, une autre pour mettre les numéros d’évènement attendus par chacune (lorsque c’est le cas ) pour reprendre leur job., et une dernière pour les reprises sur time out.

On peut limiter facilement à 32 tâches , à 16 selon les besoins de l’appli , là on parle de 5 tâches.. (on fait que dalle avec 5 tâches en temps réel )

J’aime pas cette pile où on empile en vrac, pour retrouver là dedans ce qu ‘il faut relancer en prorité, bonjour.

Facile d’ajouter, supprimer, intercaler , modifier la priorité d’une tache, lorsqu ‘on a un peu de réserve.

Publicités
Cet article a été publié dans OS Embarqués. Ajoutez ce permalien à vos favoris.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s