Operatsion tizimlarda xotirani boshqarish. Xotira va uni tasvirlash. Virtual address makoni. Xotirani boshqarish


Download 31.76 Kb.
bet3/8
Sana13.04.2023
Hajmi31.76 Kb.
#1353539
1   2   3   4   5   6   7   8
Bog'liq
Operatsion Tizimlar ElomonovBekzod

Plitalarni ajratish
Ushbu xotirani taqsimlash mexanizmi ma'lum turdagi yoki o'lchamdagi moslamalarga mos keladigan xotira qismlarini oldindan taqsimlaydi.[4] Ushbu qismlar keshlar deb ataladi va ajratuvchi faqat bo'sh keshlar ro'yxatini kuzatishi kerak. Ob'ektni qurish bepul kesh uyalaridan birini ishlatadi va ob'ektni yo'q qilish, bo'sh keshlar ro'yxatiga bo'sh joyni qo'shadi. Ushbu texnik xotira parchalanishini engillashtiradi va samaralidir, chunki xotiraning tegishli qismini qidirishning hojati yo'q, chunki har qanday ochiq uyasi etarli bo'ladi.
Stekni taqsimlash
Ko'pchilik Unixga o'xshash tizimlar, shuningdek Microsoft Windows deb nomlangan funktsiyani amalga oshirish alloka stack xotirani uyumga o'xshash tarzda dinamik ravishda taqsimlash uchun malloc. Odatda kompilyator uni stack ko'rsatgichi bilan ishlaydigan chiziqli ko'rsatmalarga tarjima qiladi.[5] Garchi bu tarzda ajratilgan xotirani qo'lda bo'shatishga hojat bo'lmasa ham, u chaqirilgan funktsiya avtomatik ravishda bo'shatiladi alloka qaytib keladi, toshib ketish xavfi mavjud. Va alloka an maxsus kengayish ko'plab tizimlarda kuzatilgan, ammo hech qachon POSIX yoki C standartlarida ishlamaydi, stack overflow holatida uning harakati aniqlanmagan.
Allokaning xavfsiz versiyasi deb nomlangan _malloca, xatolar haqida xabar beradigan, Microsoft Windows-da mavjud.
Ko'pgina dasturlash tillarini amalga oshirishda protsedura ichida e'lon qilingan barcha o'zgaruvchilar (subroutine yoki function) ushbu funktsiya uchun mahalliy hisoblanadi; dastur uchun ish vaqti muhiti, protseduraga dasturning bajarilishini kiritishda ushbu o'zgaruvchilar uchun avtomatik ravishda xotirani ajratadi va protsedura chiqqandan keyin ushbu xotirani avtomatik ravishda chiqaradi. Maxsus deklaratsiyalar mahalliy o'zgaruvchilarga protsedura chaqiruvlari orasidagi qiymatlarni saqlab qolishlariga yoki mahalliy o'zgaruvchilarga boshqa protseduralar orqali kirishga imkon berishi mumkin. Mahalliy o'zgaruvchilarni avtomatik ravishda taqsimlash amalga oshiriladi rekursiya mavjud bo'lgan xotira bilan cheklangan chuqurlikda.
Axlat yig'ish
Axlat yig'ish - bu dasturda foydalanishga yaroqsiz bo'lgan ob'ektlarga ajratilgan xotirani avtomatik ravishda aniqlash va ajratilgan xotirani bo'sh xotira joylariga qaytarish strategiyasi. Ushbu usul "qo'lda" xotirani boshqarishdan farq qiladi, bu erda dasturchi xotiradagi so'rovlarni va dasturdagi xotirani chiqarishni aniq kodlaydi. Avtomatik chiqindilar dasturchilarning ish yukini kamaytirish va xotirani taqsimlashdagi ba'zi turdagi xatolarning oldini olish kabi afzalliklarga ega bo'lsa-da, axlat yig'ish uchun o'ziga xos xotira resurslari kerak va protsessor vaqti uchun dastur bilan raqobatlasha oladi.

Download 31.76 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling