U. R. Xamdamov, dj. B. Sultanov, S. S. Parsiyev, U. M. Abdullayev
Xotirani tartiblash va kengaytirish, virtual xotira
Download 3.88 Mb. Pdf ko'rish
|
a12b69867f018f785135aa04d3624799 Operatsion tizimlar грифли 100 шт
- Bu sahifa navigatsiya:
- O‘zgaruvchan qismli sxemalar
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. Download 3.88 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling