Dispatcher
Диспетчер (Англи: dispatch „илгээх“, „гүйцээх“, „дуусгах“[1]) нь тодорхой нэгэн байгууллагын удирдлагын түвшинд, байгаа нөөцөө ашиглан түүний мэдээллийн- ба үйл ажиллагааны урсгалыг хамгийн оновчтойгоор удирдан зохицуулагч хүн юм. Өөрөөр хэлбэл диспетчер нь ажил гүйцэтгэж буй улсуудын алдааг засаж сайжруулахад дэмжин ажиллана.
Мэдээллийн технологи
засварлахМэдээллийн технологид диспетчер нь хуваарилагчийн дараа тоглоход зориулагдсан тусгай програм юм.Хуваарилагч нь үйл явцыг сонгох ажил дууссаны дараа диспетчер нь энэ үйл явцыг хүссэн төлөв дараалалд хүргэдэг. Диспетчер гэдэг нь процессорыг богино хугацааны хуваарь сонгогдсон процесс руу хянах модуль юм. Энэ функц дараах зүйлсийг хамарна:
- Нөхцөлийг шилжүүлэх
- Хэрэглэгчийн горимд шилжих
- Хэрэглэгчийн програмд зөв байрлалд очиж тэр програмыг дахин эхлүүлэх
Төлөвлөгч
засварлахТөлөвлөгч нь төлөвлөх үйл явцыг янз бүрийн аргаар боловсруулдаг тусгай системийн програм хангамж юм.
Тэдний гол зорилго бол системд илгээх ажлыг сонгох, ямар процессыг гүйцэтгэхийг шийдэх явдал юм. Төлөвлөгч нь гурван төрөл байдаг:
- Урт хугацаа (ажлын) хуваарь: Жижиг хэмжээний ой санамжийн хэмжээгээр эхлээд бүх програмыг хоёрдогч санах ойд хадгалдаг.Тэд үндсэн санах ойд хадгалагдаж, эсвэл дуудагддаг бол түүнийг процесс гэж нэрлэдэг.Энэ нь бэлэн дараалалд хичнээн процесс үлдэх урт хугацааны хуваарилагчийн шийдвэр юм.Тиймээс урт хугацааны хуваарьт энгийн үг хэллэгээр системийг олон програмчлалын түвшинг тогтооно.
- Дунд хугацааны хуваарь: Ихэнхдээ ажиллаж байгаа процесс нь CPU-ыг шаарддаггүй I / O үйлдлийг шаарддаг. I / O-ийн ажиллагаа шаардлагатай үед процессын систем нь энэ процессыг хаагдсан дараалалд илгээдэг. Үйл явц нь I / O үйл ажиллагааг дуусгасны дараа дахиж дууссан дараалалд очно. Эдгээр бүх шийдвэрийг дунд хугацааны төлөвлөгчөөр хийдэг.Дунд хугацааны хуваарь нь солилцооны нэг хэсэг юм.
- Богино хугацаа (CPU) хуваарилагч: Үндсэн санах ойд олон процессууд байдаг. Бүх процессын хүрээнд нэг процессыг гүйцэтгэлд сонгохоор сонгоно. Энэ шийдвэрийг богино хугацааны хуваарьаар зохицуулдаг. Доор үзүүлсэн зурагт харагдах болно.
Төлөвлөгч ба Диспетчерийн хоорондох ялгаа
засварлахЯнз бүрийн процессууд нь бэлэн дараалалд байгаа бөгөөд гүйцэтгэхийг хүлээж буй нөхцөл байдлыг авч үзье.Гэхдээ CPU нь бэлэн байдлын бүх процессийг нэгэн зэрэг хийж чадахгүй, үйлдлийн систем нь ашигладаг хуваарьт алгоритм дээр үндэслэсэн тусгай процессыг сонгох ёстой. Тиймээс янз бүрийн процессуудын хооронд процессыг сонгох процессыг хуваарилагч хийдэг. Одоо энд хуваарилагчийн ажил дуусав. Прожектор нь процессийг гүйцэтгэх талаар шийдвэр гаргах үед диспетчер дээр зураг ирдэг тул энэ процессыг одоогийн төлөв рүү дуусах дараалалаас хүлээн авдаг диспетчер юмуу эсвэл процессорын хувьд процессорын CPU-г хангах нь диспетчерийн-ийн үүрэг юм. Жишээ нь: Дууссан дараалалд 4 процесс байна, тэр нь P1, P2, P3, P4; Тэд бүгд t0, t1, t2, t3 дээр ирдэг. Эхний хуваарьлах алгоритм дээр эхнийх нь ашиглагдана. Тиймээс төлөвлөгч эхлээд бүх P1-ээс ирсэн гэж үзсэн тул үүнийг эхлээд хийх хэрэгтэй гэж шийдсэн. Одоо диспетчер одоогийн төлөвт P1 авдаг.
Диспетчерийн үүрэг
засварлахКонтентын унтраалга(context switch), хянагч урьд нь ажиллаж байсан процесс буюу утаснаас төлөв байдлыг (нөхцөл байдлаар нь бас мэддэг) хадгалж байдаг.
Дараа нь диспетчер нь шинэ процессын эхний эсвэл өмнөх хадгалагдсан төлвийг ачаална. Хэрэглэгчийн горимд шилжинэ. Хэрэглэгчийн програмд зөв байрлал руу очихын тулд шинэ төлөвөөрөө заагдсан хөтөлбөрийг дахин эхлүүлэх. Диспетчер нь процессийн шилжүүлгийн үед ажиллуулж байгаа тул аль болох хурдан ажиллах ёстой. Нөхцөл байдлын үед шилжүүлэгч процессор нь хэсэг хугацааны туршид бараг зогсолтгүй байдаг тул нөхцөл байдалд тохиромжгүй сэлгэхээс зайлсхийх хэрэгтэй. Нэг процессыг зогсоох, өөр нэгийг эхлүүлэхэд диспетчер шаардлагатай хугацаа нь илгээмжийн хоцрогдол гэж нэрлэдэг
Эшлэл
засварлах- ↑ Dispatcher (Memento 22. Аравдугаар сар 2021 цахим архивт) – Болор толь, 2018; мөн „удирдан зохицуулагч ажилтан“