Mahalliy
Tashkilotning ushbu usuli bilan, xotira darajasiga kirish tezligi kamayganligi sababli, unga murojaat qilish tezligi ham kamayadi.
Bu erda asosiy rol haqiqiy dasturlarning mulki bo'lib, cheklangan vaqt davomida kichik xotira manzillari bilan ishlashga qodir. Bu ampirik ravishda kuzatilgan mulk mahalliy yoki lokalizatsiya tamoyili sifatida tanilgan.
Mahalliy mulk (kosmosda va vaqtdagi qo'shni ob'ektlar o'xshash xususiyatlarga ega) nafaqat operatsion tizimning ishlashiga, balki umuman tabiatga ham xosdir. OS holatida, dasturlarning qanday yozilganligini va ma'lumotlarning qanday saqlanganligini, ya'ni odatda ma'lum bir vaqt davomida cheklangan kod parchasi cheklangan ma'lumotlar to'plami bilan ishlayotganligini hisobga olsak, mahalliy mulk xususiyati tushunarli. Kod va ma'lumotlarning bu qismi tezkor kirish xotirasida joylashtirilishi mumkin. Natijada, xotiraga kirishning haqiqiy vaqti yuqori darajadagi kirish vaqti bilan belgilanadi, bu esa ierarxik sxemadan foydalanish samaradorligini belgilaydi. Aytish kerakki, kompyuter tizimining ta'riflangan tashkiloti ko'p jihatdan axborotni qayta ishlashda inson miyasining faoliyatini taqlid qiladi. Haqiqatan ham, muayyan muammoni hal qilishda, shaxs o'z xotirasida yoki tashqi xotirada (masalan, kitoblarda) ish bilan bog'liq bo'lmagan ma'lumotlarni saqlaydigan oz miqdorda ma'lumot bilan ishlaydi.
Protsessor keshlari odatda apparatning bir qismidir, shuning uchun OS xotira boshqaruvi asosan kompyuterning asosiy va tashqi xotirasida ma'lumotlarni taqsimlash bilan shug'ullanadi. Ba'zi diagrammalarda RAM va tashqi xotira o'rtasidagi oqimlar dasturchi tomonidan tartibga solinadi( masalan, keyinchalik overlay tuzilmalari), ammo bu dasturchining vaqt sarf-xarajatlariga bog'liq, shuning uchun bunday faoliyat Osga yuklashga harakat qiladi.
Jismoniy xotirada ma'lumotlarning haqiqiy joylashuvini tavsiflovchi asosiy xotiradagi manzillar jismoniy manzillar deb ataladi. Dastur ishlaydigan jismoniy manzillar to'plami jismoniy manzil maydoni deb ataladi.
Mantiqiy xotira
Lineer hujayralar to'plami shaklidagi apparat xotirasi dasturchilarning dastur va ma'lumotlarni saqlash qanday tashkil etilganligi haqidagi g'oyalariga mos kelmaydi. Aksariyat dasturlar bir-biridan mustaqil ravishda yaratilgan modullarning to'plamidir. Ba'zan jarayonning bir qismi bo'lgan barcha modullar xotirada birma-bir joylashtirilgan va manzillarning chiziqli maydonini tashkil qiladi. Biroq, ko'pincha modullar xotiraning turli joylariga joylashtiriladi va turli yo'llar bilan ishlatiladi.
Dastur va ma'lumotlarning qanday saqlanayotgani haqida Foydalanuvchining fikrini qo'llab-quvvatlaydigan xotira boshqaruv sxemasi segmentatsiya deb ataladi. Segment-ma'lum bir maqsad uchun xotira maydoni, uning ichida chiziqli manzil saqlanadi. Segmentlar protseduralar, massivlar, Stack yoki skalar qiymatlarini o'z ichiga oladi, lekin odatda aralash turdagi ma'lumotlarni o'z ichiga olmaydi.
Tashqi ko'rinishiga ko'ra, birinchi xotira segmentlari har bir jarayon ikki nusxadagi ma'lumotlarni o'z manzil kosmosda saqlanishi kerak bo'lgan holda, (matn muharriri, trigonometrik kutubxonalar, va hokazo) dasturiy ta'minot kodi parchalar jarayonlari kechirayotgan muhtoj munosabati bilan paydo bo'ldi. Tizim bir nechta jarayonlarni xotirada aks ettiradigan ma'lumotni saqlaydigan alohida xotira joylari segmentlar deb ataladi. Shunday qilib, xotira chiziqli bo'lib qoldi va ikki o'lchamli bo'lib qoldi. Manzil ikki komponentdan iborat: segment raqami, segment ichidagi joy. Keyinchalik, jarayonning turli qismlariga (dastur kodi, ma'lumotlar, Stack va boshqalar) turli segmentlarga joylashtirish qulay bo'ldi. Shu bilan birga, ma'lum bir segment bilan ishlashning tabiati, masalan, kirish huquqi yoki segmentda saqlangan ma'lumotlar bilan ishlashga ruxsat berilgan operatsiyalar turlari kabi atributlarga bog'liq bo'lishi mumkinligi aniqlandi.
Zamonaviy oslarning aksariyati segmentli xotira tashkilotini qo'llab-quvvatlaydi. Ba'zi arxitekturalarda (masalan, Intel) segmentatsiya apparat tomonidan qo'llab-quvvatlanadi.
Jarayonga murojaat qiladigan manzillar ramda mavjud bo'lgan manzillardan farq qiladi. Har holda, dastur tomonidan ishlatiladigan manzillar turli yo'llar bilan taqdim etilishi mumkin. Misol uchun, manba matnlaridagi manzillar odatda ramziy hisoblanadi. Derleyici bu ramziy manzillarni ko'chirilgan manzillarga (masalan, modul boshidan p bayt) bog'laydi. Dastur tomonidan yaratilgan bunday manzil odatda mantiqiy (virtual xotiraga ega bo'lgan tizimlarda ko'pincha virtual deb ataladi) manzil deb ataladi. Barcha mantiqiy manzillarning jamiyati mantiqiy (virtual) manzil maydoni deb ataladi.
Majburiy manzillar
Shunday qilib, tashkilot yoki o'lchov bo'yicha mantiqiy va jismoniy manzilli joylar bir-biriga mos kelmaydi. Mantiqiy manzil maydonining maksimal hajmi odatda protsessorning (masalan, 232) bitishi bilan belgilanadi va zamonaviy tizimlarda jismoniy manzil maydonining kattaligidan sezilarli darajada oshadi. Binobarin, protsessor va OS haqiqiy jismoniy manzillar uchun dastur kodi yo'nalishlarga ko'rsatish imkoniyatiga ega bo'lishi kerak, asosiy xotira joriy dastur holatiga mos. Manzillarning bunday ko'rinishi manzilni tarjima qilish (bog'lash) yoki manzillarni bog'lash deb ataladi. (3-rasm)
Dastur operatori tomonidan ishlab chiqarilgan mantiqiy manzilni jismoniy shaxs bilan bog'lash operator bajarilgunga qadar yoki uni amalga oshirish vaqtida amalga oshirilishi kerak. Shunday qilib, ko'rsatmalar va ma'lumotlarni xotiraga ulash, asosan, quyidagi bosqichlarda amalga oshirilishi mumkin [Silberschatz, 2002].
• Kompilyatsiya bosqichi (Kompile time). Kompilyatsiya bosqichida jarayonning xotirada joylashtirilishining aniq joyi ma'lum bo'lsa, jismoniy manzillar bevosita hosil bo'ladi. Dasturning boshlang'ich manzilini o'zgartirganda uning kodini qayta tuzish kerak. Misol sifatida привести.сом kompilyatsiya bosqichida jismoniy manzillar bilan bog'laydigan MS-DOS dasturlari.
• Yuklab olish bosqichi (yuklash vaqti). Agar dasturni kompilyatsiya bosqichida joylashtirish haqida hech qanday ma'lumot bo'lmasa, kompilyator ko'chiriladigan kodni ishlab chiqaradi. Bunday holda, oxirgi ulanish yuklanish paytigacha kechiktiriladi.
Do'stlaringiz bilan baham: |