U. R. Xamdamov, dj. B. Sultanov, S. S. Parsiyev, U. M. Abdullayev


Linux da fizik xotirani boshqarish



Yüklə 3,32 Mb.
Pdf görüntüsü
səhifə212/253
tarix07.01.2024
ölçüsü3,32 Mb.
#209072
1   ...   208   209   210   211   212   213   214   215   ...   253
os

Linux da fizik xotirani boshqarish 
Linux da fizik xotirani taqsimlash tizimi xotiraning sahifalari, 
sahifalar guruhlari va uncha katta bo‘lmagan bloklarini joylashtirish 
va bo‘shatish bilan shug‘ullanadi. U bajarilayotgan jarayonlarining 
manzil maydonida aks ettiriladigan virtual xotira uchun qo‘shimcha 
mexanizmlarga ega. Sahifalarni taqsimlovchi fizik sahifalarni 
joylashtiradi va bo‘shatadi; u so‘rov bo‘yicha yondosh sahifalar 
guruhlarini ham joylashtirishi mumkin. Linux ning sahifalar 
taqsimlovchisi 
buddy-heap 
(hamkorlik 
to‘plami) 
algoritmini 
foydalanidigan fizik sahifalarni kuzatish uchun ishlatadi; uning 
tamoyillari quyidagicha: 

taqsimlanishi lozim bo‘lgan xotiraning har bir qismi uning 
yondosh “hamkori” bilan birga juftlikni tashkil etadi; 

ikkala qism-hamkorlar bo‘shatilganida ular birlashadi va ikki 
barobar kattaroq yondosh hududni tashkil etadi. 
Agar xotiraga kichik so‘rovni qondirishga xotiraning kichik 
maydoni bo‘lmasa, unda mazkur so‘rovni qondirish maqsadida 
xotiraning kattaroq maydoni ikkita hamkor-maydonga bo‘linadi.
Xotirani Linux ning yadrosi uchun bo‘linish ham statik (drayver 
tizimni yuklash paytida xotiraning statik hududini zahiralaydi) ham 
dinamik (sahifalarni taqsimlash yordamida) tarzda amalga oshirish 
mumkin. Xotirani bo‘linishi 9.4- rasmda ko‘rsatilgan.


352 
 
9.4- rasm. Linux tizimida xotirani bo‘linishi 
Linux da virtual xotira 
Linux dagi virtual xotira tizimi har bir jarayonga ko‘rinadigan 
manzil maydonni qo‘llab-quvvatlaydi: u talab bo‘yicha virtual 
xotiraning sahifalarini tashkil etadi va bu sahifalarni diskka yuklashni, 
hamda kerak bo‘lganda diskdan qayta chiqarishni boshqaradi. Virtual 
xotiraning menejeri har bir jarayonning manzil maydoniga ikki nuqtai 
nazarni qo‘llab-quvvatlaydi: 

mantiqiy – manzil maydonini boshqarish buyruqlarini 
qo‘llab-quvvatlash; manzil maydoni kesishmaydigan yondosh 
hududlar jamlamasi sifatida qaraladi; 

fizik – har bir jarayonning sahifalar jadvali yordamida.
Virtual xotirani boshqarish uchun quyidagilardan foydalaniladi: 

mazkur hududga qayerdan sahifalar olinishini tavsiflovchi 
qayta chiqarish fayli (backing store); 

hududlar odatda fayl tomonidan qo‘llab-quvvatlanadi, yoki 
umuman qo‘llab-quvvatlanmaydi (xotira talabiga ko‘ra bekor 
qilinadi); 

hududni yozuvga javob harakati (sahifalardan birgalikda 
foydalanish yoki yozib olish vaqtida nusxa olish - cow). 
Yadro ikki vaziyatda yangi virtual manzil maydonni yaratadi: 

jarayon exec tizim chaqiruvi bilan yangi dasturni ishga 
tushiradi; 

fork tizim chaqiruvi bilan yangi jarayonni yaratadi.


353 
Yangi dastur bajarilishida jarayonga yangi, bo‘sh manzil 
maydoni tadqim etiladi; dasturlarni yuklash protseduralari bu manzil 
maydoni virtual xotiraning hududlari bilan to‘ldiradi. Fork yordamida 
yangi jarayonni yaratish amaldagi manzil maydonining to‘liq 
nusxasini yaratishni nazarda tutadi. Yadro ona jarayonning virtual 
xotirasidan foydalanish deskriptorlaridan nusxa oladi, keyin farzand 
jarayon uchun sahifalar jadvallarining yangi jamlamasini yaratadi. 
Ona jarayonning sahifalar jadvallaridan bevosita farzand jarayonning 
sahifalar jadvallariga nusxalar olinadi. fork bajarilganidan keyin ona 
va farzand jarayonlar o‘z virtual manzili maydonlarida bir xil fizik 
sahifalaridan foydalanadi. Agar fizik xotiraning sahifalarini birorta 
boshqa maqsad uchun kerak bo‘lsa, sahifalarni boshqarish tizimi 
ularni diskka ko‘chiradi (o‘tkazadi). Sahifalarni boshqarish tizimi ikki 
qismga bo‘linadi: 

qaysi sahifalarni va qachon diskka ko‘chirishni belgilaydigan 
algoritm; 

almashtirish 
mexanizmi, 
kerak 
bo‘lgan 
hollarda 
ma’lumotlarni uzatish va fizik xotiraga qayta ko‘chirishni amalda 
bajaradi. 
Linux yadrosi har bir jarayonga, uni o‘ziga tegishli ichki 
foydalanish uchun doimiy, hudud arxitekturasiga bog‘liq manzil 
maydonni zahiralaydi. Virtual xotiraning bu hududi ikki hududdan 
iborat:

statik hudud – tizimdagi xotiraning har bir foydalanadigan 
fizik sahifa uchun sahifalar jadvalida havolani saqlaydi, shuning 
uchun yadro kodi bajarilishida fizik manzilni virtual manzilga 
translyatsiya qilishda ishlatiladi; 

zahiralangan qismning qoldig‘i – birorta boshqa maqsadda 
ishlatilmaydi; uning sahifalar jadvalining elementlari o‘zgartirilishi va 
xotiraning istalgan sahifalariga yo‘naltirilishi mumkin. 

Yüklə 3,32 Mb.

Dostları ilə paylaş:
1   ...   208   209   210   211   212   213   214   215   ...   253




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin