Qilgan holda, ma'lum miqdordagi protsessorlar uchun jadval tuzilishi mumkin


Download 26.13 Kb.
Pdf ko'rish
Sana04.11.2023
Hajmi26.13 Kb.
#1746408
Bog'liq
4 AMLIY ISH KOM ARX



183 
qilgan holda, ma'lum miqdordagi protsessorlar uchun jadval tuzilishi mumkin. 
Parallel algoritm ishlash ko'rsatkichlari Hisoblashlarning ketma-ket versiyasiga 
nisbatan p protsessorlari uchun parallel algoritmdan foydalanganda olingan tezlik 
aniqlanadi. 
skaler kompyuterda masalalarni yechish vaqtining 
parallel algoritmni bajarish vaqtiga nisbati sifatida (n qiymati echilayotgan 
masalaning hisoblash murakkabligini parametrlash uchun ishlatiladi va masalan, 
kirish miqdori sifatida tushunish mumkin). muammo ma'lumotlari). Muammoni hal 
qilishda parallel algoritm bo'yicha protsessorlardan foydalanish samaradorligi 
quyidagi nisbat bilan aniqlanadi: 
(samaradorlik 
qiymati algoritmni bajarish vaqtining o'rtacha qismini aniqlaydi, bu vaqt davomida 
protsessorlar haqiqatda muammoni hal qilish uchun ishlatiladi). Yuqoridagi 
munosabatlardan kelib chiqadigan bo'lsak, eng yaxshi holatda Sp (n) = p va Ep (n) 
= 1. 4-bo'limda bu ko'rsatkichlar hisoblash matematikasining tipik masalalarini hal 
qilish uchun ko'rib chiqilgan bir qator parallel algoritmlar uchun aniqlanadi. 
 
 
 
 
4 Amaliy mashg’ulot: 
Mavzu: 
Virtual protsessor ish tartibini o‘rganish 
Ishdan maqsad: Dasturiy ta'minotni himoya qilishda virtual protsessorni o'rganish 
Nazariy qism 
Usulning mohiyati quyidagilardan iborat: ba'zi funktsiyalar, modullar yoki 
butun dastur ma'lum bir virtual protsessor ostida, potentsial tajovuzkorga noma'lum 
buyruqlar tizimi va arxitektura bilan tuzilgan. Amalga oshirish natijasida olingan 
kodga kiritilgan simulyator mavjud. Shunday qilib, himoyalangan fragmentlarni 
qayta qurish vazifasi simulyator arxitekturasini, u simulyatsiya qiladigan 
protsessorni o'rganishga, ikkinchisi uchun disassembler yaratishga va nihoyat, 
qismlarga ajratilgan kodni tahlil qilishga qisqartiriladi. Maqsadli mashinaning 


184 
arxitekturasi bilan ishlashda yaxshi bilim va tajribaga ega bo'lgan mutaxassis uchun 
ham bu vazifa ahamiyatsiz emas. Boshqa tomondan, tajovuzkor virtual protsessor 
arxitekturasining tavsifiga yoki foydalanilgan simulyatorni tashkil etish bo'yicha 
ma'lumotlarga kirish huquqiga ega emas. Yorilish narxi sezilarli darajada oshadi. 
Nima uchun yuqori nazariy samaradorlikni hisobga olgan holda, bu usul hali ham 
keng qo'llanilmaydi? Ko'rinib turibdiki, ikkita asosiy sababga ko'ra. Birinchidan, 
usul o'ziga xos xususiyatlarga ega, bu uning potentsial qo'llanilishi doirasini 
toraytiradi - bu quyida muhokama qilinadi. Ikkinchidan, va, ehtimol, bu yanada 
jiddiy sababdir, usulni amalga oshirishning murakkabligi (va shuning uchun narxi) 
juda yuqori. Agar biz yangi yaratilgan tizim haqida ma'lumotlarning chiqib 
ketishining fundamental ehtimolini hisobga olsak, bu darhol uning samarasizligi va 
devalvatsiyasiga olib keladi, nima uchun xavfsizlik dasturlarini ishlab 
chiqaruvchilar ushbu usulni amalga oshirishga shoshilmayotgani aniq bo'ladi. 
Ammo shuni ta'kidlash kerakki, ba'zi o'zgarishlar va cheklovlar bilan bu usul hali 
ham StarForce3, NeoGuard, VMProtect va boshqalar kabi eng yangi mahsulotlarda 
qo'llaniladi ... paydo bo'lgan ilovalar, hali ham zaif tomonlariga ega bo'lsa-da, 
usulning yuqori samaradorligini tasdiqlaydi.
Usulni amalga oshirish
Usulning kamchiliklaridan biri uni amalga oshirishning yuqori narxidir, 
ammo uni sezilarli darajada kamaytirish mumkin. Ushbu usulni amalga oshiradigan 
xavfsizlik tizimi yuqori darajadagi tildan kompilyatorga asoslangan bo'lishi 
mumkin. Har qanday kompilyatorda faqat bitta mashinaga bog'liq bosqich mavjud - 
kod ishlab chiqarish, qoida tariqasida, siz boshqa bosqichlarda bog'liqlikdan xalos 
bo'lishingiz mumkin. Agar kompilyator dastlab multiplatforma sifatida ishlab 
chiqilgan bo'lsa, u odatda boshqa maqsadli platformaga qayta konfiguratsiya 
jarayonini iloji boricha soddalashtiradi. Misol uchun, bunga maqsadli mashinaning 
o'ziga xos tavsifi asosida avtomatik ravishda kod generatorini yaratish orqali erishish 
mumkin. Bunday holda, ishlab chiquvchilar faqat platformani o'zgartirish uchun 
ushbu tavsifni o'zgartirishi kerak. Ammo sizda o'zingizning kompilyatoringiz 
bo'lmasa ham, siz erkin tarqatiladigan ochiq manbadan foydalanishingiz mumkin, 


