Simmetrik ko'p protsessorli tizimni tashkil etish. Shaklda. 2.2.2-rasmda simmetrik ko'p protsessorli tizimning umumiy arxitekturasi ko'rsatilgan. U bir nechta protsessorlarga ega, ularning har biri o'z boshqaruv bloki, arifmetik mantiq birligi va o'z registrlarini o'z ichiga oladi. Har bir protsessor umumiy asosiy xotira va kiritish-chiqarish qurilmalariga kirish huquqiga ega. Ushbu kirish ba'zi o'zaro ta'sir mexanizmi orqali amalga oshiriladi; An'anaga ko'ra, bunday mexanizm sifatida umumiy avtobus ishlaydi. Protsessorlar umumiy xotira (ya'ni, umumiy manzil maydonida saqlanadigan xabarlar va holat ma'lumotlari) orqali bir-biri bilan bog'lanishi mumkin. Bundan tashqari, protsessorlar signallarni to'g'ridan-to'g'ri almashishi mumkin. Xotira ko'pincha uning alohida bloklariga bir vaqtning o'zida bir nechta kirish imkonini beruvchi tashkilotga ega.
Qoida tariqasida, zamonaviy mashinalarda protsessorlar o'z keshining kamida bitta darajasiga ega. Uning qo'llanilishi operatsion tizimlar arxitekturasini ko'rib chiqishning yangi tomonlarini kiritadi. Har bir mahalliy kesh asosiy xotiraning ma'lum bir qismining tasvirini saqlaganligi sababli, bitta keshdagi so'zni o'zgartirish boshqa keshdagi mos keladigan so'zning noto'g'ri bo'lishiga olib kelishi mumkin. Buning oldini olish uchun keshda so'z bo'lgan barcha protsessorlar uni o'zgartirish haqida xabardor qilinishi kerak. Ushbu muammo kesh kogerentligi muammosi sifatida tanilgan va operatsion tizimga qaraganda ko'proq apparat bilan bog'liq.
2.2.2-rasm. Simmetrik ko'p protsessorli tizim arxitekturasi
Ko'p protsessorli operatsion tizimlar arxitekturasi.Simmetrik ko'p protsessorli tizim uchun mo'ljallangan operatsion tizim kompyuterning protsessorlari va boshqa resurslarini shunday boshqaradiki, foydalanuvchi nuqtai nazaridan ko'p protsessorli tizim ko'p vazifali bir protsessorli tizim bilan bir xil ko'rinadi. Foydalanuvchi bir yoki bir nechta protsessorlar mavjud bo'ladimi yoki yo'qmi, deb o'ylamasdan, bir nechta jarayonlar yoki jarayonlarda bir nechta oqimlar yordamida ilovalar yaratishi mumkin. Shunday qilib, ko'p protsessorli operatsion tizim ko'p vazifali tizimning barcha funktsiyalarini bajarishi, shuningdek, hisob-kitoblarni protsessorlar o'rtasida taqsimlash uchun qo'shimcha imkoniyatlarga ega bo'lishi kerak. Bunday operatsion tizimning arxitektura xususiyatlariga quyidagilar kiradi.
Bir vaqtning o'zida parallel jarayonlar yoki iplar. Bir vaqtning o'zida bir nechta turli jarayonlar bir xil yadro kodini bajarishi uchun u qayta kirishi kerak. Bir nechta protsessorlar bir xil yadro kodini (yoki uning turli qismlarini) bajarganda, blokirovkalarni yoki operatsiyaning noto'g'ri bajarilishini oldini olish uchun jadvallar va yadro boshqaruv tuzilmalarini boshqarishni tashkil qilish kerak.
Rejalashtirish. Rejalashtirish protsessorlarning har qandayida amalga oshirilishi mumkin, shuning uchun nizolarni oldini olish mexanizmini ta'minlash kerak. Yadro darajasidagi ko'p ish zarralari bilan bir xil jarayonning bir nechta iplari turli protsessorlarda ishlashi mumkin. Ko‘p protsessorli tizimlarda rejalashtirish “Ko‘p protsessorli va real vaqtda rejalashtirish” 10-bobida yoritilgan.
Sinxronizatsiya. Bir nechta faol jarayonlar umumiy manzil bo'shliqlari yoki kiritish-chiqarish resurslariga kirish imkoniga ega bo'lgan vaziyatda ularni samarali sinxronlashtirishga e'tibor berish kerak. Sinxronizatsiya - bu o'zaro istisnolarni amalga oshirish va hodisalarni tartibga solish vositasi. Ko'p protsessorli operatsion tizimlarda umumiy sinxronlash mexanizmi qulflash bo'lib, u "Paralel hisoblash: o'zaro istisno va ko'p vazifalar" 5-bobida tasvirlangan.