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



Download 1,25 Mb.
bet3/12
Sana31.12.2021
Hajmi1,25 Mb.
#234719
1   2   3   4   5   6   7   8   9   ...   12
Bog'liq
Operatsion tizimlarda xotira - Mustaqil ish

Samaradorlik


Amalga oshirilgan maxsus dinamik xotirani taqsimlash algoritmi ishlashga sezilarli ta'sir ko'rsatishi mumkin. Tomonidan 1994 yilda o'tkazilgan tadqiqot Raqamli uskunalar korporatsiyasi tasvirlaydi qo'shimcha xarajatlar turli xil ajratuvchilar uchun jalb qilingan. O'rtacha eng past ko'rsatkich ko'rsatma yo'lining uzunligi bitta xotira uyasini ajratish uchun talab qilingan 52 (ko'rsatma darajasi bilan o'lchanganidek) profiler turli xil dasturiy ta'minotlarda).[3]

Amaliyotlar


Ajratishning aniq joyi oldindan ma'lum bo'lmaganligi sababli, xotiraga bilvosita, odatda a orqali kirish mumkin ko'rsatgich ma'lumotnoma. Xotira maydonini tashkil qilish va qismlarni ajratish va taqsimlash uchun ishlatiladigan o'ziga xos algoritm. Bilan o'zaro bog'liq yadrova quyidagi usullardan birini qo'llashi mumkin:
Ruxsat etilgan o'lchamdagi bloklarni taqsimlash

Aniq o'lchamdagi bloklarni taqsimlash, shuningdek xotira havzasini ajratish deb nomlanadi bepul ro'yxat xotiraning doimiy o'lchamdagi bloklari (ko'pincha barchasi bir xil o'lchamda). Bu oddiy uchun yaxshi ishlaydi o'rnatilgan tizimlar bu erda katta ob'ektlarni ajratish kerak emas, lekin zarar ko'radi parchalanish, ayniqsa, uzoq xotira manzillari bilan. Biroq, sezilarli darajada kamaytirilgan qo'shimcha xarajatlar tufayli ushbu usul tez-tez ajratish / ajratishni talab qiladigan va ko'pincha ishlatiladigan ob'ektlar uchun ishlashni sezilarli darajada yaxshilashi mumkin. video O'yinlar.
Buddy bloklari

Ushbu tizimda xotira bittasi o'rniga bir nechta xotira havzalariga ajratilgan, bu erda har bir hovuz ma'lum bir xotiraning bloklarini aks ettiradi ikkitasining kuchi kattaligi yoki boshqa qulay o'lchamdagi bloklar. Muayyan o'lchamdagi barcha bloklar tartiblangan holda saqlanadi bog'langan ro'yxat yoki daraxt va ajratish paytida hosil bo'lgan barcha yangi bloklar keyinchalik foydalanish uchun tegishli xotira havzalariga qo'shiladi. Agar mavjud bo'lganidan kichikroq hajm talab qilinsa, mavjud bo'lgan eng kichik o'lcham tanlanadi va bo'linadi. Olingan qismlardan biri tanlanadi va jarayon so'rov tugaguniga qadar takrorlanadi. Blok ajratilganda, blokirovkalash keraksiz bloklardan saqlanish uchun eng kichik etarlicha katta blokdan boshlanadi. Blok bo'shatilganda, uning do'sti bilan taqqoslanadi. Agar ularning ikkalasi ham bepul bo'lsa, ular birlashtirilib, mos ravishda kattaroq hajmdagi do'stlar bloklari ro'yxatiga joylashtiriladi.
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. Buning ishlatilishini talab qiladi _freea.[6] gnulib SEH istisnoini toshib yuborish o'rniga, ekvivalent interfeysni taqdim etadi, kattalashtirilgan kattalik aniqlanganda malloc-ga vakolat beradi.[7] Shunga o'xshash xususiyatni qo'lda hisobga olish va o'lchamlarini tekshirish yordamida taqlid qilish mumkin, masalan alloca_account glibc-da.[8]



Download 1,25 Mb.

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




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish