2.5. Jarayonlarni rejalashtirish algoritmlari First-Come-First-Served (FCFS) algoritmi First-Come-First-Served (kelish tartibida xizmat ko‘rsatish,
ya’ni, birinchi kelganga birinchi xizmat ko‘rsatish (FIFO) kabi bir xil)
– algoritmi eng oddiy rejalashtirish algoritmi bo‘lib, bunda
protsessorning resurslari jarayonlarga ular iste’mol qiladigan
resurslarga, xususan, jarayonning bajarilishi uchun talab qilinadigan u
bildirgan vaqtga bog‘liq bo‘lmagan holda tizimga kelishi (kirishi)
tartibida taqdim etiladi. Bu va boshqa algoritmlarni ko‘rib chiqishda
jarayonlarning nomlari va ularning qandaydir vaqt birliklarida
ifodalanadigan bajarilish vaqt diapazonlarini Gant diagrammalaridan
(Gantt charts) foydalanib aniqlaymiz.
Quyidagi misolni ko‘rib chiqamiz. J1, J2 va J3 jarayonlar
quyidagi aktivliklar davrlari bilan ko‘rsatilgan tartibda tizimga
kiritilgan bo‘lsin:
72
2.3- jadval
Jarayon
Aktivlik davri
J1
24
J2
3
J3
3
U holda ularni rejalashtirish uchun FCFS algoritmidan
foydalanishda
protsessorni
birinchi
bo‘lib
uzoq
bo‘lishiga
qaramasdan, birinchi jarayonni oladi. Bu holda protsessorni jarayonlar
orasida taqsimlanishi 2.18- rasmda tasvirlangan.
2.18- rasm. FCFS algoritmi bo‘yicha rejalashtirish sxemasi (1- misol)
Shunday qilib, kutish vaqti J1 = 0; J2= 24; J3 = 27 bo‘ladi.
O‘rtacha kutish vaqti: (0 + 24 + 27)/3 = 17
Agar jarayonlar tartibi boshqacha - J2, J3, J1 bo‘lsa (tizimga
oxirgi kiritilgan jarayon – eng uzoq), u holda ularni rejalashtirish
natijasi mutlaqo boshqacha bo‘ladi (2.19- rasm).
2.19- rasm. FCFS algoritmi bo‘yicha rejalashtirish sxemasi (2- misol)
Bu holda jarayonlarni kutish vaqti: J1 = 6; J2 = 0; J3 = 3.
O‘rtacha kutish vaqti: (6 + 0 + 3)/3 = 3
Bu natija oldingi natijaga qaraganda ancha yaxshi. Birinchi
misol namoyish etgan natija samarasi (convoy effect) – qisqa jarayon
73
uzoq jarayondan keyin xizmat ko‘rsatiladigan hollarda jarayonlarni
o‘rtacha kutish vaqtini ortishi deyiladi.