O‘ZBEKISTON RESPUBLIKASI AXBOROT
TEXNOLOGIYALARIVA KOMMUNIKATSIYALARINI
RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT
TEXNOLOGIYALARI UNIVERSITETI SAMARQAND FILIAL
“KOMPYUTER INJINERINGI “ FAKULTETI
“DASTURIY INJINERINGI” KAFEDRASI
MUSTAQIL ISH
Bajardi: Dasturiy injiniring
yo’nalishi 3-kurs talabasi
Shaymardanov Lazizbek
Tekshirdi: Mirsaidov B
__________________________
|
SAMARQAND – 2022
Mavzu : Segmentli xotira qanday ajratilishi bo’yicha hisobot qilish.
Xotira segmentatsiyasi
"Segmentatsiya" so'zining ko'rinishiga e'tibor bering - biz segmentatsiya xatolarining sababini tushuntirishga yaqinmiz. Oldingi bobda biz tarjima va xotira harakati haqida gapirgan edik, ammo biz foydalangan modelning kamchiliklari bor:
Biz har bir virtual manzil maydoni 16 Kb kengligida belgilangan deb taxmin qildik. Haqiqatda bunday emasligi ko'rinib turibdi. Ishlayotgan jarayonni boshlash yoki ko'chirish uchun har qanday yangi jarayon uchun joy topa olish uchun operatsion tizim jismoniy xotira uyalari ro'yxatini (kengligi 16 Kb) saqlashi kerak. Butun tizimni sekinlashtirmaslik uchun buni qanday qilib samarali qilish kerak? Ko'rib turganingizdek, jarayon o'zining butun manzil maydonini ishlatmasa ham, har bir jarayon 16 Kb xotirani egallaydi, bu juda katta ehtimol. Ushbu model aniq xotirani talab qiladi, jarayon 1 KB xotirani sarflaydi va uning jismoniy xotiradagi xotira maydoni 16 Kb. Bunday chiqindilar ichki parchalanish deb ataladi: xotira saqlangan, lekin hech qachon foydalanilmaydi.
Ushbu muammolarning ba'zilarini hal qilish uchun biz operatsion tizimda xotirani yanada murakkab tashkil qilish - segmentatsiyaga o'tamiz. Segmentatsiyani tushunish oson: biz uchta mantiqiy xotira segmentining "asosiy va chegaralari" g'oyasini kengaytirmoqdamiz: uyin, kod va stek; xotira tasvirini bitta noyob ob'ekt sifatida ko'rib chiqish o'rniga har bir jarayon.
Ushbu kontseptsiya bilan stek va uyum o'rtasidagi xotira endi isrof qilinmaydi. Mana bunday:
Endi A vazifalari uchun virtual xotirada bo'sh joy endi jismoniy xotirada ajratilmaganligini ko'rish oson, xotiradan foydalanish ancha samarali bo'ladi. Yagona farq shundaki, hozirda har qanday vazifa uchun OS bir juft baza / chegarani emas, balki uchtasini eslab qolishi kerak: har bir segment turi uchun bitta juft. MMU xuddi avvalgidek tarjima bilan shug'ullanadi va hozir 3 ta asosiy blok va 3 chegarani qo'llab-quvvatlaydi.
Masalan, bu erda A topshiriq to'plami 126K asosga va 2K chegarasiga ega. Vazifa keyin uyada 3KB virtual manzilga kirishni so'raydi; jismoniy manzil 3Kb - 2Kb (uyning boshlanishi) = 1Kb + 126K (ofset) = 127K. 127K 128K dan oldin keladi - bu bajarilishi mumkin bo'lgan to'g'ri xotira manzili.
Do'stlaringiz bilan baham: |