Guruh abdurashidov murodjon mavzu: xotirani ajratish va taqsimlash


Download 186.49 Kb.
Pdf ko'rish
Sana08.11.2023
Hajmi186.49 Kb.
#1758835
Bog'liq
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