185 
masalan, GCC. Va foydalanuvchining tavsiflangan himoya tizimi bilan ishlashini 
iloji boricha osonlashtirish uchun uni MSVC kabi mashhur ishlab chiqish muhitiga 
joylashtirish mexanizmlari bilan jihozlash mumkin. Bunday holda, bunday 
kompleksning ishlash sxemasi rasmda ko'rsatilganidek ko'rinishi mumkin. 1. 
Guruch. 1. Dasturiy ta'minotni himoya qilish sxemasi 
Shunga ko'ra, shu tarzda himoyalangan mahsulotning ishlashi rasmdagi 
diagramma bo'yicha davom etadi. 2. 


186 
Guruch. 2. Himoyalangan dasturiy mahsulotning sxemasi 
Kompilyatordan foydalanishning o'ziga xos xususiyatlari virtual protsessor 
uchun bir qator maxsus talablarni qo'yadi, ammo ularning barchasini osongina 
amalga oshirish mumkin. Bir nechta talablar mavjud - siz shunchaki virtual 
mashinaga, xotiraga nisbatan tashqi kirish imkoniyatini, shuningdek tashqi 
funktsiyalarni chaqirish qobiliyatini ta'minlashingiz kerak - bu himoyalangan va 
himoyalanmagan kodning o'zaro ta'siri uchun zarurdir. Aks holda, virtual 
protsessorning arxitekturasi butunlay o'zboshimchalik bilan bo'lishi mumkin va u 
qanchalik murakkab va original bo'lsa, himoya darajasi shunchalik yuqori bo'ladi. 
Kompilyatorning o'zi, kod ishlab chiqarish bosqichini o'zgartirishdan 
tashqari, uning imkoniyatlarini olish uchun o'zgartirilishi kerak: 
• Virtual protsessorga nisbatan ichki va tashqi xotiraga qo‘ng‘iroqlarni 
farqlash (jumladan, funksiya chaqiruvlari) 
• Simulyator orqali himoyalangan funksiyani chaqirib, haqiqiy protsessorda 
ishlaydigan har bir himoyalangan funksiya uchun qobiq deb ataladigan narsani 
yarating. Oxirgi imkoniyat batafsilroq tavsiflangan bo'lishi kerak. Shakldagi 


187 
diagrammada aks ettirilganidek. 2, himoyalangan funktsiyalarning funksionalligi 
simulyatorni chaqirish orqali amalga oshiriladi, bu himoyalangan funktsiyalardan 
qaysi biri talqin qilinishi kerakligini ko'rsatadi. Biroq, bundan oldin himoyalangan 
funksiya uchun parametrlarni tayyorlaydigan maxsus kodni bajarish kerak - ularni 
virtual protsessor arxitekturasiga mos keladigan tarzda haqiqiy registrlar va 
xotiradan virtualga "ko'chirish". Bularning barchasi bizning kompilyatorimiz 
tomonidan yaratilgan maxsus funktsiyalar - "qobiqlar" tomonidan boshqariladi. 
Chig'anoqlar, o'z navbatida, virtual registrlar va xotiraga kirish uchun maxsus 
simulyator funktsiyalaridan foydalanadi. Odatda, bizning kompilyatorimiz yuqori 
darajadagi o'ramlarni ishlab chiqaradi, bu esa, o'z navbatida, foydalanuvchi 
tomonidan o'z loyihasining himoyalanmagan qismini qurish uchun foydalanadigan 
standart kompilyator tomonidan kompilyatsiya qilinadi. Shunday qilib, 
himoyalanmagan moduldan himoyalangan funktsiyaga qo'ng'iroq rasmda 
ko'rsatilgandek ko'rinishi mumkin. 3. 
Guruch. 3. Himoyalangan funksiyani chaqirish sxemasi 
Albatta, virtual protsessor usulini o'ziga xos tarzda amalga oshirish 
tavsiflanganidan biroz farq qilishi mumkin, shuningdek, u bilan himoyalangan 

Download 26.13 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling