Salut,
Est-ce que quelqu'un sait comment est réalisée l'ordonnancement de processus ? Et plus particulièrement le réveil de ceux-ci.
Supposons que j'ai, entre autre, un processus qui travaille peu car il passe la plupart de son temps à attendre des sockets dans un appel select. Mais, j'aimerais que lorsque l'une de ses socket soit prête alors il s'active le plus vite possible et avec une grande priorité. Si j'augmente la priorité de ce processus aurais-je l'effet désiré ? I.e. est-ce que le système s'apercevra qu'il peut être réveillé dès qu'une socket est prête. Et aussi, est-ce que ça pourrait nuire à la performance globale du système : si le processus a une priorité plus élevé, est-ce qu'il va être réveillé plus souvent par le système _avant_ qu'une socket ne soit prête (pour être rendormie juste après) ou alors est-ce que ce genre de chose est très bien gérée et ne se produit pas ?
Il me semble que le scheduler de linux favorise les processus qui sont bloqués sur des I/O (afin j'ai lu ça dans un truc pas tout jeune, je ne sais pas si c'est toujours vrai). Mais comment peut-on s'assurer qu'un processus bénéficie bien de cette politique ?
Je suis aussi preneur d'un pointeur vers quelque chose qui parle de ce genre de question si vous en avez, car je n'ai pas trop d'idée sur où trouver ces infos (ailleurs que dans les sources de linux).
Merci