152
• tizimda jismonan o'rnatilgandan ko'ra ko'proq xotiraga ega dasturlarni taqdim
etish
• ko'p vazifali tizimlarda, ishlaydigan dasturlarni bir-biridan ajratib turadigan,
ularga nominal manzillar oralig'ini belgilash (xotira himoyasini ko'ring)
Hozirgi vaqtda virtual xotira eng zamonaviy protsessorlarda [1] qo'llab-
quvvatlanadi. Shu bilan birga, juda tez operatsiya qilinishi kerak bo'lgan yoki
reaktsiya vaqtida (real vaqtda tizimlar) cheklovlar mavjud bo'lgan mikrokontrolrlar
va maxsus maqsadli tizimlarda virtual xotira nisbatan kamdan-kam qo'llaniladi.
Bundan tashqari, bunday tizimlarda juda ko'p vazifalar
va murakkab xotira
hiyerarşileri kamroq tarqalgan.
1940 va 1950 yillar mobaynida hajmi RAM miqdoridan oshib ketgan barcha
dasturlar operativ va tashqi xotirani boshqarish uchun mantiqni o'z ichiga olishi
kerak edi. Shu nuqtai nazardan, virtual xotira faqat RAM miqdorini oshirish uchun
emas, balki ushbu dasturchini dasturchilar uchun ishlatish uchun eng qulay holga
keltirdi. [4] Ko'pgina erta kompyuter tizimlarida ko'pgina dasturlash va ko'p
vazifalarni bajarish uchun bir nechta dasturlarda xotira almashish virtual xotira
holda amalga oshirildi (masalan, PDP-10 komputerlarida).
Virtual xotira kontseptsiyasi ilk bor 1956 yilda Berlin
Texnik Universitetida
nemis fizikasi Fritz-Rudolf Güntsch (Germaniya: Fritz-Rudolf Güntsch) tomonidan
"Raqamli kompyuterning bir necha astenxronli davul va avtomatik tezkor xotira
boshqaruvi bilan logik dizayni" mavzusida doktorlik dissertatsiyasi bilan kiritildi.
Har bir so'zning 100 ta hajmli magnit yadrolari va har biri 100 ta so'zning 1000 ta
blokli manzil maydoni bo'lgan 6 ta xotira bloklari bilan jihozlangan mashinani
tasvirlab beradi. Mashinaning uskuna bloklari magnit
tambalarni asosiy va tashqi
xotirasi o'rtasida avtomatik ravishda o'zgartiradi. [5] [6]
Sahifa almashinuvi birinchi navbatda "Manchester Yunayted" universitetida
"Atlas" kompyuteri xotirasini kengaytirishning asosiy usuli bo'lib, uning asosiy
xotirasi 96000 so'zli magnit drayvlardagi xotirali 16000 so'zning magnit yadrolari
bilan birlashtirildi. Atlantika mashinasini dastlabki yetkazib berish 1962 yilda bo'lib
o'tdi, ammo 1959 yilda sahifani almashtirish prototiplari ishlab chiqildi. [4] [7] [8]
153
1961-yilda Burroughs korporatsiyasi mustaqil ravishda B5000 virtual xotirasi bilan
ishlab
chiqarilgan
dastlabki
kompyuterni
sahifa
pagatsiyasi
o'rniga
segmentatsiyadan foydalanib boshladi. [9] [10] 1965 yilda virtual BESM-6
mashinasida virtual xotira joriy qilingan bo'lsa-da, amalga oshirilgan mexanizm 15-
bitli protsessor manzil maydonini kengaytirishga va dasturiy qulaylik cheklanganiga
ruxsat bermadi. [11]
Virtual xotirani umumiy operatsion tizimlarda ishlatishdan oldin bir qator
muammolarni hal qilish kerak edi. Aniq manzillarni dinamik ko'chirish qimmatga
tushdi va maxsus texnika ishlab chiqarish qiyin edi.
Birinchi ilovalar xotiraga
kirishni sekinlashtirdi. [4] Tashqi xotirani ishlatadigan yangi tizim-umumiy
algoritmlar ma'lum ilovalar uchun ilgari qo'llanilgan algoritmlarga qaraganda
kamroq samarador bo'lishi mumkin degan xavotir bor edi. 1969-yilda sanoat
kompyuterlari uchun virtual xotira haqidagi munozaralar yakunlandi: Devid Sayre
boshchiligidagi IBM tadqiqotchilari guruhi (David Sayre)
ular yaratgan virtual
xotira tizimining barcha jihatlar bo'yicha eng yaxshi qo'lda tizimlari oshib borishini
ko'rsatdi. [4] [12] Virtual xotira ishlatilgan birinchi mini-kompyuter Norvegiya
NORD-1 edi. 1970-yillarda virtual xotira ilovalari boshqa mini-kompyuterlarda
paydo bo'ldi, eng mashhur VMS operatsion tizimi ostida ishlaydigan VAX.
X86 arxitekturasidagi virtual xotira 80286 protsessorining
himoyalangan
rejimining paydo bo'lishi bilan amalga oshirildi, lekin xotira segmentatsiyasidan
foydalanildi va segment almashtirish usuli katta segmentlar uchun yaxshi emas edi.
80386 protsessor pagingni qo'llab-quvvatlashni joriy etdi va bu ikkilamchi xatolarga
yo'l qo'ymadi, agar boshqa istisno qilish paytida sahifa xatoligi yuzaga kelsa. Paging
tizimining yuqori qismida mavjud bo'lgan xotira segmentirovkasi mexanizmi
mavjud edi. Shu bilan birga, segmentni identifikatorlarni yuklash qimmat operatsiya
bo'lib, operatsion tizim ishlab chiquvchilariga sahifa
paging va segmentatsiyani
emas, balki sahifa paging mexanizmiga tayanishga majbur qiladi.