2014-04-29 6 views

Répondre

1

Il va être difficile et probablement irréalisable de garder une trace de toutes les conditions OS/externes pour implémenter un véritable algorithme de prévention des interblocages sur une application réelle. Les systèmes d'exploitation modernes (lorsque nous ne parlons pas de systèmes sensibles à la RT) préfèrent ne pas implémenter de tels algorithmes en raison de leur complexité et de leur coût excessif. En d'autres termes, vous pouvez vous sortir d'un blocage Windows, dans le pire des cas, avec un redémarrage simple. Et compte tenu du nombre de fois que cela arrive, il n'est pas considéré comme un énorme problème sur le marché des OS de bureau.

donc je recommande d'écrire un exemple simple de test avec une application factice qui sera soit

  • Servez votre but
  • vous permettent de savoir exactement ce qui est utilisé par votre application et vous permettent de gérer la complexité

en sidenote: des applications telles que notepad.exe ou similaires ne sont pas en temps réel les processus même si vous leur donnez la priorité "Temps réel" dans le gestionnaire de tâches Windows (et pas même en temps réel). Les processus en temps réel réels ont des contraintes de temps (c'est-à-dire des délais) qu'ils DOIVENT observer. Ce n'est pas vrai dans n'importe quel système d'exploitation de bureau car ils sont simplement construits avec un concept différent en tête (partage du temps). Linux a quelques correctifs RT (par exemple Xenomai) pour rendre l'algorithme de planification dans le noyau un vrai temps réel, mais je ne suis pas au courant de l'état de ce correctif en ce moment.