Fizik xotirani boshqarish, abstraktatsiyalardan foydalanilmagan va abstraksiyalardan foydalanilgan holatda xotira




Download 480.17 Kb.
bet1/4
Sana15.04.2024
Hajmi480.17 Kb.
#196550
  1   2   3   4
Bog'liq
usmanov
Қўшма қарор (Хавфсиз маҳалла), 11-sinf-matematika-imtihon-javoblari-2023, HTML HUJJATDAGI MATNLARNI FORMATLASH, 3 mavzu, Suyuqliklarda bosim, husniddin.al, Operatsion tizimlar” fanidan Mustaqil ish Mavzu Multidasturlash, Operatsion 3-amaliy ish

Namuna
Muhammad al-Xorazmiy nomidagi Toshkent axborot texnologiyalari universiteti
“Dasturiy injiniring” fakulьteti
“Аxborot texnologiyalarining dasturiy taʼminoti” kafedrasi
Operatsion tizimlar fanidan


Mustaqil ish №1


Mavzu: Fizik xotirani boshqarish, abstraktatsiyalardan foydalanilmagan va abstraksiyalardan foydalanilgan holatda xotira.
Guruh: 223 - 21
Bajardi: Usmonov.S
Tekshirdi: Ishmuhamedov.A 

Toshkent 2024.



Fizik xotirani boshqarishda abstraktatsiyalardan foydalanilmagan holat, ko'pchilikning o'zgartirish va ko'rinishi mumkin bo'lgan ilmiy o'zgarishlarni aniqlash. Bu holatda, har bir qurilma (masalan, prosessor, disk, operativ xotira va joy) uchun alohida kodi yoki usullar mavjud bo'ladi. Xotira boshqarilishi, har bir qurilmaning yonida xususiy, keng qamrovli kodlarni va o'zgaruvchanliklarni talqin etish uchun qiyin bo'ladi.Abstraksiyalardan foydalanilgan holda, fizik xotirasini boshqarish usullari yaxshi boshqarish va imkoniyatlar uchun sodda va samarali bo'ladi. Abstraksiyalardan sayohat, xotiraning tuzilishini osonlashtirish va uni boshqarishni ham osonlashtirish. Misol uchun, operativ xotiraning bir qismi, boshqa xavfsiz ma'lumotni saqlash uchun ajratilgan bo'lib, boshqa qismi esa xavfsizlik ma'lumotlarini o'qish va saqlash uchun ajratilgan bo'lishi mumkin. Bunday abstraksiyalardan ko'chirish, xotiraning samarali va yaxshi tuzilishini ta' va dasturchilar uchun ishni osonlashtirish.MPI odatda taqsimlangan xotira tizimlarida parallel dasturlash uchun qo'llanilsa-da, zamonaviy ko'p yadroli CPU klasterlarini dasturlashda bo'lingan global manzil maydoni (PGAS) yondashuvlari e'tiborni tortmoqda. Ularda gibrid xotira abstraktsiyasi mavjud : taqsimlangan xotira dasturlashni soddalashtirish uchun tugunlar o'rtasida bo'lingan umumiy xotira sifatida qaraladi. Ushbu bobda siz PGAS va ob'ektga yo'naltirilgan paradigmalarning afzalliklarini jamlagan kutubxonaga asoslangan C++ kengaytmasi bo'lgan Unified Parallel C++ (UPC++) haqida bilib olasiz .
Ushbu bobga kiritilgan misollar PGAS tillarining asosiy xususiyatlarini va ular klasterlar va superkompyuterlar uchun parallel manba kodini dasturlash vazifasini qanday soddalashtirishi mumkinligini tushunishga yordam beradi .Xususan, biz xotiraga yaqinlik, xususiylashtirish, xotiraga masofaviy kirishlar ,asinxron nusxalar va qulflar mavzulariga bag'ishlangan UPC++ misollarini o'rganamiz .
Nomlarning muayyan ob'ektlar bilan qanday bog'lanishini ko'rsatadigan modelga ega bo'lish foydalidir. Tizim dizayneri uchta elementdan iborat nomlash sxemasini yaratadi. Birinchi element - bu nomlar maydoni bo'lib , u belgilar alifbosi va qaysi nomlar qabul qilinishini belgilaydigan sintaksis qoidalarini o'z ichiga oladi. Ikkinchi element - nomlash sxemasining uchinchi va oxirgi elementi bo'lgan qiymatlar olamidagi ba'zi (yana hammasi emas) qiymatlar bilan nom maydonining ba'zi (barchasi shart emas) nomlarini bog'laydigan nom xaritalash algoritmidir . Qiymat ob'ekt bo'lishi mumkin yoki u asl nom maydonidan yoki boshqa nom maydonidan boshqa nom bo'lishi mumkin. Nomlarni qiymatga solishtirish bog'lanishga misol bo'ladi va bunday xaritalash mavjud bo'lganda, nom qiymatga bog'langan deb aytiladi. 

Virtual xotirada dasturchi xotiraning abstraktsiyasi bilan ishlaydi, bu chiziqli massiv bo'lib, unga kompilyator o'zgaruvchan joylarni tayinlaydi. X o'zgaruvchisi ushbu xayoliy (yoki virtual) massivda 1010-joyda saqlanishi mumkin. Virtual xotirani abstraktsiya qilish amalga oshirildisahifa jadvalini xaritalash va talab peyjingining egizak mexanizmlaridan foydalanish . Ushbu ikkala mexanizm ham endnodeda ma'lumotlarni uzatish xarajatlarini optimallashtirish uchun tushunish uchun juda muhimdir.

Ko'pgina tizimlarda odatda bir vaqtning o'zida bir nechta alohida nomlash sxemalari ishlaydi. Masalan, tizim elektron pochta qutilari nomlari uchun bitta nomlash sxemasidan, Internet xostlari uchun ikkinchi nomlash sxemasidan, fayllar uchun uchinchidan va virtual xotira manzillari uchun to'rtinchidan foydalanishi mumkin. Dastur tarjimoni nomga duch kelganda, u qaysi nomlash sxemasini chaqirish kerakligini bilishi kerak. Nomni ishlatish bilan bog'liq muhit odatda nomlash sxemasini aniqlash uchun etarli ma'lumot beradi. Masalan, amaliy dasturda ushbu dastur muallifi dastur fayl nomlari faqat fayl tizimi tomonidan talqin qilinishini va Internet xost nomlari faqat ba'zi tarmoq xizmatlari tomonidan talqin qilinishini kutishi kerakligini biladi .
Nomga duch kelgan tarjimon tegishli nomlash sxemasining nomni ko'rsatish algoritmini boshqaradi. Nomni xaritalash algoritmi nomni hal qiladi , ya'ni u bog'langan qiymatni topadi va qaytaradi (shuning uchun nomni xaritalash algoritmi resolver deb ham ataladi ). Nomni xaritalash algoritmi odatda kontekst deb nomlanuvchi qo'shimcha parametr tomonidan boshqariladi . Berilgan nomlash sxemasi uchun juda ko'p turli kontekstlar bo'lishi mumkin va hal qiluvchi turli kontekstlardan foydalanganda nom maydonining bitta nomi turli qiymatlarga mos kelishi mumkin. Masalan, oddiy nutqda biror kishi "siz", "bu erda" yoki "Elis" ismlariga murojaat qilganda, bu ismlarning har birining ma'nosi odam uni talaffuz qilgan kontekstga bog'liq. Boshqa tomondan, ba'zi nomlash sxemalari faqat bitta kontekstga ega. Bunday nomlash sxemalari universal nom bo'shliqlari deb ataladigan narsalarni ta'minlaydi va ular kim ishlatganidan qat'i nazar, nom har doim ushbu nomlash sxemasida bir xil ma'noga ega bo'lgan yaxshi xususiyatga ega. Masalan, Qo'shma Shtatlarda davlat pensiya va soliq hisoblarini aniqlaydigan ijtimoiy sug'urta raqamlari universal nom maydonini tashkil qiladi. Agar bir nechta kontekst mavjud bo'lsa, tarjimon hal qiluvchiga qaysi birini ishlatishi kerakligini aytishi yoki hal qiluvchi standart kontekstdan foydalanishi mumkin.
Nomlar ustida quyidagi kontseptual operatsiyani belgilash orqali nomlash modelini umumlashtirishimiz mumkin:


qiymat ← hal qilish ( nom , kontekst )


