Kirish Xotirada jarayonlarni joylashtirishning asosiy qoidalari


Download 197.82 Kb.
bet4/9
Sana21.04.2023
Hajmi197.82 Kb.
#1375640
1   2   3   4   5   6   7   8   9
Bog'liq
15-16

Mantiqiy manzil - bu mashina buyrug'i bajarilganda protsessor tomonidan hosil qilingan manzil.
Fizik adres – xotirani boshqarish qurilmasi (Memory Management Unit – MMU) “ko’radigan” va “tushunadigan” xotiradagi real adres.
Mantiqiy adres fizik adres bilan kompiliyatsiya vaqtida adreslarni bog’lashda yoki yuklash vaqtida (ya’ni, dastur bajarilguncha) mos qo’yiladi. Biroq bajarilish vaqtidagi adreslarni bog’lashdagi mantiqiy adres fizik adresdan farq qiladi. Ushbu holatni to’liq ko’rib chiqamiz.
Xotirani boshqarish qurilmasi
Ma’ruzaning boshida aytib o’tilganidek, xotirani boshqarish qurilmasi (Memory Management Unit – MMU ) – bu tizimli shinaning boshqa qurilmalari bilan bog’langan va xotirani adreslashga javobgar bo’lgan apparat modullaridan biri hisoblanadi. Adreslash kontseptsiyasi tavsifi nuqtai nazaridan olib qaraganda xotiran boshqarish qurilmasi – bu mantiqiy adresni (protsessordan umumiy shinaga olingan) fizik adresga (xotiradagi murojaat bo’yicha olinadigan real adresga) akslantiruvchi apparat hisoblanadi.
MMU apparti foydalanuvchi dasturi uchun OT tomonidan ajratiladigan xotira maydonining boshlang’ich adresini saqlovchi ko’chirish registri qiymatidan foydalanadi. MMU foydalanuvchi dasturi tomonidan yaratilgan (mantiqiy) manzilga ko'chirish registri qiymatini qo'shadi, natijada fizik manzil paydo bo'ladi.
Foydalanuvchi dasturlari faqat mantiqiy adreslar bilan ishlaydi, fizik adreslarni umuman “ko’rmaydi”.
Adreslash sxemasi va ko’chirish registrini qo’llab mantiqiy adresni fizik adresga akslantirish 2-rasmda tasvirlangan.

2-rasm. Ko’chirish registrini qo’llagan holda adreslash sxemasi.
Dinamik yuklash va dinamik bog’lash
Dinamik yuklash deganda, foydalanuvchi dasturidan birinchi marta murojaat qilganda qismdasturlarni xotiraga yuklash tushuniladi. Agar siz xotirani tejashni istasangiz, bu juda foydali printsipdir, chunki bu holda xotiraga "qo'shimcha" kod yuklanmaydi. Statik bog'lanish bilan, bajariladigan kod miqdori juda katta bo'lishi mumkin, aniqrog'i ishlatilgan barcha kutubxonalarning barcha kodlari ikkilik kodlar fayliga qo'shiladi. Dinamik yuklash bilan, dasturni ishlab chiqish bosqichida OT tomonidan maxsus yordam talab qilinmaydi.
Chaqiriladigan qismdasturlarning dinamik yuklanishi bilan chambarchas bog’liq bo’lgan yana bir mexanizm bu – dinamik bog’lanish: dasturning bajarilishi vaqtida bog’lanish. Albatta, bu bajarilish paytida dastur kod maydoni kengaytirilgan va unga dinamik ravishda bog'langan qismdastur kod qo'shilgan degani emas. Boshqa sxema qo'llaniladi. Dastur kodiga bajarilish uchun qopqoq (execution stub) -OT modulining tizimli chaqiruvi natijasida bajariladigan kichik dastur kodi joylashtirilib, bu kutubxona qismdasturiga dinamik bog’lanishni amalga oshiradi. Birinchi chaqiruv paytida stub o'zini xotirada dinamik ravishda ajratilgan qismdastur manzilidagi kirish kodi bilan almashtiradi. Dinamik ravishda bog'langan modulni chaqirishda operatsion tizim uning kodi jarayon manzili maydonida joylashganligini tekshirishi kerak. Shubhasiz, dinamik bog'lanish kutubxonalar uchun eng foydalidir. Dinamik bog'langan kutubxona binar kodi fayli kengaytmasi UNIX da .so (shared object atamasining qisqartmasi), Windows da esa .dll (dynamically linked library atamasining qisqartmasi) bo’ladi.
Dasturlarning Overleyli tuzilmasi
Dasturiy vositalarning xotirani egallash hajmiga qo’yilgan asosiy talablar oldingi OT larda muhim ahamiyatga ega bo’lgan. Bunday cheklovga ega bo’lgan dasturlarning bajarilish vaqtida maxsus tizim mexanizmi qo’llanilishi shart bo’lgan. Bu mexanizm overley tuzilmasi (overlay, so’zma-so’z – qoplama) deb nomlanadi, bu mexanizm u yoki bu bajariladigan modullar guruhining aynan bitta xotira maydoniga navbati bilan yuklanishini ta'minlash hisoblanadi. Ushbu harakatni bajaruvchi oddiy dastur overley drayveri (overlay driver) deb ataladi.
Dastlabki kompyuterlar va operatsion tizimlar uchun xos bo'lgan ustma-ust tuzilishga ega dasturga misol sifatida ikki ko'rinishli asseblerni olish mumkin. Birinchi ko'rinishda u kirish assembler kodini oraliq kodga o'zgartiradi, uni ikkinchi assebler ko’rinishida kirish sifatida qabul qiladi. Butun assembler (ikkala ko'rinish) ham xotiraga sig'magan va ustma-ust konstruktsiyani qo'llash kerak edi. Bunga misol 3-rasmda tasvirlangan.


Download 197.82 Kb.

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




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