Virtual xotirani sahifalarni tashkil qilish. Ko'pgina zamonaviy operatsion tizimlarda virtual xotira peyjing yordamida tashkil qilingan. Operativ xotira sahifalarga bo'lingan: ajratilgan xotiraning minimal birligi bo'lgan sobit uzunlikdagi xotira joylari (masalan, 4096 bayt [13]) (ya'ni dasturdan 1 bayt so'ralsa ham xotira sahifasini ajratishga olib keladi). Protsessor tomonidan bajarilgan foydalanuvchi oqimi sahifa raqami va sahifadagi ofsetga bo'lingan virtual xotira manzili yordamida xotiraga kiradi. Protsessor virtual sahifa raqamini assotsiativ tarjima buferi (TLB) yordamida tegishli jismoniy sahifaning manziliga o'zgartiradi. Agar u buni qila olmasa, buferni protsessorning o'zi yoki operatsion tizim (arxitekturaga qarab) orqali amalga oshirishi mumkin bo'lgan sahifalar jadvaliga (Page Walk deb nomlangan) kirish orqali to'ldirish kerak [14]. Agar sahifa RAMdan bo'shatilgan bo'lsa, u holda operatsion tizim Page xato hodisasini qayta ishlash paytida sahifani qattiq diskdan chiqaradi (o'zgartirish, sahifani almashtirishga qarang). Xotirani ajratish so'ralganda, operatsion tizim uzoq vaqt davomida foydalanilmaydigan qattiq disk sahifalariga "to'kilishi" mumkin. Kritik ma'lumotlar (masalan, ishlaydigan va ishlaydigan dasturlarning kodi, tizim yadrosining kodi va xotirasi) odatda RAMda joylashgan (istisnolar mavjud, ammo ular apparat uzilishlarini qayta ishlash, sahifalar jadvali bilan ishlash va sahifa faylidan foydalanish uchun javobgar bo'lgan qismlarga tegishli emas).
Segmentlangan virtual xotirani tashkil qilish. Virtual xotirani tashkil etish mexanizmi, unda virtual makon o'zboshimchalik hajmiga - segmentlarga bo'linadi. Ushbu mexanizm, masalan, protsess ma'lumotlarini mantiqiy bloklarga ajratishga imkon beradi. [15] Har bir segment uchun, shuningdek sahifa uchun foydalanuvchiga va uning jarayonlariga kirish huquqi berilishi mumkin. Jarayon yuklanganda, segmentlarning bir qismi operativ xotiraga joylashtiriladi (bu holda, ushbu segmentlarning har biri uchun operatsion tizim bo'sh xotiraning tegishli qismini qidiradi) va segmentlarning bir qismi disk xotirasida joylashgan. Bitta dasturning segmentlari operativ xotirada qarama-qarshi bo'lmagan qismlarni egallashi mumkin. Yuklash vaqtida tizim jarayon segmentlari jadvalini yaratadi (sahifalar jadvaliga o'xshash), unda har bir segment uchun SAMda segmentning boshlang'ich fizik manzili, segment hajmi, kirish qoidalari, o'zgartirish belgisi, ushbu segmentga oxirgi marta kirish oralig'i va boshqa ba'zi ma'lumotlar ko'rsatilgan. . Agar bir nechta jarayonlarning virtual manzil maydonlarida bir xil segment mavjud bo'lsa, unda ushbu jarayonlar segmentlari jadvallarida ushbu segment bitta nusxada joylashtirilgan bir xil operativ xotira qismiga havolalar keltirilgan. Segmentlangan tashkilot bilan ishlaydigan tizim xuddi shunday tartiblangan tashkilot bilan ishlaydigan tizimga o'xshaydi: vaqti-vaqti bilan xotirada kerakli segmentlar yo'qligi sababli uzilishlar yuzaga keladi, agar xotirani bo'shatish kerak bo'lsa, ba'zi segmentlar bo'shatiladi, har safar asosiy xotiraga kirishda virtual manzil jismoniy holatga o'tkaziladi. Bundan tashqari, xotiraga kirishda, ushbu segmentga kerakli turdagi kirishga ruxsat berilgan yoki yo'qligi tekshiriladi.
Segmentlangan xotira tashkilotida virtual manzilni juftlik (g, s) bilan ifodalash mumkin, bu erda g - segment raqami va s - segmentdagi ofset. Fizikaviy manzil segmentlar jadvalida g raqamiga va s ofset s raqamiga kiritilgan segmentning boshlang'ich fizik manzilini qo'shish yo'li bilan olinadi.
Xotirani ajratishning ushbu usulining kamchiliklari segmentlar darajasida qismlarga ajratish va sahifani tashkil qilish bilan solishtirganda manzilni sekinroq tarjima qilishdir.
Virtual xotiraning gibrid peyjing tashkiloti ham mavjud.
Do'stlaringiz bilan baham: |