U. R. Xamdamov, dj. B. Sultanov, S. S. Parsiyev, U. M. Abdullayev


 Xotirani tartiblash va kengaytirish, virtual xotira



Yüklə 3,32 Mb.
Pdf görüntüsü
səhifə69/253
tarix07.01.2024
ölçüsü3,32 Mb.
#209072
1   ...   65   66   67   68   69   70   71   72   ...   253
os

3.4. Xotirani tartiblash va kengaytirish, virtual xotira 
Bo‘linish (fragmentatsiya) 
Bo‘linish (fragmentatsiya) - bu xotiraning kichik o‘lchamdagi, 
qo‘shni 
bo‘lmagan 
maydonlarga 
bo‘linishidir. 
Bo‘linishni 
(fragmentatsiyani) ikkita turi mavjud: tashqi bo‘linish va ichki 
bo‘linish. 
Tashqi bo‘linish 
Xotiraning umumiy maydoni so‘rovni qondirish yoki undagi 
jarayonni o‘tkazish uchun yetarli, ammo u o‘zaro bog‘liq bo‘lmaydi, 
shuning uchun undan foydalanib bo‘lmaydi.
Ichki bo‘linish 
Jarayonga belgilangan xotira bloki kattaroqdir. Xotiraning bir 
qismi ishlatilmay qoladi, chunki undan boshqa jarayon foydalana 
olmaydi. Quyidagi diagrammada bo‘linish qanday qilib xotira 
yo‘qolishiga olib kelishi va siqish texnikasidan foydalanib, bo‘lingan 
xotiradan ko‘proq bo‘sh xotirani yaratish uchun foydalanish 
mumkinligi ko‘rsatilgan.
Ichki bo‘linish xotirani taqsimlashning aniq algoritmini 
qo‘llagan tizim natijasida yuzaga kelishi mumkin, so‘rovga javoban 
xotira talab qilinganiga nisbatan biroz kattaroq ajratiladi. 


111 
3.11- rasm. Siqishdan oldingi xotiradagi bo‘linish 
3.12- rasm. Siqishdan keyingi xotira 
 
Masalan, kattaligi ikkita sahifaga qadar bo‘lgan. Xotirani sahifali 
tashkil etish ushbu ma’ruzada keyinchalik batafsil muhokama qilinadi.
O‘zgaruvchan qismli sxemalar 
Bundan oldingi ko‘rib chiqilgan xotirani taqsimlash sxemalarida 
(belgilangan qismlar va dinamik qismlar) mavjud muammolarni 
(bo‘linishlarni oldini olish uchun) yechimi o‘zgaruvchan dinamik 
qismlarni ishlab chiqish edi.
Qoida bo‘yicha svoping (almashtirish) tizimi belgilangan 
qismlarga asoslanishi mumkin. Ammo dinamik taqsimlash yoki 
o‘zgaruvchi qismli sxemalar samarali hisoblanadi. Chunki ular hamma 
jarayonlar to‘liq ravishda xotirada joylashganda, yani svoping 
bo‘lmagan hollarda qo‘llaniladi. 
Bu holda, boshida xotira butunlay bo‘sh va oldindan qismlarga 
bo‘lingan bo‘lmaydi. Yangi ishga tushirilayotgan vazifaga qat’iy 
ravishda kerakli xotiraning o‘zi ajratiladi (undan ko‘p emas). Jarayon 
chiqarilgandan so‘ng, xotira vaqtincha bo‘shatiladi. Bir qancha vaqt 
o‘tgandan so‘ng xotira turli o‘lchamdagi o‘zgaruvchan sonli 
qismlardan iborat bo‘lib qoladi. Yonma-yon bo‘lgan bo‘sh joylar 
birlashtirilishi mumkin.
Ushbu xotirani taqsimlash sxemasi yordamida xotira menejeri 
barcha bo‘sh bloklarni bir joyga to‘plash va bir xotira blokini 
yetarlicha katta qilish (kirishni kutayotgan ba’zi yoki barcha 


112 
vazifalarni joylashtirish uchun) va ularni siqish uchun dasturlarni 
o‘zgartiradi. Xotirani siqish operatsion tizim tomonidan xotira 
maydonining 
bo‘lingan 
(fragmentatsiya) 
qismlarini 
tiklash 
(defragmentatsiya) uchun amalga oshiriladi. Lekin bu oson ish emas. 
Birinchidan, xotiradagi har bir dastur bir-biriga qo‘shni bo‘lishi uchun 
ko‘chirilishi kerak, so‘ngra har bir manzil va har bir dasturdagi 
manzilga bog‘lanish, dasturning xotirada yangi joylashishini hisobga 
olgan holda sozlanishi kerak. 
3.13- rasm. O‘zgaruvchan qismli sxemaga misol 
Dastlabki 10 Kb xotirani egallaydigan, operatsion tizimni 
xotirani siqishdan oldingi va keyingi uchta rasmi. 6-vazifa uchun 84 
Kb kerak bo‘lsa, (a) tashqi bo‘linishdagi dastlabki xotira tuzilishi 96 
Kbni tashkil qiladi. Siqishdan so‘ng (b) darhol tashqi bo‘linish 
bartaraf etildi, bu esa 6-vazifa uchun joy yaratishga imkon berdi, 
yuklangandan keyin (c) da ko‘rsatilgan.

Yüklə 3,32 Mb.

Dostları ilə paylaş:
1   ...   65   66   67   68   69   70   71   72   ...   253




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin