Үндсэн ялгаа – Олон боловсруулалт ба олон урсгалтай
Компьютерийн системд нэгэн зэрэг хэд хэдэн процесс ажиллаж байна. Үйлдлийн систем нь процессуудад нөөцийг хуваарилдаг бөгөөд CPU-ийн ашиглалтыг нэмэгдүүлэх шаардлагатай. Multiprocessing болон multithreading нь системийн гүйцэтгэлд нөлөөлж болно. Multiprocessing болон multithreading хоёрын гол ялгаа нь олон процессорд хоёр буюу түүнээс дээш процессор ашиглан олон процесс нэгэн зэрэг ажилладаг бол олон урсгалтай үед процессын олон урсгалууд зэрэг ажилладаг. Энэ нийтлэлд multiprocessing болон multithreading хоёрын ялгааг авч үзэх болно.
Олон боловсруулалт гэж юу вэ?
Олон боловсруулалт гэдэг нь хоёр ба түүнээс дээш процессор ашиглан олон процессыг зэрэг ажиллуулах явдал юм. Олон төрлийн боловсруулалтын механизмууд өөр өөр байдаг. Эдгээр нь тэгш хэмтэй олон боловсруулалт ба тэгш бус олон боловсруулалт юм.
Зураг 01: Тэгш хэмтэй олон боловсруулалт
Symmetric Multiprocessing-д процессор бүр өөрийн кэштэй бөгөөд бүх процессорууд дундын автобусаар холбогддог. Дундын санах ой байгаа тул бүх процессорууд ижил санах ойн хаягийн зайг хуваалцаж байна. Энэ аргын нэг хязгаарлалт нь процессорын тоо нэмэгдэх тусам үндсэн санах ойд хандах нь удааширч магадгүй юм. Процессорууд систем дээрх ямар ч процессыг чөлөөтэй ажиллуулах боломжтой.
Асимметрийн олон процесст процессорууд мастер-боол архитектурын дагуу ажилладаг. Мастер процессор нь боол процессоруудад процесс хуваарилдаг.
Multreading гэж юу вэ?
Компьютерийн систем дээр нэгэн зэрэг олон процесс ажиллаж байна. Процесс нь хэрэгжиж буй програм юм. MS Word дээр ажиллахыг процесс гэж үзэж болно. MS Word програмыг ашиглахдаа дүрэм, зөв бичгийн дүрмийг шалгадаг. Энэ нь дэд процесс эсвэл дэд даалгавар юм. Ийм байдлаар үндсэн процессыг дэд процессуудад хуваадаг. Эдгээр дэд процессууд нь процессын нэгжүүд бөгөөд тэдгээрийг урсгал гэж нэрлэдэг. Тиймээс процесс нь даалгавартай төстэй бөгөөд урсгал нь процессын нэгж юм.
Thread нь програмын тоолуур, урсгалын тоолуур, регистрийн багц, урсгалын ID болон стекээс бүрдэнэ. Даалгавар бүрийн процессыг бий болгох нь үр дүнтэй арга биш юм. Тиймээс процессыг олон хэлхээнд хуваадаг. Эдгээр олон хэлхээнүүд процесс дээр нэгэн зэрэг ажиллаж байна. Энэ ойлголтыг 'Multi-threading' гэж нэрлэдэг.
Зураг 02: Олон урсгалтай процесс
Multi-threading-д зарим давуу тал бий. Процессын урсгал бүр ижил код, өгөгдөл, нөөцийг хуваалцдаг. Урсгал бүрд нөөцийг тусад нь хуваарилах шаардлагагүй тул утас ашиглах нь хэмнэлттэй байдаг. Хэрэв нэг хэлхээ бүтэлгүйтвэл энэ нь процесст нөлөөлөхгүй. Утас нь хөнгөн жинтэй бөгөөд процесстой харьцуулахад хамгийн бага нөөц зарцуулдаг.
Олон боловсруулалт болон олон урсгалт хоёрын ижил төстэй талууд юу вэ?
- Хоёр арга нь CPU-ийн ашиглалтыг нэмэгдүүлэх боломжтой.
- Хоёр арга нь тооцоолох хурдыг нэмэгдүүлэх боломжтой.
Олон боловсруулалт ба олон урсгалт хоёрын ялгаа нь юу вэ?
Multiprocessing vs Multithreading |
|
Олон боловсруулалт гэдэг нь системийн гүйцэтгэлийг сайжруулахын тулд хоёр ба түүнээс дээш процессыг зэрэгцүүлэн олон процессуудыг гүйцэтгэх явдал юм. | Multithreading нь системийн гүйцэтгэлийг сайжруулахын тулд олон урсгалыг нэгэн зэрэг гүйцэтгэх явдал юм. |
Гүйцэтгэл | |
Олон боловсруулалтад олон процесс зэрэг ажиллаж байна. | Multreading-д нэг процесс дахь олон хэлхээ зэрэг ажиллаж байна. |
Нөөцөд тавигдах шаардлага | |
Олон боловсруулалт хийхэд илүү их нөөц шаардлагатай. | Multithreading нь олон нөөц шаарддаггүй; тиймээс илүү хэмнэлттэй. |
Хураангуй – Олон боловсруулалт ба Олон урсгалтай
Олон боловсруулалт болон олон урсгалт нь компьютерийн гүйцэтгэлд нөлөөлж болно. Multiprocessing болон Multithreading хоёрын ялгаа нь олон процессорд хоёр буюу түүнээс дээш процессор ашиглан олон процесс нэгэн зэрэг ажиллаж байгаа бөгөөд олон урсгалтай үед нэг процесс дахь олон урсгал зэрэг ажилладаг. Хурд болон CPU-ийн ашиглалтыг нэмэгдүүлэхийн тулд олон процессор дээр олон урсгалтай болгох боломжтой.
Multiprocessing ба Multithreading-ийн PDF хувилбарыг татаж авах
Та энэ нийтлэлийн PDF хувилбарыг татаж аваад офлайн зорилгоор ашиглах боломжтой. PDF хувилбарыг эндээс татаж авна уу Multiprocessing and Multithreading-ийн ялгаа