Quels sont les compromis pour “attente active” vs “sommeil”?

C'est dans le prolongement de ma question précédente

Comment fonctionne le mode de blocage dans unix/linux sockets œuvres?

Ce que je comprends à partir d'Internet, aujourd'hui, tous les processus de l'invocation de blocage des appels, sont mis en sommeil jusqu'à ce que le planificateur trouve les raisons de le débloquer. Les raisons peuvent varier d'un tampon vide de la mémoire tampon pleine de toute autre condition.

Mais alors cela peut-il être un moyen efficace de faire en temps réel, permet de dire dur/ferme les applications en temps réel? En tant que le processus n'est pas débloqué lorsque le déblocage condition vraie, mais plutôt de savoir quand le planificateur de lui donner son CPU tranche, et le déblocage, la condition est à la fois vrai.

Que si tu veux une solution réactive, je n'ai pas ce "spin locks" ou "occupé attend" sont la bonne façon de le faire, CPU tranches sont gaspillées, et sur-tout le système doit obtenir de l'onu sensible ou peut-pauvres-sensibles.

Quelqu'un peut-il svp effacer cette idées contradictoires.

InformationsquelleAutor Vivek Sharma | 2009-07-10