Tarjimon ob'ektda nomga duch kelganda, avvalo, qanday nomlash sxemasi qatnashayotganini va shuning uchun u hal qilishning qaysi versiyasini chaqirish kerakligini aniqlaydi. Keyin u tegishli kontekstni aniqlaydi, nomni shu kontekstda hal qiladi va talqinni davom ettirayotganda ismni hal qilingan qiymat bilan almashtiradi. O'zgaruvchan kontekst qaysi kontekstdan foydalanishni hal qilishni aytadi . Ushbu o'zgaruvchi kontekst havolasi sifatida tanilgan nomni o'z ichiga oladi .
Protsessorda registr raqamlari nomlardir. Oddiy protsessorda registr nomlari to'plami va bu nomlar bog'langan registrlar loyihalash vaqtida o'rnatiladi. Nomlardan foydalanadigan ko'pgina boshqa tizimlarda (shu jumladan, ba'zi yuqori samarali protsessorlarning registrlarini nomlash sxemasi) yangi bog'lashlarni yaratish va eskilarini o'chirish, mavjud bog'lashlar ro'yxatini olish uchun nom maydonini sanab o'tish va ikkita nomni solishtirish mumkin. Ushbu maqsadlar uchun biz yana to'rtta kontseptual operatsiyani aniqlaymiz:


status ← bog'lash ( nom , qiymat , kontekst )
status ← ajratish ( nom , kontekst )
ro'yxat ← sanab o'tish ( kontekst )
natija ← solishtiring ( ism1 , ism2 )


Birinchi operatsiya yangi bog'lanish qo'shish orqali kontekstni o'zgartiradi; holat natijasi o'zgartirish muvaffaqiyatli bo'lgan-bo'lmaganligi haqida xabar beradi (agar taklif qilingan nom nom maydonining sintaksisi qoidalarini buzsa, muvaffaqiyatsiz bo'lishi mumkin) Bog'lash uchun muvaffaqiyatli qo'ng'iroqdan so'ng , hal ism uchun yangi qiymatni qaytaradi . * Ikkinchi operatsiya, unbind , mavjud bog'lanishni kontekstdan olib tashlaydi , status yana muvaffaqiyat yoki muvaffaqiyatsizlik haqida xabar beradi (ehtimol, bunday bog'lanish yo'qligi sababli). Muvaffaqiyatli qo'ng'iroqdan so'ng , rezolyutsiyani o'chirish uchun ushbu qiymat endi qaytarilmaydi . Bog'lash va o'chirish operatsiyalari ob'ektlar o'rtasida aloqa o'rnatish va keyinchalik bu ulanishlarni o'zgartirish uchun nomlardan foydalanishga imkon beradi. Ob'ekt dizayneri komponent ob'ektiga murojaat qilish uchun nomdan foydalanishi mumkin, bu nom bog'langan ob'ektni o'sha paytda yoki keyinroq bind ni chaqirish orqali tanlashi va unbind ni chaqirish orqali endi mos bo'lmagan bog'lanishni yo'q qilishi mumkin. , hammasi nomni ishlatadigan ob'ektni o'zgartirmasdan. Bog'lashni kechiktirish va o'zgartirish qobiliyati deyarli barcha tizimlarni loyihalashda ishlatiladigan kuchli vositadir. Ba'zi nomlash ilovalari kontekstda hal qilinishi mumkin bo'lgan barcha nomlar ro'yxatini qaytaradigan sanab o'tish operatsiyasini ta'minlaydi . Enumerate ning ba'zi ilovalari ayni paytda kontekstda bog'langan barcha qiymatlar ro'yxatini ham qaytarishi mumkin . Nihoyat, nom1 nom2 bilan bir xil bo'ladimi yoki yo'qmi, taqqoslash operatsiyasi hisobotlari ( to'g'ri yoki noto'g'ri ) . "Bir xil" so'zining ma'nosi bo'limda ko'rib chiqilgan qiziqarli savol bo'lib , u qo'shimcha kontekst argumentlarini taqdim etishni talab qilishi mumkin.
Turli nomlash sxemalarida nomlar-qiymat xaritalarining o'ziga xosligi haqida turli qoidalar mavjud. Ba'zi nomlash sxemalarida nom berilgan kontekstda aynan bitta qiymatga mos kelishi va qiymat faqat bitta nomga ega bo'lishi kerakligi haqidagi qoidaga ega, boshqa nomlash sxemalarida esa bir nom bir nechta qiymatlarga mos kelishi mumkin yoki bitta qiymat bir nechta nomga ega bo'lishi mumkin, hatto. xuddi shu kontekstda. Yagonalik qoidasining yana bir turi bu nom maydonining butun umri davomida qayta ishlatilmaydigan nomlar to‘plamini ta’minlovchi va bir marta bog‘langandan so‘ng har doim bir xil qiymatga bog‘langan bo‘lib qoladigan nomlar to‘plamini ta’minlovchi noyob identifikator nomi maydonidir . Bunday nom barqaror bog'lanishga ega, deyiladi . Agar noyob identifikator nomi bo'shlig'ida qiymat faqat bitta nomga ega bo'lishi qoidasiga ega bo'lsa, noyob nomlar uzoq vaqt davomida ob'ektlarni kuzatish, bir xil ob'ektga tegishli yoki yo'qligini aniqlash uchun havolalarni solishtirish uchun foydali bo'ladi. ob'ektlar ishlash yoki ishonchlilik uchun takrorlanadigan tizimlarda bir nechta nusxalarni muvofiqlashtirish uchun. Masalan, ko'pgina billing tizimlarining mijoz hisob raqami noyob identifikator nomi maydonini tashkil qiladi. Hisob raqami, mijozning manzili, telefon raqami yoki hatto shaxsiy ismidagi o'zgarishlarga qaramay, shu hisob mavjud ekan, har doim bir xil mijozning hisobiga ishora qiladi. Agar mijozning hisobi o'chirilgan bo'lsa, u mijozning hisob raqami qachondir boshqa mijozning hisobi uchun qayta ishlatilmaydi. Hisobdagi nomlangan maydonlar, masalan, to'lanadigan qoldiq vaqti-vaqti bilan o'zgarishi mumkin, ammo mijozning hisob raqami va hisobning o'zi o'rtasidagi bog'lanish barqaror.
Nomlarni xaritalash algoritmi va bitta kontekst nom maydonining barcha nomlarini qiymatlarga moslashtirishi shart emas. Shunday qilib, hal qilishning mumkin bo'lgan natijasi topilmagan natija bo'lishi mumkin , bu yechim qo'ng'iroq qiluvchiga zaxiralangan qiymat sifatida yoki istisno sifatida xabar berishi mumkin. Boshqa tomondan, agar nomlash sxemasi bitta nomni bir nechta qiymatlarga moslashtirishga imkon bersa, mumkin bo'lgan natija qiymatlar ro'yxati bo'lishi mumkin. Bunday holda, ajratish operatsiyasi qaysi qiymatni ajratish kerakligini ko'rsatadigan qo'shimcha argumentni talab qilishi mumkin. Va nihoyat, ba'zi nomlash sxemalari teskari qidirishni ta'minlaydi , ya'ni qo'ng'iroq qiluvchi ismni xaritalash algoritmiga argument sifatida qiymat berishi va bu qiymatga qanday nom yoki nomlar bog'langanligini bilishi mumkin.
2.10-rasmda nomlash modeli ko'rsatilgan bo'lib, nomlar maydoni, mos qiymatlar olami, nomlarni xaritalash algoritmi va nomlarni xaritalash algoritmini boshqaruvchi kontekst ko'rsatilgan.
Amalda, uchta tez-tez ishlatiladigan nomlarni xaritalash algoritmlariga duch keladi:

Jadvalni qidirish

Rekursiv qidiruv

Bir nechta qidiruv
Kontekstning eng keng tarqalgan amalga oshirilishi { name , value } juftlik jadvalidir . Agar kontekstni amalga oshirish jadval bo'lsa, nomni ko'rsatish algoritmi faqat ushbu jadvaldagi nomni qidirishdir. Jadvalning o'zi murakkab bo'lishi mumkin, u xeshlash yoki B-daraxtlarni o'z ichiga oladi, ammo asosiy g'oya hali ham bir xil. Qiymatga yangi nomni bog‘lash o‘sha name , value } juftligini jadvalga qo‘shishdan iborat. rasmda nomlash modelining ushbu keng tarqalgan amalga oshirilishi tasvirlangan. Har bir kontekst uchun bitta shunday jadval mavjud va turli kontekstlarda bir xil nom uchun turli xil bog'lanishlar bo'lishi mumkin.

Abstraktsiya FPV sig'imini kengaytirishning eng muhim usullaridan biridir. Shu nuqtai nazardan, abstraktsiya - bu DUTni yoki uning kirish ma'lumotlarini soddalashtirish va dalillarimizga to'liq ishonch hosil qilish uchun etarlicha muhim mantiqni saqlab qolish jarayoni. Biz muhokama qilgan oldingi texnikalarning ko'pini, masalan, qora boks, kesish nuqtalari va erkin o'zgaruvchilarni engil abstraktsiyalar deb hisoblash mumkin. Ko'pgina abstraksiya modellari erkin o'zgaruvchilardan foydalanadi. Biroq, endi biz murakkabroq abstraktsiyalarni muhokama qilmoqdamiz, bu erda biz murakkablik to'siqlarini engib o'tishga yordam beradigan oddiyroq versiyalarga ko'proq mantiqni o'zgartiramiz.
Dizaynni mavhumlashtirishning ko'plab usullari mavjud. Eng keng tarqalgan abstraktsiya turlaridan ba'zilari:


Download 480.17 Kb.
  1   2   3   4




Download 480.17 Kb.

Bosh sahifa
Aloqalar

    Bosh sahifa



Fizik xotirani boshqarish, abstraktatsiyalardan foydalanilmagan va abstraksiyalardan foydalanilgan holatda xotira

Download 480.17 Kb.