4. Ko'p ishlov berishda qayta ishlashda multiprogramma
Ko'p ishlov berishda qayta ishlashda multiprogramma
Multiprotsessing - bu tizimni turli protsessorlarida bir vaqtning o'zida bir nechta vazifalar (jarayonlar, iplar) bajarilishi mumkin bo'lgan bir nechta protsessorli tizimlarda hisoblash jarayonini tashkil etish usuli. Multiprotsessorli hisoblash tizimlari 1980 yillarning o'rtalarida paydo bo'la boshladi. va hozirda shaxsiy kompyuter arxitekturasida ham bir nechta protsessorlarga ega bo'lish odatiy holdir. Bundan tashqari, ko'p ishlov berish hozirgi kunda katta kompyuter tarmog'ining markaziy serveri sifatida foydalaniladigan kompyuterlar uchun zarur talablardan biri hisoblanadi. Ko'p protsessorli tizimlarda bir vaqtning o'zida bir nechta vazifalarni bajarish mumkin, chunki bir nechta ishlov berish moslamalari - protsessorlar mavjud. Shubhasiz, ko'p ishlov berish multiprogramlashni istisno etmaydi - har bir protsessorda ma'lum protsessorga berilgan vazifalar to'plami navbatma-navbat bajarilishi mumkin.
Tizimning ko'p protsessorli tashkiloti barcha resurslarni boshqarish algoritmlarini murakkablashishiga olib keladi. Masalan, masalan, jarayonlar ishini bir emas, balki bir nechta protsessorlar uchun rejalashtirish talab qilinadi, bu ancha murakkab. Qiyinliklar, shuningdek, kiritish-chiqarish qurilmalari, ma'lumotlar, umumiy xotira va umumiy dasturlarga nisbatan ziddiyatlar sonining ko'payishida yotadi. Yadroning umumiy axborot tuzilmalariga kirishni blokirovka qilishning samarali vositalarini ta'minlash kerak. Ushbu muammolarning barchasi OS tomonidan jarayonlarni sinxronlashtirish, navbatga qo'yish va resurslarni rejalashtirish orqali hal qilinishi kerak. Bundan tashqari, OS o'zi o'z tarkibiy qismlari o'rtasidagi mavjud bog'liqlikni kamaytirishga mo'ljallangan bo'lishi kerak. Multiprotsessorli tizimlar simmetrik va assimetrik (assimetrik) tizimlarga bo'linadi. Shu bilan birga, ushbu xususiyat ko'p protsessorli tizimning qaysi tomoniga tegishli ekanligini aniq ajratish kerak - me'morchilik turiga yoki hisoblash jarayonini tashkil etish uslubiga. Birinchidan, ushbu ajralishning xususiyatlarini me'moriy nuqtai nazardan ko'rib chiqamiz. Ko'p protsessorli tizimning nosimmetrik arxitekturasi barcha protsessorlarning bir xilligini va protsessorlarni tizimning umumiy sxemasiga kiritilishining bir xilligini nazarda tutadi. An'anaviy nosimmetrik ko'p protsessorli konfiguratsiyalar barcha protsessorlarda bitta katta xotirani baham ko'radi va bitta xotirani xaritalash sxemasidan foydalanadi. Ular juda tez ma'lumot almashishlari mumkin, shu bilan ishlash bir nechta vazifalar bir-biri bilan faol ta'sir o'tkazishi kerak bo'lgan ushbu dasturlar uchun (masalan, ma'lumotlar bazalari bilan ishlashda) etarli darajada yuqori bo'ladi. Hozirgi vaqtda nosimmetrik ko'p ishlov berishni qo'llab-quvvatlash funktsiyalari MS Windows NT Workstation 4.0, Microsoft Windows Server 2003, Windows XP Professional, QNX Neutrino kabi barcha mashhur operatsion tizimlarda mavjud.
Nosimmetrik tizimlarda protsessorlar sonining ko'lamliligi (o'lchovliligi) ularning barchasi bir xil operativ xotiradan foydalanishi va shuning uchun bir xil shassida joylashgan bo'lishi sababli cheklangan. Vertikal ravishda kengaytiriladigan deb nomlangan ushbu dizayn deyarli to'rt yoki sakkiztagacha protsessorlar sonini cheklaydi.
Asimmetrik me'morchilikda turli xil protsessorlar o'zlarining xususiyatlari (ishlashi, ishonchliligi, ko'rsatmalar to'plami va boshqalar, mikroprotsessor modeliga qadar) va tizimda ularga berilgan funktsional rollari bilan farq qilishi mumkin. Masalan, ba'zi protsessorlar asosiy kompyuterlar sifatida, boshqalari kiritish-chiqarish quyi tizimini boshqarish uchun, boshqalari esa boshqa maqsadlar uchun ishlab chiqilishi mumkin. Asimmetrik me'morchilikdagi funktsional heterojenlik turli xil tizim protsessorlarini o'z ichiga olgan tizim qismlarining tarkibiy farqlarini keltirib chiqaradi. Masalan, ular protsessorlarni tizim shinasiga ulash sxemalarida, periferik qurilmalar to'plamida va protsessorlarning qurilmalar bilan o'zaro ta'sirida farq qilishi mumkin.
Asimmetrik me'morchilikda masshtablash nosimmetrikga qaraganda boshqacha tarzda amalga oshiriladi. "Bitta ish" uchun talab yo'qligi sababli, tizim bir nechta qurilmalardan iborat bo'lishi mumkin, ularning har biri bir yoki bir nechta protsessorni o'z ichiga oladi - gorizontal ravishda masshtablash. Har bir bunday qurilma klaster, butun ko'p protsessorli tizim esa klaster deb ataladi. Ko'p protsessorli tizimlarni tashkil etish xususiyatlarini me'morchilik nuqtai nazaridan ko'rib chiqib, ularni tashkil etish xususiyatlarini hisoblash jarayoni nuqtai nazaridan ta'kidlaymiz.
Asimmetrik multiprocessing - bu bir nechta protsessorli tizimlarda hisoblash jarayonini tashkil etishning eng oddiy usuli. Ushbu usul ba'zan an'anaviy ravishda "xo'jayin-qul" deb nomlanadi. Tizimning "master-slave" printsipiga muvofiq ishlashi protsessorlardan birini "usta" sifatida ajratishni nazarda tutadi, bu erda OS ishlaydi va qolgan barcha "qul" protsessorlarni boshqaradi. Bunday holda, "master" protsessor vazifalar va resurslarni taqsimlash funktsiyalarini o'z zimmasiga oladi, "qul" protsessorlar faqat ishlov berish moslamalari sifatida ishlaydi va hisoblash tizimining ishlashini tashkil qilish uchun biron bir harakatni amalga oshirmaydi. OS faqat bitta protsessorda ishlashini va boshqaruv funktsiyalari markazlashganligini hisobga olsak, bunday tizim murakkabligi bo'yicha uniprotsessor tizimining operatsion tizimiga o'xshaydi.
Shuni ta'kidlash kerakki, hisoblash jarayonining assimetrik tashkil etilishi simmetrik multiprotsessor arxitekturasi uchun ham amalga oshirilishi mumkin, bunda barcha protsessorlarni apparat ajratib bo'lmaydi, va assimetrik uchun ham protsessorlarning heterojenligi, ularning apparatda ixtisoslashuvi. Daraja. Me'moriy jihatdan assimetrik tizimlarda eng ishonchli va samarali protsessor asosiy protsessor roliga berilishi mumkin. Agar protsessorlar to'plami ixtisoslashgan protsessorga ega bo'lsa, masalan, matritsali hisob-kitoblarga yo'naltirilgan bo'lsa, unda jarayonlarni rejalashtirishda assimetrik ko'p ishlov berishni amalga oshiradigan OS ushbu protsessorning o'ziga xos xususiyatlarini hisobga olish kerak. Ushbu ixtisoslashuv umuman tizimning ishonchliligini pasaytiradi, chunki protsessorlarni almashtirib bo'lmaydi.
Nosimmetrik ko'p ishlov berish hisoblash jarayonini tashkil etish usuli sifatida (protsessorlar umumiy qurilmalar va umumiy asosiy xotira bilan ishlaydi) faqat nosimmetrik multiprotsessor arxitekturasiga ega tizimlarda amalga oshirilishi mumkin. Nosimmetrik ko'p ishlov berish barcha protsessorlar uchun umumiy bo'lgan OS tomonidan amalga oshiriladi. Nosimmetrik tashkilot bilan barcha protsessorlar hisoblash jarayonini boshqarishda va qo'llaniladigan vazifalarni bajarishda teng ravishda qatnashadilar. Masalan, ma'lum bir protsessorda ishlaydigan dastur jarayonidagi ma'lumotlarni bosib chiqaradigan printerdan uzilish signalini butunlay boshqa protsessor qayta ishlashi mumkin. Turli xil protsessorlar bir vaqtning o'zida bir vaqtning o'zida umumiy operatsion tizimning har xil va bir xil modullariga xizmat qilishlari mumkin, ammo operatsion tizim qayta kirish xususiyatiga ega bo'lishi kerak. Shuni ta'kidlash kerakki, nosimmetrik tizimlarning assimetrik tizimlarga nisbatan katta ustunligi shundaki, protsessorlardan biri ishlamay qolganda, nosimmetrik tizimlar, qoida tariqasida, qayta konfiguratsiyani osonlashtiradi.
Do'stlaringiz bilan baham: |