94
maydoning maksimal o‘lchami odatda protsessorning
razryadi bilan
aniqlanadi (masalan 2
32
), va zamonaviy tizimlarda fizik manzillar
maydonining hajmidan ko‘zga ko‘rinarli darajada yuqori bo‘ladi.
Shunday ekan, protsessor va operatsion tizim asosiy xotirada
joylashgan dasturni dastur kodiga, real fizik manzilga tayangan holda
yo‘lni aks ettirishi kerak. Bunday ko‘rinishda
manzillarni tasvirlash
manzillarni translatsiyasi yoki manzillarni bog‘lash deb nomlanadi.
Mantiqiy manzilning fizik manzil bilan bog‘lanishi dastur
operatorining bajarilishigacha yoki bajarilish vaqtida amalga
oshirilishi shart.
Bunday holda, ko‘rsatmalarni va ma’lumotlarni
xotiraga bog‘lash quyidagi qadamlar bo‘yicha amalga oshiriladi.
Kompilyatsiya bosqichi
. Kompilatsiya bosqichida siz
jarayonning xotirada
joylashish joyini bilsangiz, unda mutloq
(absolyut) kodni yaratishingiz mumkin. Masalan, agar foydalanuvchi
jarayoni doimiy ravishda R
joyida boshlanishini bilsangiz, u holda
yaratilgan kompilyator kodi o‘sha joyda boshlanadi va u yerdan
davom etadi. Agar bir muncha vaqt o‘tgach,
dastlabki joylashuv
o‘zgarsa, ushbu kodni qayta yozishingiz kerak bo‘ladi.
Yuklash bosqichi
. Agar kompilatsiya bosqichida dasturlarni
joylashtirish to‘g‘risida axborot mavjud bo‘lmasa, u holda
kompilyator o‘zgaruvchan kodni yaratishi kerak. Bu holatda yakuniy
bog‘lanish yuklanish vaqtigacha xotirada saqlanadi.
Agar dastlabki
manzil o‘zgarsa, o‘zgarishlarni hisobga olib foydalanuvchi kodini
qayta yuklash kerak bo‘ladi.
Bajarilish bosqichi
. Agar jarayonni
bajarilish vaqtida bir
xotira segmentidan boshqa xotira segmentiga o‘tkazish mumkin
bo‘lsa,
u
holda
bajarilish
muddati
tugaguncha
bog‘lanish
kechiktirilishi kerak. Bu yerda mavjud maxsus qurilmalardan
foydalangan ma’qul, masalan, register joyini o‘zgartirish. Ko‘plab
zamonaviy
operatsion
tizimlar
bajarish
bosqichida
manzil
translatsiyasidan
foydalanadi, buning uchun maxsus qurilma
vositalaridan foydalaniladi.
Dostları ilə paylaş: