Prioritārā plānošanas algoritms: Preemptive, Non-Preemptive PIEMĒRS

Satura rādītājs:

Anonim

Kas ir prioritārā plānošana?

Prioritātes plānošana ir procesu plānošanas metode, kuras pamatā ir prioritāte. Šajā algoritmā plānotājs atlasa uzdevumus darbam atbilstoši prioritātei.

Vispirms būtu jāveic procesi ar augstāku prioritāti, turpretī darbavietas ar vienādām prioritātēm tiek veiktas pēc apļa vai FCFS principa. Prioritāte ir atkarīga no atmiņas prasībām, laika prasībām utt.

Šajā operētājsistēmas apmācībā jūs uzzināsiet:

  • Kas ir prioritārā plānošana?
  • Prioritāšu plānošanas veidi
  • Prioritārā plānošanas raksturojums
  • Prioritātes plānošanas piemērs
  • Prioritātes plānošanas priekšrocības
  • Prioritātes plānošanas trūkumi

Prioritāšu plānošanas veidi

Prioritārā plānošana, kas sadalīta divos galvenajos veidos:

Iepriekšēja plānošana

Programmā Preemptive Scheduling uzdevumi galvenokārt tiek piešķirti atbilstoši to prioritātēm. Dažreiz ir svarīgi izpildīt uzdevumu ar augstāku prioritāti pirms cita zemākas prioritātes uzdevuma, pat ja zemākas prioritātes uzdevums joprojām darbojas. Zemākas prioritātes uzdevums tiek turēts kādu laiku un tiek atsākts, kad augstākas prioritātes uzdevums pabeidz izpildi.

Neplānojoša plānošana

Šāda veida plānošanas metodē CPU ir piešķirts noteiktam procesam. Process, kas uztur CPU aizņemtu, atbrīvos CPU vai nu, pārslēdzot kontekstu vai pārtraucot. Tā ir vienīgā metode, ko var izmantot dažādām aparatūras platformām. Tas ir tāpēc, ka tam nav nepieciešama īpaša aparatūra (piemēram, taimeris), piemēram, preventīva plānošana.

Prioritārā plānošanas raksturojums

  • Procesora algoritms, kas plāno procesus, pamatojoties uz prioritāti.
  • To operētājsistēmās izmantoja pakešu procesu veikšanai.
  • Ja divi darbi ar vienu un to pašu prioritāti ir GATAVI, tas darbojas pēc PIRMĀS NĀKŠANAS, PIRMAIS KOPŠANAS.
  • Prioritātes plānošanā katram procesam tiek piešķirts numurs, kas norāda tā prioritātes līmeni.
  • Zemāks skaitlis, augstāka ir prioritāte.
  • Šāda veida plānošanas algoritmā, ja pienāk jaunāks process, kuram ir augstāka prioritāte nekā pašlaik notiekošajam procesam, pašreiz notiekošais process tiek atcelts.

Prioritātes plānošanas piemērs

Apsveriet sekojošus piecus procesus no P1 līdz P5. Katram procesam ir sava unikālā prioritāte, sērijas laiks un ierašanās laiks.

Process Prioritāte Sprādziena laiks Ierašanās laiks
P1 1 4 0
P2 2 3 0
P3 1 7 6
P4 3 4 11
P5 2 2 12

0. solis) Laikā = 0, pienāk process P1 un P2. P1 ir augstāka prioritāte nekā P2. Izpilde sākas ar procesu P1, kura sprādziena laiks ir 4.

1. solis. Laikā = 1, jauns process nenonāk. Izpilde turpinās ar P1.

2. solis. 2. laikā jauns process nenonāk, tāpēc jūs varat turpināt ar P1. P2 atrodas gaidīšanas rindā.

3. solis. 3. brīdī jauns process nenonāk, lai jūs varētu turpināt darbu ar P1. P2 process joprojām ir gaidīšanas rindā.

4. solis. Laikā 4 P1 ir pabeidzis izpildi. P2 sāk izpildi.

5. solis) Laikā = 5, jauns process nenonāk, tāpēc mēs turpinām ar P2.

6. solis) Laikā = 6, pienāk P3. P3 ir augstākā prioritātē (1), salīdzinot ar P2, kam ir prioritāte (2). P2 ir izslēgts, un P3 sāk tā izpildi.

Process Prioritāte Sprādziena laiks Ierašanās laiks
P1 1 4 0
P2 2 Gaida 1 no 3 0
P3 1 7 6
P4 3 4 11
P5 2 2 12

7. solis. 7. brīdī nenonāk jauns process, tāpēc mēs turpinām ar P3. P2 atrodas gaidīšanas rindā.

8. solis) Laikā = 8, jauns process nenonāk, tāpēc mēs varam turpināt darbu ar P3.

9. solis) Laikā = 9, jauns process nenāk, lai mēs varētu turpināt darbu ar P3.

10. solis . Laika intervālā 10 jauns process nenotiek, tāpēc mēs turpinām ar P3

11. solis) Laikā = 11, P4 pienāk ar 4. prioritāti. P3 ir augstāka prioritāte, tāpēc tā turpina izpildi.

Process Prioritāte Sprādziena laiks Ierašanās laiks
P1 1 4 0
P2 2 Gaida 1 no 3 0
P3 1 2 no 7 gaida 6
P4 3 4 11
P5 2 2 12

12. solis) Laikā = 12, pienāk P5. P3 ir augstāka prioritāte, tāpēc tā turpina izpildi.

13. solis) Laikā = 13, P3 izpildi pabeidz. Mums ir gatavi rindā P2, P4, P5. P2 un P5 prioritāte ir vienāda. P2 ierašanās laiks ir pirms P5. Tātad P2 sāk izpildi.

Process Prioritāte Sprādziena laiks Ierašanās laiks
P1 1 4 0
P2 2 Gaida 1 no 3 0
P3 1 7 6
P4 3 4 11
P5 2 2 12

14. solis. Laikā = 14 P2 process ir pabeidzis izpildi. P4 un P5 ir gaidīšanas stāvoklī. P5 ir visaugstākā prioritāte, un tā sāk izpildi.

15. solis) Laikā = 15, P5 turpina izpildi.

16. solis) Laikā = 16, P5 ir pabeigts ar tā izpildi. P4 ir vienīgais atlikušais process. Tas sāk izpildi.

17. solis) Laikā = 20, P5 izpilde ir pabeigta, un process nav atstāts.

18. solis) Aprēķināsim iepriekšminētā piemēra vidējo gaidīšanas laiku.

Gaidīšanas laiks = sākuma laiks - ierašanās laiks + gaidīšanas laiks nākamajam pārrāvumam

P1 = o - o = oP2 =4 - o + 7 =11P3= 6-6=0P4= 16-11=5Average Waiting time = (0+11+0+5+2)/5 = 18/5= 3.6

Prioritātes plānošanas priekšrocības

Šeit ir prioritātes plānošanas metodes izmantošanas priekšrocības / plusi:

  • Viegli izmantojama plānošanas metode
  • Procesi tiek izpildīti, pamatojoties uz prioritāti, tāpēc augsta prioritāte nav ilgi jāgaida, kas ietaupa laiku
  • Šī metode nodrošina labu mehānismu, kurā var precīzi noteikt katra procesa relatīvo svarīgumu.
  • Piemērots lietojumiem ar mainīgām laika un resursu prasībām.

Prioritātes plānošanas trūkumi

Šeit ir prioritārās plānošanas mīnusi / trūkumi

  • Ja sistēma beidzot avarē, visi zemas prioritātes procesi pazūd.
  • Ja augstas prioritātes procesiem nepieciešams daudz CPU laika, tad zemākas prioritātes procesi var nomirt badā un tiks atlikti uz nenoteiktu laiku.
  • Šis plānošanas algoritms var atstāt bezgalīgi gaidīt dažus zemas prioritātes procesus.
  • Process būs bloķēts, kad tas būs gatavs darbībai, bet tam jāgaida centrālais procesors, jo pašlaik darbojas kāds cits process.
  • Ja gatavā rindā turpina nākt jauns augstākas prioritātes process, gaidīšanas stāvoklī esošajam procesam, iespējams, būs jāgaida ilgs laiks.

Kopsavilkums:

  • Prioritātes plānošana ir procesu plānošanas metode, kuras pamatā ir prioritāte. Šajā algoritmā plānotājs atlasa uzdevumus darbam atbilstoši prioritātei.
  • Prioritārajā plānošanā uzdevumi galvenokārt tiek piešķirti atbilstoši to prioritātēm.
  • Prioritārās nepreferenciālās plānošanas metodē CPU ir piešķirts konkrētam procesam.
  • Procesi tiek izpildīti, pamatojoties uz prioritāti, tāpēc augsta prioritāte nav ilgi jāgaida, kas ietaupa laiku
  • Ja augstas prioritātes procesiem nepieciešams daudz CPU laika, tad zemākas prioritātes procesi var nomirt badā un tiks atlikti uz nenoteiktu laiku.