Qilgan holda, ma'lum miqdordagi protsessorlar uchun jadval tuzilishi mumkin
Download 26.13 Kb. Pdf ko'rish
|
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
ma'muriyatiga murojaat qiling