Planification préventive et non préventive: différences clés

Table des matières:

Anonim

Qu'est-ce que la planification préventive?

La planification préventive est une méthode de planification où les tâches sont principalement attribuées avec leurs priorités. Parfois, il est important d'exécuter une tâche avec une priorité plus élevée avant une autre tâche de priorité inférieure, même si la tâche de priorité inférieure est toujours en cours d'exécution.

À ce moment-là, la tâche de priorité inférieure est conservée pendant un certain temps et reprend lorsque la tâche de priorité supérieure termine son exécution.

Dans ce didacticiel sur le système d'exploitation, vous apprendrez:

  • Qu'est-ce que la planification préventive?
  • Qu'est-ce que la planification non préventive?
  • Différence entre la planification préventive et non préventive dans le système d'exploitation
  • Avantages de la planification préventive
  • Avantages de la planification non préemptive
  • Inconvénients de la planification préventive
  • Inconvénients de la planification non préventive
  • Exemple de planification non préventive
  • Exemple de planification préventive

Qu'est-ce que la planification non préventive?

Dans ce type de méthode de planification, la CPU a été allouée à un processus spécifique. Le processus qui maintient le CPU occupé libérera le CPU soit en changeant de contexte, soit en se terminant.

C'est la seule méthode qui peut être utilisée pour diverses plates-formes matérielles. C'est parce qu'il n'a pas besoin de matériel spécialisé (par exemple, une minuterie) comme la planification préemptive.

La planification non préventive se produit lorsqu'un processus entre volontairement dans l'état d'attente ou se termine.

Différence entre la planification préventive et non préventive dans le système d'exploitation

Voici la planification préventive et non préventive dans le système d'exploitation

Planification préventive Planification non préventive
Un processeur peut être empêché d'exécuter les différents processus au milieu de toute exécution de processus en cours. Une fois que le processeur commence son exécution, il doit la terminer avant d'exécuter l'autre. Il ne peut pas être mis en pause au milieu.
L'utilisation du processeur est plus efficace que la planification non préventive. L'utilisation du processeur est moins efficace que la planification préventive.
Le temps d'attente et de réponse de la planification préventive est moindre. Le temps d'attente et de réponse de la méthode de planification non préemptive est plus élevé.
La planification préventive est prioritaire. Le processus de priorité la plus élevée est un processus actuellement utilisé. Lorsqu'un processus entre en état d'exécution, l'état de ce processus n'est jamais supprimé du planificateur tant qu'il n'a pas terminé son travail.
La planification préventive est flexible. La planification non préemptive est rigide.
Exemples: - Temps restant le plus court d'abord, tournoi à la ronde, etc. Exemples: premier arrivé, premier servi, travail le plus court d'abord, planification prioritaire, etc.
L'algorithme de planification préventive peut être préempté, c'est-à-dire que le processus peut être planifié Dans le processus de planification non préemptif ne peut pas être planifié
Dans ce processus, la CPU est allouée aux processus pour une période de temps spécifique. Dans ce processus, la CPU est allouée au processus jusqu'à ce qu'il se termine ou passe à l'état d'attente.
L'algorithme préemptif a la charge de faire passer le processus de l'état prêt à l'état en cours d'exécution et vice-versa. La planification non préemptive n'a pas une telle surcharge de basculement du processus de l'exécution à l'état prêt.

Avantages de la planification préventive

Voici les avantages / avantages de la méthode de planification préventive:

  • La méthode de planification préventive est plus robuste, approche de sorte qu'un processus ne peut pas monopoliser le processeur
  • Choix de la tâche en cours reconsidéré après chaque interruption.
  • Chaque événement provoque une interruption des tâches en cours d'exécution
  • Le système d'exploitation s'assure que l'utilisation du processeur est la même pour tous les processus en cours d'exécution.
  • En cela, l'utilisation du processeur est la même, c'est-à-dire que tous les processus en cours utiliseront également le processeur.
  • Cette méthode d'ordonnancement improvise également le temps de réponse moyen.
  • La planification préventive est bénéfique lorsque nous l'utilisons pour l'environnement multi-programmation.

Avantages de la planification non préemptive

Voici les avantages / avantages de la méthode de planification non préemptive:

  • Offre de faibles frais généraux de planification
  • A tendance à offrir un débit élevé
  • C'est une méthode conceptuellement très simple
  • Moins de ressources informatiques nécessaires pour la planification

Inconvénients de la planification préventive

Voici les inconvénients / inconvénients de la méthode de planification préventive:

  • Besoin de ressources de calcul limitées pour la planification
  • Prend plus de temps au planificateur pour suspendre la tâche en cours d'exécution, changer de contexte et distribuer la nouvelle tâche entrante.
  • Le processus qui a une faible priorité doit attendre plus longtemps si certains processus hautement prioritaires arrivent en continu.

Inconvénients de la planification non préventive

Voici les inconvénients / inconvénients de la méthode de planification non préventive:

  • Cela peut conduire à la famine, en particulier pour ces tâches en temps réel
  • Les bugs peuvent faire geler une machine
  • Cela peut rendre difficile la planification en temps réel et prioritaire
  • Mauvais temps de réponse pour les processus

Exemple de planification non préventive

Dans la planification SJF non préemptive, une fois que le cycle CPU est alloué au processus, le processus le maintient jusqu'à ce qu'il atteigne un état d'attente ou se termine.

Considérez les cinq processus suivants ayant chacun leur propre heure de rafale et heure d'arrivée.

File d'attente de processus Temps de rafale Heure d'arrivée
P1 6 2
P2 2 5
P3 8 1
P4 3 0
P5 4 4

Étape 0) Au temps = 0, P4 arrive et commence l'exécution.

Étape 1) Au temps = 1, le processus P3 arrive. Mais, P4 a encore besoin de 2 unités d'exécution pour terminer. Il continuera l'exécution.

Étape 2) Au temps = 2, le processus P1 arrive et est ajouté à la file d'attente. P4 continuera l'exécution.

Étape 3) Au temps = 3, le processus P4 terminera son exécution. Le temps de rafale de P3 et P1 est comparé. Le processus P1 est exécuté car son temps de rafale est inférieur à P3.

Étape 4) Au temps = 4, le processus P5 arrive et est ajouté à la file d'attente. P1 continuera l'exécution.

Étape 5) Au temps = 5, le processus P2 arrive et est ajouté à la file d'attente. P1 continuera l'exécution.

Étape 6) Au temps = 9, le processus P1 terminera son exécution. Le temps de rafale de P3, P5 et P2 est comparé. Le processus P2 est exécuté car son temps de rafale est le plus bas.

Étape 7) Au temps = 10, P2 est en cours d'exécution et P3 et P5 sont dans la file d'attente.

Étape 8) Au temps = 11, le processus P2 terminera son exécution. Le temps de rafale de P3 et P5 est comparé. Le processus P5 est exécuté car son temps de rafale est inférieur.

Étape 9) Au temps = 15, le processus P5 terminera son exécution.

Étape 10) Au temps = 23, le processus P3 terminera son exécution.

Étape 11) Calculons le temps d'attente moyen pour l'exemple ci-dessus.

Wait timeP4= 0-0=0P1= 3-2=1P2= 9-5=4P5= 11-4=7P3= 15-1=14Average Waiting Time= 0+1+4+7+14/5 = 26/5 = 5.2

Exemple de planification préventive

Considérez ceci suivant les trois processus dans Round-robin

File d'attente de processus Temps de rafale
P1 4
P2 3
P3 5

Étape 1) L'exécution commence par le processus P1, qui a un temps de rafale 4. Ici, chaque processus s'exécute pendant 2 secondes. P2 et P3 sont toujours dans la file d'attente.

Étape 2 ) Au temps = 2, P1 est ajouté à la fin de la file d'attente et P2 commence à s'exécuter

Étape 3) Au temps = 4, P2 est préempté et ajouté à la fin de la file d'attente. P3 commence à s'exécuter.

Étape 4) Au temps = 6, P3 est préempté et ajouté à la fin de la file d'attente. P1 commence à s'exécuter.

Étape 5) Au temps = 8, P1 a un temps de rafale de 4. Il a terminé l'exécution. P2 commence l'exécution

L'étape 6) P2 a un temps de rafale de 3. Elle a déjà été exécutée pendant 2 intervalles. Au temps = 9, P2 termine l'exécution. Ensuite, P3 démarre l'exécution jusqu'à ce qu'elle se termine.

Étape 7) Calculons le temps d'attente moyen pour l'exemple ci-dessus.

Wait timeP1= 0+ 4= 4P2= 2+4= 6P3= 4+3= 7

DIFFÉRENCES CLÉS

  • Dans la planification préventive, la CPU est allouée aux processus pour une période de temps spécifique, et la CPU de planification non préemptive est allouée au processus jusqu'à ce qu'il se termine.
  • Dans la planification préemptive, les tâches sont commutées en fonction de la priorité tandis que la planification non préemptive aucune commutation n'a lieu.
  • L'algorithme préemptif a la surcharge de basculer le processus de l'état prêt à l'état en cours d'exécution tandis que la planification non préemptive n'a pas une telle surcharge de commutation.
  • La planification préemptive est flexible tandis que la planification non préemptive est rigide.