Guruh abdurashidov murodjon mavzu: xotirani ajratish va taqsimlash
Download 186.49 Kb. Pdf ko'rish
|
taqdimot
732-21 GURUH ABDURASHIDOV MURODJON MAVZU: XOTIRANI AJRATISH VA TAQSIMLASH. INKAPSULYASIYA. MEROSXO'RLIK. POLIMORFIZM. VIRTUAL FUNKSIYALAR • Tarkib: Statik va dinamik xotirani ajratish Xotirani taqsimlash Xotirani taqsimlash turlari Statik va dinamik xotirani taqsimlashning afzalliklari va kamchiliklari Asosiy xulosalar Xotirani taqsimlash Jarayonni bajarish uchun uni birinchi navbatda xotiraga joylashtirish kerak • Xotirani ajratish - bu bog'lanish atamasining umumiy jihati.Keling, misol yordamida bog'lanishni tushunamiz. Faraz qilaylik, dasturda atributlar to'plamiga ega ob'ekt mavjud. Endi ushbu ob'ektning o'zgaruvchisi ushbu atributlar to'plami uchun qiymatlarga ega bo'ladi. Ushbu qiymatlarni saqlash uchun biz ushbu atributlarga ajratilgan xotiraga ega bo'lishimiz kerak. • Xotirani taqsimlash turlari • 1. Statik xotirani ajratish • Statik xotira ajratish kompilyator dasturni kompilyatsiya qilganda va obyekt fayllarini hosil qilganda amalga oshiriladi. Bog'lovchi ushbu barcha ob'ekt fayllarini birlashtiradi va bitta bajariladigan faylni yaratadi • Agar taxmin qilingan o'lcham kichikroq bo'lsa, bu jarayonning noto'g'ri bajarilishiga olib keladi. Statik xotirani ajratish usuli jarayonni bajarish jarayonida xotirani ajratish operatsiyasini talab qilmaydi. Jarayon uchun zarur bo'lgan barcha xotira ajratish operatsiyalari jarayon boshlanishidan oldin amalga oshiriladi. • Dinamik xotira ajratish dastur bajarilayotgan vaqtda amalga oshiriladi. Bu erda xotira dasturning ob'ektlari dastur ishlayotgan vaqtda birinchi marta foydalanilishi kerak bo'lganda ajratiladi. Kerakli ma'lumotlarning haqiqiy hajmi ish vaqtida ma'lum bo'ladi, shuning uchun u dasturga aniq xotira maydonini ajratadi va shu bilan xotirani isrof qilishni kamaytiradi • Statik va dinamik xotira ajratishning afzalliklari Statik xotirani taqsimlash Statik xotira taqsimoti xotirani jarayonga tayinlashning samarali usulini ta'minlaydi.Barcha xotira tayinlash operatsiyalari bajarish boshlanishidan oldin amalga oshiriladi. Shunday qilib, dasturni bajarish vaqtida xotirani taqsimlash operatsiyalari uchun qo'shimcha xarajatlar yo'q. • Dinamik xotirani boshqarish muntazam xotira ajratish va bo'sh joyni bo'shatishni talab qiladi. Ushbu maqolada x otirani ajratish uchun ishlatilishi mumkin bo'lgan bir nechta usullar keltirilgan. Malloc (xotirani ajratish) yoki bo'sh funksiyani chaqirish , ajratilgan xotira manziliga havolaga olib keladi yoki u har safar chaqirilganda boshqalar foydalanishi uchun xotirani bo'shatadi • Eslatma: Ushbu blogda biz faqat First Fit algoritmini ko'rib chiqamiz, garchi bu usullarning har biri o'z foydalanish holatlariga ega. Umuman olganda, birinchi moslamaga ustunlik beriladi. • Xotirani taqsimlashda statik xotira ajratish va dinamik xotira ajratishning ikkita usuli mavjud. Statik xotirani taqsimlash samaradorlikni ta'minlaydi, chunki u xotirani bajarilishi boshlanishidan oldin jarayonga tayinlaydi. Shunday qilib, dasturni bajarish paytida xotirani ajratish operatsiyasi uchun ortiqcha yuk yo'q, bu dasturning tezroq bajarilishiga olib keladi. • Dinamik xotira ajratish xotirani taqsimlashda moslashuvchanlikni ta'minlaydi, go'yo dastur etarlicha katta bo'lsa, u dasturlarning turli qismlarida xotirani ajratish operatsiyalarini bajaradi va xotirani isrof qilishni kamaytiradi. Operatsion tizim samarali va moslashuvchan bajarish uchun statik va dinamik xotira ajratishning eng yaxshi aralashmasini olishi mumkin • Ko'rinib turibdiki , xotira ikkinchi bo'limda ajratilgan, oldingi blok birinchi qismga ishora qiladi. Agar birinchi qism ishlatilgan bo'lsa, ikkinchi bo'limga ishora qilib, o'zgartirish ro'yxatda amalga oshirilishi kerak edi. Endi algoritmni ko'rib chiqamiz: p = freeblock; alloc = null; // pointer to store the allocated size n’s address • XULOSA Ushbu mustaqil ishni bajarish davomida men quyidagilarni o’rgandim: Dinamik xotirani boshqarish muntazam xotira ajratish va bo'sh 1x otirani ajratish uchun ishlatilishi mumkin bo'lgan bir nechta usullar keltirilgan. Malloc (xotirani ajratish) yoki bo'sh funksiyani chaqirish, ajratilgan xotira manziliga havolaga olib keladi yoki u har safar chaqirilganda boshqalar foydalanishi uchun xotirani bo'shatadi. Dinamik xotirani boshqarish muntazam xotira ajratish va bo'sh joyni tozalashni talab qiladi. Bo'shatilgan bo'sh joy bilan bir qatorda ishlatilgan joy bilan nima qilish kerak Download 186.49 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling