Dans un système d'exploitation multitâche contexte, parfois, vous entendez le terme "round-robin". Que fait-il référence?
Quel autre type de planification est là?
Si vous êtes un hôte dans un groupe de 100 personnes, round-robin " signifie que vous avez passer 1 minute (un montant fixe) par personne. Vous allez à travers chacun des invités un par un, et après 100 minutes, vous auriez dépensé 1 minute avec chacun des invités. Plus sur Wikipedia.
Il existe de nombreux autres types de planification, comme la priorité de base (c'est à dire la plupart des gens importants en premier), premier arrivé-premier servi, la plus ancienne date limite d'abord (c'est à dire personne à quitter plus tôt le premier), etc. Vous pouvez commencer par googler pour les algorithmes d'ordonnancement ou découvrez de la planification à Wikipédia
7
Timeslicing est inhérent à toute activité en round-robin, système d'ordonnancement dans la pratique, autant que je sache.
Je suis en désaccord avec InSciTek Jeff implicitement que la suite est round-robin:
Qui est, chaque tâche à la même priorité dans le round-robin de rotation peut être autorisé à s'exécuter jusqu'à ce qu'ils atteignent une ressource condition de blocage avant yeilding à la tâche suivante dans la rotation.
Je ne vois pas comment cela pourrait être considéré comme le round-robin. C'est en fait de préemption de la planification. Toutefois, il est possible d'avoir un algorithme d'ordonnancement qui contient des éléments des deux round-robin et préventive de la planification, qui VxWorks ne s'en round-robin, de la planification et de préemption sont tous deux activés (round-robin est désactivée par défaut). Le moyen de permettre au round-robin est de fournir une valeur non nulle dans kernelTimeSlice.
Je suis d'accord avec cette déclaration:
Par conséquent, tandis que timeslicing la planification en fonction implique round-robin", round-robin " ne pas exiger l'égalité dans le temps en fonction de l'timeslicing.
Vous avez raison, il ne nécessite pas autant de temps. La préemption peut muck. Et en fait, de VxWorks, si une tâche n'est pas interrompu pendant le round-robin", lorsque le groupe obtient le contrôle de nouveau il va exécuter pour le reste du temps, il a été affecté.
Modifier dirigé à InSciTek Jeff (je n'ai pas de commentaire privilèges)
Oui, je faisais allusion à la tâche de verrouillage/interrompre la désactivation, même si évidemment je ne l'exprime pas très bien. Vous préempté moi (ha!) avec votre deuxième commentaire. J'espère que le débat le plus saillant point, que vous croyez round-robin peut exister sans les tranches de temps. Ou avez-vous juste dire que l'égalité des temps en fonction de tranches de temps? Je suis en désaccord avec l'ancien, mais d'accord avec ce dernier. Je suis avide d'apprendre. Merci.
Edit2 dirigé à Jeff:
Round-robin peut exister sans timeslicing. C'est exactement ce qui se passe dans VxWorks quand kernelTimeSlice est désactivé (zéro).
Je suis en désaccord avec cet énoncé. Voir ce document section 2.2.3 avec la rubrique Round-Robin".
Round-robin utilise de temps
la coupe pour obtenir une juste répartition des
le CPU pour toutes les tâches avec le même
de priorité. Chaque tâche, dans un groupe de
les tâches de même priorité, exécute
pour la détermination d'un intervalle ou d'une tranche de temps.
Round-robin est activé par
l'appel de kernelTimeSlice( ), qui
prend un paramètre pour une tranche de temps, ou
d'intervalle. [...] Si la méthode round-robin
la programmation est activé, et de préemption
est activé pour l'exécution de la tâche, l'
système tique gestionnaire incrémente le
la tâche de la tranche de temps de les compter.
Timeslicing est inhérent à round-robin". Sinon, vous êtes en s'appuyant sur une tâche pour donner du PROCESSEUR de contrôle, round-robin est destiné à résoudre.
3
Les réponses ici, et même l'article de Wikipédia décrire round-robin " intrinsèquement inclure des timeslicing. Tout cela est très commun, je crois que le Round-Robin et timeslicing sont pas exactement la même chose. Certes, pour timeslicing à faire sens, round-robin schedling est implicite lors de la rotation pour chaque tâche, cependant vous pouvez le faire en round-robin " sans avoir timeslicing. C'est, chaque tâche à la même priorité dans le round-robin de rotation peut être autorisé à s'exécuter jusqu'à ce qu'ils atteignent une ressource de bloc de condition, et seulement alors, ayant la tâche suivante dans la rotation de l'exécuter. En d'autres termes, lorsque l'égalité de priorité des tâches, l'reschedling points sont pas fois de préemption.
L'idée ci-dessus est effectivement réalisés spécifiquement dans le cas de Wind River VxWorks noyau. Au sein de leur régime de priorité, les tâches de chaque priorité d'exécuter tournoi à la ronde, mais ne pas timeslice sans spécifiquement l'activation de cette fonctionnalité dans le noyau. La raison de cette flexibilité est d'éviter la surcharge de timeslicing des tâches qui sont déjà connus pour fonctionner dans un bloc à l'intérieur d'un bien de temps limitées.
Par conséquent, tandis que timeslicing la planification en fonction implique round-robin", round-robin " ne pas exiger l'égalité dans le temps en fonction de l'timeslicing.
1
Une opinion. Il semble que nous sommes l'imbrication de deux mécanismes. En supposant que les OP d'origine de l'affirmation "Dans un système d'exploitation multitâche contexte" puis
1 - Un tournoi à la ronde planificateur toujours les horaires de l'élément suivant dans une file d'attente circulaire.
2 - Comment le planificateur reprend le contrôle pour effectuer la planification distincts et non reliés.
Je ne conteste pas que la méthode la plus courante pour 2 est le temps de découpage /rendement d'attente pour les ressources, mais, comme il a été souligné qu'il y avait d'autres. Si je ne me trompe pas le premier Mac de ne pas utiliser de temps à trancher, ils ont utilisé volontaire rendement /rendement d'attente pour les ressources (+de 20 ans les cellules du cerveau peut être mal parfois;).
0
Round robin est un simple algorithme d'ordonnancement où le temps est divisée de manière égale entre des tâches non prioritaires.
Par exemple, si vous avez 5 les processus de l'exécution de chaque processus sera autorisé à exécuter pour 1/5 une unité de temps avant qu'un autre processus est autorisé à s'exécuter. Round robin est généralement facile à mettre en œuvre dans un système d'exploitation.
0
Actaully, vous êtes de se confondre avec de Préemption de la planification et de Round robin. Enfait RR est une partie de Préemption de la planification.
0
Round-Robin est basé sur le partage en temps aussi connu comme quantum (temps maximum donné par la CPU à un processus en une seule fois). Il y a plusieurs processus(qui nécessitent différents temps de remplir aka rafale temps) dans une file d'attente et le PROCESSEUR a de les traiter de sorte qu'il tient la commutation entre les processus de donner à tous les processus de l'égalité du temps basé sur le quantum de valeur. Ce type de planification est connu comme le "Round-Robin".
Caisse simple vidéo pour comprendre round-robin facilement: https://www.youtube.com/watch?v=9hw-_qJ55K4
Round-Robin
Si vous êtes un hôte dans un groupe de 100 personnes, round-robin " signifie que vous avez passer 1 minute (un montant fixe) par personne. Vous allez à travers chacun des invités un par un, et après 100 minutes, vous auriez dépensé 1 minute avec chacun des invités. Plus sur Wikipedia.
Il existe de nombreux autres types de planification, comme la priorité de base (c'est à dire la plupart des gens importants en premier), premier arrivé-premier servi, la plus ancienne date limite d'abord (c'est à dire personne à quitter plus tôt le premier), etc. Vous pouvez commencer par googler pour les algorithmes d'ordonnancement ou découvrez de la planification à Wikipédia
Timeslicing est inhérent à toute activité en round-robin, système d'ordonnancement dans la pratique, autant que je sache.
Je suis en désaccord avec InSciTek Jeff implicitement que la suite est round-robin:
Je ne vois pas comment cela pourrait être considéré comme le round-robin. C'est en fait de préemption de la planification. Toutefois, il est possible d'avoir un algorithme d'ordonnancement qui contient des éléments des deux round-robin et préventive de la planification, qui VxWorks ne s'en round-robin, de la planification et de préemption sont tous deux activés (round-robin est désactivée par défaut). Le moyen de permettre au round-robin est de fournir une valeur non nulle dans kernelTimeSlice.
Je suis d'accord avec cette déclaration:
Vous avez raison, il ne nécessite pas autant de temps. La préemption peut muck. Et en fait, de VxWorks, si une tâche n'est pas interrompu pendant le round-robin", lorsque le groupe obtient le contrôle de nouveau il va exécuter pour le reste du temps, il a été affecté.
Modifier dirigé à InSciTek Jeff (je n'ai pas de commentaire privilèges)
Oui, je faisais allusion à la tâche de verrouillage/interrompre la désactivation, même si évidemment je ne l'exprime pas très bien. Vous préempté moi (ha!) avec votre deuxième commentaire. J'espère que le débat le plus saillant point, que vous croyez round-robin peut exister sans les tranches de temps. Ou avez-vous juste dire que l'égalité des temps en fonction de tranches de temps? Je suis en désaccord avec l'ancien, mais d'accord avec ce dernier. Je suis avide d'apprendre. Merci.
Edit2 dirigé à Jeff:
Je suis en désaccord avec cet énoncé. Voir ce document section 2.2.3 avec la rubrique Round-Robin".
Timeslicing est inhérent à round-robin". Sinon, vous êtes en s'appuyant sur une tâche pour donner du PROCESSEUR de contrôle, round-robin est destiné à résoudre.
Les réponses ici, et même l'article de Wikipédia décrire round-robin " intrinsèquement inclure des timeslicing. Tout cela est très commun, je crois que le Round-Robin et timeslicing sont pas exactement la même chose. Certes, pour timeslicing à faire sens, round-robin schedling est implicite lors de la rotation pour chaque tâche, cependant vous pouvez le faire en round-robin " sans avoir timeslicing. C'est, chaque tâche à la même priorité dans le round-robin de rotation peut être autorisé à s'exécuter jusqu'à ce qu'ils atteignent une ressource de bloc de condition, et seulement alors, ayant la tâche suivante dans la rotation de l'exécuter. En d'autres termes, lorsque l'égalité de priorité des tâches, l'reschedling points sont pas fois de préemption.
L'idée ci-dessus est effectivement réalisés spécifiquement dans le cas de Wind River VxWorks noyau. Au sein de leur régime de priorité, les tâches de chaque priorité d'exécuter tournoi à la ronde, mais ne pas timeslice sans spécifiquement l'activation de cette fonctionnalité dans le noyau. La raison de cette flexibilité est d'éviter la surcharge de timeslicing des tâches qui sont déjà connus pour fonctionner dans un bloc à l'intérieur d'un bien de temps limitées.
Par conséquent, tandis que timeslicing la planification en fonction implique round-robin", round-robin " ne pas exiger l'égalité dans le temps en fonction de l'timeslicing.
Une opinion. Il semble que nous sommes l'imbrication de deux mécanismes. En supposant que les OP d'origine de l'affirmation "Dans un système d'exploitation multitâche contexte" puis
1 - Un tournoi à la ronde planificateur toujours les horaires de l'élément suivant dans une file d'attente circulaire.
2 - Comment le planificateur reprend le contrôle pour effectuer la planification distincts et non reliés.
Je ne conteste pas que la méthode la plus courante pour 2 est le temps de découpage /rendement d'attente pour les ressources, mais, comme il a été souligné qu'il y avait d'autres. Si je ne me trompe pas le premier Mac de ne pas utiliser de temps à trancher, ils ont utilisé volontaire rendement /rendement d'attente pour les ressources (+de 20 ans les cellules du cerveau peut être mal parfois;).
Round robin est un simple algorithme d'ordonnancement où le temps est divisée de manière égale entre des tâches non prioritaires.
Par exemple, si vous avez 5 les processus de l'exécution de chaque processus sera autorisé à exécuter pour 1/5 une unité de temps avant qu'un autre processus est autorisé à s'exécuter. Round robin est généralement facile à mettre en œuvre dans un système d'exploitation.
Actaully, vous êtes de se confondre avec de Préemption de la planification et de Round robin. Enfait RR est une partie de Préemption de la planification.
Round-Robin est basé sur le partage en temps aussi connu comme quantum (temps maximum donné par la CPU à un processus en une seule fois). Il y a plusieurs processus(qui nécessitent différents temps de remplir aka rafale temps) dans une file d'attente et le PROCESSEUR a de les traiter de sorte qu'il tient la commutation entre les processus de donner à tous les processus de l'égalité du temps basé sur le quantum de valeur. Ce type de planification est connu comme le "Round-Robin".
Caisse simple vidéo pour comprendre round-robin facilement: https://www.youtube.com/watch?v=9hw-_qJ55K4