1.
Xotirani boshqarish va undan umumiy foydalanish mexanizmi
Xotiraning boshqaruv tizimi funksiyasi
Xotiradan samarali foydalanishni ta’minlash uchun operatsion tizim quyidagi
funksiyalarni bajarishi lozim:
•
Fizik xotirani aniq bir sohasida jarayon manzillar to‘plamini aks ettirish;
•
Qarama-qarshi jarayonlar o‘rtasida xotirani taqsimlash;
•
Jarayonlar manzillar maydoniga ruhsatni boshqarish;
•
Operativ xotirada joy qolmaganda, tashqi xotiraga jarayonlarni (qisman yoki
to‘liq) yuklash;
•
Bo‘sh va band xotirani hisobga olish.
Bir foydalanuvchili sxema
Dastlabki operatsion tizimlarda xotirani boshqarishning eng oddiy usullari
qo‘llanilgan. Boshida foydalanuvchining har bir jarayoni asosiy xotiraga
ko‘chirilishi kerak bo‘lgan, xotira uzluksiz maydonini band qilgan, tizim esa
qo‘shimcha foydalanuvchi jarayonlarga bir vaqtning o‘zida asosiy xotirada
joylashib
turgunicha
xizmat
ko‘rsatadi.
Xotirani taqsimlashning birinchi sxemasi: 3.5-rasmda ko‘rsa- tilgandek, har bir
qayta ishlangan dastur to‘liq xotiraga yuklandi va unga zarur bo‘lgan xotira
maydonini ajratdi. Bu yerda kalit so‘zlar yaxlitlik va doimiylikdir. Agar dastur juda
katta bo‘lsa va mavjud xotira maydoniga mos kelmasa (xotira maydoni o‘lchami
yetarli bo‘lmasa), uni bajarib bo‘lmaydi. Va dastlabki kompyuterlar juda katta
bo‘lishiga
qaramay,
ular
juda
kam
xotiraga
ega
edilar.
Xotiraning qolgan qismi ishlatilmaydi
Bu barcha kompyuterlar uchun sezilarli cheklovni namoyish etadi – ular faqat
cheklangan xotiraga ega va agar dastur xotira maydoniga mos kelmasa asosiy
xotiraning hajmini oshirish kerak yoki dasturni o‘zgartirish (kichraytirish) kerak.
Odatda, uni kichiklashtirish yoki dastur segmentlarini (dasturga bo‘laklarni)
to‘ldirishga imkon beradigan usullardan foydalanish orqali o‘zgartiriladi. (Qoplash
usuli (overlay) - bu dastur segmentlarini ikkinchi darajali xotiradan asosiy xotiraga
bajarish uchun o‘tkazishdir, shunda ikki yoki undan ortiq segmentlar bir xil xotira
maydonlarini egallab turgan navbatni egallab olishlari mumkin.) Overlay - bu
tizimda o‘rnatilganidan ko‘ra ko‘proq xotirani egallaydigan dasturlarni yaratishga
imkon beradigan dasturlash usulidir. Har bir foydalanuvchiga har bir vazifa uchun
mavjud bo‘lgan asosiy xotiradan foydalanish huquqi beriladi va vazifalar ketma-ket
bajariladi. Xotirani taqsimlash uchun operatsion tizim oddiy algoritmdan
foydalanadi (muammoni hal qilish uchun qadamma-qadam protsedura):
Vazifani bir foydalanuvchi tizimiga yuklash algoritmi
1.
Dastur xotirasini asosiy registrda saqlash (xotirani himoyasi uchun)
2.
Dastur hisoblagichini birinchi xotira yacheyasining manziliga o‘rnatish (u
dastur tomonidan ishlatiladigan xotira miqdorini kuzatadi)
3.
Dasturning birinchi ko‘rsatmasini o‘qish
4.
Dastur hisoblagichini ko‘rsatmadagi baytlar soniga ko‘paytirish
5.
So‘nggi ko‘rsatma berildimi?
agar
ha
bo‘lsa,
dasturni
yuklashni
to‘xtatish
agar yo‘q bo‘lsa, unda 6-bosqichdan davom etish
6.
Dastur hisoblagichi xotira hajmidan kattaroqmi? agar ha bo‘lsa, dasturni
yuklashni to‘xtatish
agar yo‘q bo‘lsa, unda 7-bosqich bilan davom etish
7.
Ko‘rsatmani xotiraga yuklash
8.
Keyingi dastur ko‘rsatmalarini o‘qish
9.
4-bosqichga o‘tish.
E’tibor bering, operatsion tizimning “Xotira menejeri” tomonidan bajarilgan
ishlarning hajmi minimal, funksiyalarni bajarish kodi sodda va mantiq juda oddiy.
Faqat ikkita qurilma vositasi kerak bo‘ladi: asosiy manzilni saqlash uchun registr va
xotirada o‘qilayotgan paytda dastur hajmini kuzatib borish uchun akkumulyator (y
ham register).Dastur xotiraga to‘liq yuklanganidan so‘ng, u odatiy tarzda yoki
operatsion tizimning aralashuvi bilan tugatilmaguncha o‘sha yerda qoladi.
Ushbu turdagi xotirani taqsimlash sxemasining asosiy muammolaridan biri
shundaki, u ko‘p dasturlash yoki tarmoqni qo‘llab-quvvatlamaydi, u bir vaqtning
o‘zida faqat bitta vazifani bajara oladi. Bu usul 1940- va 1950- yillardagi tijorat
kompyuterlarida qo‘llanilgan. Shuning uchun, 1950- yillarning ohiri va 1960-
yillarning boshlarida xotirani boshqarishning yangi sxemasi talab qilindi, va
mustaqil operatsiyalarni takrorlash orqali kompyuter tizimi resurslaridan
foydalanishga
imkon
beradigan
qismlardan
foydalanildi.
Xotirani boshqarishning ushbu sxemalari bugungi operatsion tizimlar tomonidan
kam ishlatiladi, ammo o‘rganish juda muhimdir, chunki har biri xotira boshqaruvini
rivojlantirishga yordam beradigan asosiy tushunchalarni taqdim etadi. Kompyuter
tizimi bosh asosiy masalasi dasturni boshqarishdir. Xotiraning alohida roli
protsessor dastur ko‘rsatmalarini ular xotirada bo‘lgan taqdirdagina bajarishi
mumkinligi bilan izohlanadi. Dasturlar va ularning murojaat qiladigan ma’lumotlari,
bajarilish jarayonida operativ xotirada (hech bo‘lmasa qisman) joylashgan bo‘lishi
shart. Operatsion tizimga, xotirani, foydalanuvchi jarayonlari va OT komponentalari
orasida taqsimlashga to‘g‘ri keladi. Operatsion tizimning bu faoliyati xotirani
boshqarish deyiladi. Shunday qilib, xotira sinchiklab boshqarishni talab etadigan
resursdir. Yaqin kunlargacha xotira eng qimmat resurs hisoblangan. Operatsion
tizimning, xotirani boshqaradigan qismi, xotira menejeri deyiladi. Xotira amaliy
dastur modullari va operatsion tizimning modullari o‘rtasida ham taqsimlanadi.
|