jadvalida 1024 ta yozuv mavjud, ularning har biri 4kB sahifaning jismoniy
manziliga ishora qiladi. Katalogdagi va sahifalar jadvalidagi har bir yozuvning
uzunligi 4 baytni tashkil etadi, shuning uchun 4 Gb manzil maydonini sahifaning 4
kB ga bo'lish uchun 4x1024x1024 = 4MB tuzilishi kerak. Xotira manzillari uzunligi
32 bit, shundan 20 bit (har bir varaq uchun 10 bit + har bir jadval uchun 10 bit) - bu
sahifaning fizik manzili, 12 bit - tanlangan sahifadagi indeks.
Windows muhitida har bir jarayon o'z sahifasi katalogiga va sahifalar
jadvaliga ega, buning uchun OS 4MB bo'sh joy ajratadi. Jarayon yaratilganda,
sahifalar katalogidagi har bir yozuv sahifalar jadvalining jismoniy manzilini o'z
ichiga oladi. Sahifalar jadvalidagi yozuvlar haqiqiy yoki noto'g'ri bo'lishi mumkin.
To'g'ri yozuvlar 4kB sahifalarning jismoniy manzillarini o'z ichiga oladi. Jarayon
jismoniy manzillar haqida hech narsa bilmaydi va kirishda faqat virtual manzillardan
foydalanadi. Virtual manzilni jismoniy manzilga aylantirish Windows xotira
menejeri va protsessor tomonidan amalga oshiriladi. Sahifalar katalogi jismoniy
xotirada joylashgan manzil Sahifalar katalogi bazasi manzili deb nomlanadi. Ushbu
manzil
CR3
protsessorlarining
maxsus
reyestrida
qayd
etilgan
(x86
protsessorlarida). Kontekstni almashtirishda, Windows yangi jarayonni eski sahifa
katalogi manziliga yo'naltirish uchun CR3 registriga yangi qiymatni yuklaydi.
Ushbu texnologiyadan foydalanish jarayonga 4GB mantiqiy (virtual) manzil
maydonidan foydalanishga imkon beradi. Jarayonlarning mantiqiy manzillari
oralig'i bir-biriga zid kelmaydi va bitta jarayonning mantiqiy manzili boshqasining
fizik manzilini ko'rsatolmaydi. Bu virtual manzillar maydoni deb nomlanadi, chunki
jarayon 4GB virtual manzil maydoniga ega bo'lsa ham, u faqat ajratilgan darajada
xotiradan foydalanishi mumkin. Bir vaqtning o'zida barcha jarayonlar egallab turgan
xotiraning umumiy hajmi asosiy xotira va sahifalar faylining yig'indisidan
oshmasligi kerak. Bu majburiyat chegarasi deb ataladi. Agar jarayon ko'proq
xotirani talab qilsa (Tasdiqlash), unda OS bo'sh xotira mavjudligini tekshiradi va
agar mavjud bo'lsa, uni jarayonga ajratadi. Shu tarzda, OT, jismoniy yoki ommaviy
xotira maydonida bo'lishidan qat'i nazar, jarayonning aslida ajratilgan xotira
bo'lishini ta'minlaydi. Barcha jarayonlarga ajratilgan barcha virtual xotira miqdori
joriy Commit Charge deb nomlanadi. O'zgartirish faylining eng maqbul hajmini
aniqlash uchun, aslida, virtual jarayonlar haqiqatda qancha joy egallashini
bilishingiz kerak. Buni amalga oshirish uchun siz ajratilgan xotiraning yuqori
cho'qqisini topishingiz kerak (Peak Commit Charge), masalan, barcha jarayonlar bir
vaqtning o'zida ishlayotganda, ajratilgan xotiraning eng yuqori cho'qqisini kuzatib
borish va kompyuterning jismoniy xotirasi miqdorini olingan qiymatdan olib
tashlash. Olingan farq almashtirish faylining hajmi bo'ladi.
Do'stlaringiz bilan baham: