Xotirani boshqarish va undan umumiy foydalanish mexanizmi

|
Xotirani boshqarish va undan umumiy foydalanish mexanizmi
|
bet | 58/222 | Sana | 15.05.2024 | Hajmi | 5,84 Mb. | | #236377 |
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.
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.
3.5- rasm. Bitta dastur bir vaqtning o‘zida xotirada saqlanadi.
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
Dastur xotirasini asosiy registrda saqlash (xotirani himoyasi uchun)
Dastur hisoblagichini birinchi xotira yacheyasining manziliga o‘rnatish (u dastur tomonidan ishlatiladigan xotira miqdorini kuzatadi)
Dasturning birinchi ko‘rsatmasini o‘qish
Dastur hisoblagichini ko‘rsatmadagi baytlar soniga ko‘paytirish
So‘nggi ko‘rsatma berildimi?
agar ha bo‘lsa, dasturni yuklashni to‘xtatish
agar yo‘q bo‘lsa, unda 6-bosqichdan davom etish
Dastur hisoblagichi xotira hajmidan kattaroqmi? agar ha bo‘lsa, dasturni yuklashni to‘xtatish
agar yo‘q bo‘lsa, unda 7-bosqich bilan davom etish
Ko‘rsatmani xotiraga yuklash
Keyingi dastur ko‘rsatmalarini o‘qish
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.
|
| |