Virtual xotira
Yilda hisoblash , virtual xotira , yoki virtual saqlash [b] bir bo'lgan xotira boshqarish bir "berilgan mashina ustida aslida mavjud saqlash resurslaridan idealizm fon" beradi texnikasi [3] qaysi "juda katta foydalanuvchilari yanılsama yaratadi (asosiy) xotira ".
Virtual xotira DASD [a] dagi faol RAM va harakatsiz xotirani birlashtirib , katta sonli tutashgan manzillarni hosil qiladi.
Kompyuteringizning operatsion tizimi , apparat va dasturiy ta'minot bilan birgalikda foydalanib, xaritalar xotira manzillar deb nomlangan dasturi tomonidan ishlatiladigan virtual manzillar kirib, jismoniy manzillari bilan kompyuter xotirasiga . Asosiy xotira , jarayon yoki vazifada ko'rinib turibdiki, tutashgan manzil maydoni yoki qo'shni segmentlar to'plami sifatida ko'rinadi . Operatsion tizim virtual manzil maydonlarini va virtual xotiraga haqiqiy xotirani tayinlashni boshqaradi . Odatda xotirani boshqarish bo'limi deb ataladigan protsessorda manzilni tarjima qilish apparati(MMU), avtomatik ravishda virtual manzillarni jismoniy manzillarga tarjima qiladi. Operatsion tizimdagi dasturiy ta'minot ushbu imkoniyatlarni haqiqiy xotira hajmidan oshib ketadigan va shu bilan kompyuterda mavjud bo'lganidan ko'proq xotiraga havola etadigan virtual manzil maydonini ta'minlash uchun kengaytirishi mumkin.
Virtual xotiraning asosiy afzalliklari dasturlarni umumiy xotira maydonini boshqarish imkoniyatidan ozod qilish, kutubxonalar tomonidan foydalaniladigan xotirani jarayonlar o'rtasida bo'lishish qobiliyati , xotirani ajratish tufayli xavfsizlikni kuchaytirish va fizik jihatdan mavjud bo'lganidan ko'proq xotiradan kontseptual ravishda foydalanish imkoniyatini o'z ichiga oladi. paging yoki segmentatsiya texnikasi .
Xususiyatlari
Virtual xotira jismoniy xotiraning parchalanishini yashirish orqali dasturiy dasturlashni osonlashtiradi ; yadroga xotira iyerarxiyasini boshqarish yukini topshirish orqali (dasturning aniq qoplamalar bilan ishlashiga bo'lgan ehtiyojni bartaraf etish ); va har bir jarayon o'ziga xos manzil maydonida bajarilganda, dastur kodini boshqa joyga ko'chirish yoki nisbiy adreslash bilan xotiraga kirish zarurligini bekor qilish orqali .
Xotiraning virtualizatsiyasini virtual xotira tushunchasining umumlashtirilishi deb hisoblash mumkin.
Foydalanish
Virtual xotira - bu zamonaviy kompyuter arxitekturasining ajralmas qismi ; amalga oshirish uchun odatda protsessorga o'rnatilgan xotirani boshqarish bo'limi shaklida qo'shimcha yordam kerak . Zarur bo'lmaganda, emulyatorlar va virtual mashinalar o'zlarining virtual xotiralarini amalga oshirish samaradorligini oshirish uchun qo'shimcha yordamni qo'llashlari mumkin. [5] Binobarin, bunday qilish uchun shu kabi katta operatsion tizimlari, protsessorlar o'rta-1980 (masalan, erta shaxsiy kompyuterlar uchun 1960 yil, va o'sha DOS ), [6] umuman, hech virtual xotira funksiyalarini ega, [ shubhali - munozara qilish ]1960-yillarning asosiy kvadratlari uchun sezilarli istisnolarga quyidagilar kiradi:
Atlas maslahatchisi uchun Atlas
Electrologica X8 (dasturiy ta'minotga asoslangan virtual xotira, apparat yordamisiz) uchun multiprogramming tizimi
Burroughs B5000 uchun MCP
IBM System / 360 Model 67 uchun MTS , TSS / 360 va CP / CMS
GE 645 uchun multics
Vaqt Sharing operatsion tizimi uchun RCA Spectra 70 /46
va Apple Lisa uchun operatsion tizim - bu 80-yillardagi shaxsiy kompyuter operatsion tizimining misoli, bu virtual xotiraga ega.
1960-yillarda va 70-yillarning boshlarida kompyuter xotirasi juda qimmat edi. Virtual xotiraning joriy etilishi katta xotira talablariga ega dasturiy ta'minot tizimlari uchun kam xotirali kompyuterlarda ishlash imkoniyatini berdi. Bundan tejash barcha tizimlar uchun virtual xotiraga o'tishga kuchli turtki berdi. Virtual manzil maydonlarini taqdim etishning qo'shimcha qobiliyati yana bir xavfsizlik va ishonchlilik darajasini oshirdi, shu bilan virtual xotirani bozor uchun yanada jozibador qildi.
Virtual xotirani qo'llab-quvvatlaydigan aksariyat zamonaviy operatsion tizimlar har bir jarayonni o'ziga xos manzil maydonida boshqaradi . Shunday qilib, har bir dastur virtual xotiraga yagona kirish huquqiga ega ko'rinadi. Shu bilan birga, ba'zi eski operatsion tizimlar (masalan, OS / VS1 va OS / VS2 SVS ) va hattoki zamonaviylar (masalan, IBM i ) barcha jarayonlarni virtualizatsiya qilingan xotiradan tashkil topgan bitta manzil maydonida ishlaydigan yagona manzilli kosmik operatsion tizimlardir .
O'rnatilgan tizimlar va juda tez va / yoki juda izchil javob berish vaqtlarini talab qiladigan boshqa maxsus kompyuter tizimlari, determinizmning pasayishi sababli virtual xotiradan foydalanishni rad etishi mumkin ; virtual xotira tizimlari oldindan aytib bo'lmaydigan tuzoqlarni keltirib chiqaradi, bu kirishga javoban istalmagan va oldindan aytib bo'lmaydigan kechikishlar keltirib chiqarishi mumkin, ayniqsa tuzoq ma'lumotlar asosiy xotiraga ikkinchi darajali xotiradan o'qilishini talab qilsa. Virtual manzillarni jismoniy manzillarga tarjima qilish uchun qo'shimcha qurilmalar odatda muhim mikrosxemalar maydonini talab qiladi va ko'milgan tizimlarda ishlatiladigan barcha mikrosxemalar ushbu apparatni o'z ichiga olmaydi, bu ba'zi bir tizimlarning virtual xotiradan foydalanmasligining yana bir sababi.
Tarix
1940-yilda [ O'zgartirish ] va 1950, barcha katta dasturlar kabi, birlamchi va ikkilamchi saqlash boshqarish uchun mantig'ini o'z ichiga kerak edi qoplama . Shuning uchun virtual xotira nafaqat asosiy xotirani kengaytirish uchun, balki dasturchilar uchun bunday kengaytmani iloji boricha qulayroq qilish uchun kiritilgan. [7] Ko'p dasturlash va ko'p vazifalarni bajarishga imkon berish uchun ko'plab dastlabki tizimlar xotirani virtual xotirasiz bir nechta dasturlar orasida, masalan, registrlar orqali PDP-10 ning dastlabki modellari orasida bo'lishdi .
Virtual xotira tushunchasi birinchi nemis tomonidan ishlab chiqilgan edi bir da'vo fizik Fritz-Rudolf Güntsch da Technische Universität Berlin doktorlik dissertatsiyasi 1956 yil, Agar bir nechta Asynchronous aylantirish barrel va Avtomatik Yuqori tezlikdagi Xotira operatsiyasi bilan bir Raqamli Kompyuter mantiqiy Dizayn [8] [9] ehtiyotkorlik bilan tekshirishga qarshi turmaydi. Gyuntsch tomonidan taklif qilingan (ammo hech qachon qurilmagan) kompyuterning manzil maydoni 10 5 so'zdan iborat bo'lib, ular barabanlarning 10 5 so'ziga to'g'ri keltirilgan, ya'ni manzillar haqiqiy manzillar bo'lgan va bilvosita xaritalash shakli bo'lmagan, bu asosiy xususiyat virtual xotira. Gyunts ixtiro qilgan narsa bu shakl edikesh xotirasi , chunki uning tezkor xotirasida ba'zi bir bloklar nusxalari yoki davullardan olingan ma'lumotlar nusxasi bo'lishi kerak edi. Albatta, u yozgan (tarjima keltirilgan bo'lib [10] ): "asosiy xotira mavjudligini (u hatto u mavjud, deb bilaman shart emas) hurmat emas dasturchi ehtiyoj uchun manzillar (faqat bir navi bor DAI ) bir tomonidan go'yoki bitta xotira bo'lganidek dasturlashi mumkin. " Kesh xotirasi bo'lgan kompyuterlarda aynan shu holat mavjud bo'lib, ularning dastlabki tijorat misollaridan biri IBM System / 360 Model 85 bo'lgan. [11]Model 85 da barcha manzillar asosiy asosiy do'konga tegishli haqiqiy manzillar edi. Yarimo'tkazgichli kesh do'koni, foydalanuvchiga ko'rinmas, asosiy do'kon qismlarini tarkibida hozirda bajarilayotgan dastur tomonidan ishlatilgan. Bu Gyuntsch tizimiga juda o'xshash, ko'p dasturlash bilan bog'liq muammolarni hal qilish o'rniga, ish faoliyatini yaxshilash vositasi sifatida yaratilgan.
Birinchi haqiqiy virtual xotira tizimi Manchester Universitetida Atlas kompyuterining bir qismi sifatida bir darajali saqlash tizimini yaratish uchun amalga oshirilgan [12] . Dasturchi uchun mavjud bo'lgan virtual manzillarni haqiqiy xotiraga xaritada saqlash uchun disk xotira mexanizmidan foydalangan, bu 16384 so'zdan iborat asosiy yadro xotirasi va qo'shimcha 98.304 so'zdan iborat ikkinchi darajali barabanli xotiradan iborat . [13] Birinchi Atlas 1962 yilda foydalanishga topshirilgan, ammo 1959 yilgacha pagingning ishchi prototiplari ishlab chiqilgan. [7] ( p2 ) [14] [15] 1961 yilda Burrouz Korporatsiyasimustaqil ravishda virtual xotira bilan ishlaydigan birinchi tijorat kompyuterini B5000-ni disk raskadrovka bilan emas, balki segmentatsiya bilan chiqarib yubordi .
Virtual xotirani asosiy operatsion tizimlarda amalga oshirishdan oldin, ko'plab muammolarni hal qilish kerak edi. Dinamik manzilga tarjima qilish qimmat va qurilishi qiyin bo'lgan ixtisoslashtirilgan apparatni talab qildi; dastlabki dasturlar xotiraga kirishni biroz sekinlashtirdi. [7] Ikkilamchi xotiradan foydalanadigan yangi tizim miqyosidagi algoritmlar ilgari qo'llanilgan dasturlarga xos algoritmlarga qaraganda unchalik samarasiz bo'ladi degan xavotirlar mavjud edi. 1969 yilga kelib tijorat kompyuterlari uchun virtual xotira haqidagi bahslar tugadi; [7] bir IBM boshchiligidagi ilmiy jamoa David Sayre o'z virtual xotira Overlay tizimi izchil yaxshi qo'lda nazorat tizimlari ko'ra yaxshiroq ishlagan ekanligini ko'rsatdi. [18]70-yillar davomida o'zlarining virtual saqlashga asoslangan operatsion tizimlarini boshqaradigan IBM 370 seriyali ishbilarmon foydalanuvchilar uchun bir nechta eski tizimlarni narxlari / ishlash ko'rsatkichlari yaxshilangan kamroq, kuchliroq va asosiy tizimlarga ko'chirish uchun vosita yaratdilar. Virtual xotirani joriy qilgan birinchi minikompyuter Norvegiyaning NORD-1 ; 1970-yillar davomida boshqa kichik kompyuterlar virtual xotirani, xususan VMS ishlaydigan VAX modellarini amalga oshirdilar .
Virtual xotira uchun joriy etildi x86 bilan arxitektura himoyalangan rejimida tashkil Intel 80286 protsessori, lekin uning segment swapping texnikasi katta segmenti registri yomon tangachasimon. Intel 80386 mavjud ostidan disk xotira qo'llab joriy segmentatsiyasi holda boshqa istisnolar bilan zanjir sahifa aybi istisno imkon, qatlamda ikki aybi . Biroq, segment tavsiflovchilarini yuklash juda qimmat operatsiya bo'lib, operatsion tizim dizaynerlari pacing va segmentatsiya kombinatsiyasiga emas, balki pacingga qat'iy ishonishiga olib keldi. [ iqtibos kerak ]
Varaqlangan virtual xotira
Deyarli virtual xotira, barcha joriy tatbiqiy bir ajratish virtual manzil oraliq ichiga sahifalar , qo'shni virtual xotira manzillari bloklari. Zamonaviy [c] tizimlaridagi sahifalar odatda kamida 4 kilobayt hajmga ega; katta virtual manzillar diapazoniga yoki real xotiraning hajmiga ega bo'lgan tizimlar odatda kattaroq sahifa o'lchamlaridan foydalanadilar. [19]
Sahifalar jadvallari
Sahifa jadvallari dastur tomonidan ko'rilgan virtual manzillarni ko'rsatmalarga ishlov berish uchun apparat tomonidan ishlatiladigan jismoniy manzillarga aylantirish uchun ishlatiladi; [20] ushbu maxsus tarjimani boshqaradigan bunday apparat ko'pincha xotirani boshqarish bo'limi sifatida tanilgan . Sahifalar jadvalidagi har bir yozuv mos keladigan sahifaning haqiqiy xotirada yoki yo'qligini ko'rsatuvchi bayroqqa ega. Agar u haqiqiy xotirada bo'lsa, sahifalar jadvali yozuvida sahifa saqlanadigan haqiqiy xotira manzili bo'ladi. Uskuna tomonidan sahifaga havola qilinganida, agar sahifadagi jadval jadvalidagi yozuv u hozirda haqiqiy xotirada emasligini ko'rsatsa, apparat sahifaning xato holatlari istisnosini keltirib chiqaradi va disk xotira sozlagichining tarkibiy qismini chaqiradi.operatsion tizim .
Tizimlarda butun tizim uchun bitta sahifa jadvali, har bir dastur va segment uchun alohida sahifalar jadvallari, katta segmentlar uchun sahifalar jadvallari daraxti yoki ularning bir nechta birikmasi bo'lishi mumkin. Agar bitta sahifa jadvali bo'lsa, bir vaqtning o'zida ishlaydigan turli xil ilovalar bitta virtual manzilning turli qismlarini ishlatadi. Agar bir nechta sahifa yoki segment jadvallari bo'lsa, bir nechta virtual manzil bo'shliqlari va alohida sahifalar jadvallari bo'lgan bir vaqtning o'zida ilovalar turli xil haqiqiy manzillarga yo'naltiriladi.
SDS 940 kabi kichikroq haqiqiy xotira hajmiga ega bo'lgan ba'zi oldingi tizimlar manzil tarjimasi uchun xotiradagi sahifalar jadvallari o'rniga sahifa registrlaridan foydalangan .
Disk xotira rahbari
Operatsion tizimning ushbu qismi sahifalar jadvallarini yaratadi va boshqaradi. Agar apparat sahifada xatolik holatini keltirib chiqarsa, disk xotira noziri ikkinchi darajali xotiraga kirsa, natijada virtual manzilga ega bo'lgan sahifani qaytaradi, natijada sahifaning jadvallari virtual manzilning joylashishini aks ettiradi va tarjima mexanizmini so'rovni qayta ishga tushiring.
Barcha fizik xotira allaqachon ishlatilganda, disk xotira noziri almashtirilgan sahifani ushlab turish uchun asosiy xotirada sahifani bo'shatishi kerak. Nazoratchi sahifani almashtirish algoritmlaridan birini qo'llaydi, masalan, yaqinda qaysi sahifani bo'shatish kerakligini aniqlash uchun ishlatilgan .
Iplangan sahifalar
Operatsion tizimlar mahkamlangan xotira maydonlariga ega (hech qachon ikkilamchi xotiraga almashtirilmaydi). Boshqa so'zlar qulflangan , belgilangan yoki simli sahifalardir. Masalan, uzilish mexanizmlari o'zlarining ishlov beruvchilariga ko'rsatgichlar qatoriga tayanadi, masalan, I / O tugashi va sahifaning xatosi . Agar ushbu ko'rsatgichlarni o'z ichiga olgan sahifalar yoki ular chaqirgan kodlar sahifali bo'lsa, uzilishlar bilan ishlash ancha murakkab va uzoq vaqt talab etiladi, ayniqsa, sahifadagi xatolar to'xtab qolganda. Shunday qilib, sahifalar jadvali tuzilmalarining ba'zi qismlari sahifaga joylashtirilmaydi.
Ba'zi sahifalar qisqa vaqtga mahkamlangan bo'lishi mumkin, boshqalari uzoq vaqtga mahkamlangan bo'lishi mumkin, boshqalari esa doimiy ravishda mahkamlanishi kerak. Masalan: Disk xotira sozlagichining kodi va sahifalar joylashgan ikkinchi darajali saqlash moslamalari uchun drayverlar doimiy ravishda mahkamlangan bo'lishi kerak, aks holda kerakli kod mavjud bo'lmagani uchun paging ham ishlamaydi.
Vaqtni belgilashga bog'liq komponentlar o'zgaruvchan pacing kechikishini oldini olish uchun mahkamlangan bo'lishi mumkin.
To'g'ridan-to'g'ri xotiraga kirish yoki I / U kanallarini ishlatadigan periferik qurilmalar tomonidan kiriladigan ma'lumotlar buferlari mahkamlangan sahifalarda joylashishi kerak, chunki kirish-chiqarish jarayoni davom etmoqda, chunki bunday qurilmalar va ular biriktirilgan avtobuslar ma'lumotlar buferlarini topishni kutmoqdalar jismoniy xotira manzillarida; avtobusda I / U uchun xotirani boshqarish bo'limi mavjud bo'lishidan qat'i nazar, agar sahifa xatosi yuzaga kelsa va sahifa xatosi qayta ishlangandan so'ng qayta ishga tushirilsa, uzatishni to'xtatish mumkin emas.
IBM-ning System / 370 va voris tizimlari uchun operatsion tizimlarida bu atama "sobit" bo'lib, bunday sahifalar uzoq muddatli, qisqa muddatli yoki tuzatilmagan (ya'ni sahifalashga yaroqli) bo'lishi mumkin. Tizimni boshqarish tuzilmalari ko'pincha uzoq muddatli (devorning soati bilan o'lchanadi, ya'ni vaqt bir soniya bilan emas, balki soniyada o'lchanadi), I / U buferlari odatda qisqa muddatli (odatda sezilarli darajada o'lchanadi) devor soatidan kamroq, ehtimol o'nlab millisekundlarda). Darhaqiqat, operatsion tizimda ushbu qisqa muddatli sobit ma'lumotlar buferlarini "tezkor tuzatish" uchun maxsus imkoniyat mavjud (fiksatsiya vaqtni talab qiluvchi Supervisor Call ko'rsatmasiga murojaat qilmasdan amalga oshiriladi ).
Multics "simli" atamasini ishlatgan. OpenVMS va Windows vaqtincha sahifaga kiritilmaydigan (kiritish-chiqarish buferlarida) "qulflangan", va shunchaki hech qachon sahifaga kirolmaydigan sahifalar uchun "sahifaga qo'shib bo'lmaydigan" sahifalarni nazarda tutadi. Bitta UNIX Shartnoma , shuningdek, muddatli uchun belirtiminde "qulflangan" ishlatadi , deb albatta, odam-sahifalarni ko'p Unix-kabi tizimlar. mlock()mlock()
Virtual-real operatsiya
In OS / VS1 va shunga o'xshash operatsion tizim, tizimlar xotira ba'zi qismlari "V = R" deb nomlangan "virtual-real" rejimida, ham boshqariladi. Ushbu rejimda har bir virtual manzil bir xil haqiqiy manzilga to'g'ri keladi. Ushbu rejim uzilish mexanizmlari, eskirgan tizimlardagi disk xotira noziri va sahifalar jadvallari va nostandart I / U boshqaruvidan foydalanadigan dastur dasturlari uchun ishlatiladi. Masalan, IBM z / OS 3 rejimga ega (virtual-virtual, virtual-real va virtual-fix).
Qo'rqish
Qachon bir chaqiriq va sahifa o'g'irlik ishlatiladi, "deb nomlangan bir muammo tayoq kompyuter vaqt va bir-quvvatlash do'kondan sahifalarini o'tkazish bir unsuitably katta miqdorda mablag 'ajratadi bo'lgan bo'lishi mumkin", shuning uchun ham foydali ish sekinlashadi. Vazifaning ishchi to'plami foydali rivojlanish uchun xotirada bo'lishi kerak bo'lgan minimal sahifalar to'plamidir. Qo'rqitish barcha faol dasturlarning ishchi to'plamlarini saqlash uchun etarli xotira mavjud bo'lmaganda sodir bo'ladi. Haqiqiy xotirani qo'shish eng oddiy javobdir, ammo dastur dizayni, rejalashtirish va xotiradan foydalanishni yaxshilash yordam beradi. Yana bir echim - tizimdagi faol vazifalar sonini kamaytirish. Bu bir yoki bir nechta jarayonlarning butun ishchi to'plamini almashtirish orqali haqiqiy xotiraga bo'lgan talabni kamaytiradi.
Segmentlangan virtual xotira
Ba'zi tizimlar, masalan Burroughs B5500, [22] virtual manzil bo'shliqlarini o'zgaruvchan uzunlikdagi segmentlarga ajratib, disk raskadrovka o'rniga segmentatsiyadan foydalanadi . Bu erda virtual manzil segment raqami va segment ichidagi ofsetdan iborat. Intel 80286 bir variant sifatida shunga o'xshash segmentatsiyasi sxemasini qo'llab-quvvatlaydi, lekin u kamdan-kam hollarda ishlatiladi. Har bir segmentni sahifalarga bo'lish orqali segmentatsiya va pagingdan birgalikda foydalanish mumkin; ushbu xotira tuzilishiga ega bo'lgan tizimlar, masalan, Multics va IBM System / 38 , odatda xotira muhofazasini ta'minlaydigan paging-ustunlik qiladi.
Yilda Intel 80386 va keyinchalik IA-32 protsessorlari, segmentlar bir istiqomat 32-bit , chiziqli disk xotirasi manzili oraliq. Segmentlar ushbu bo'shliqda va tashqarida harakatlanishi mumkin; u erdagi sahifalar virtual xotiraning ikki darajasini ta'minlovchi asosiy xotiradan "tashqariga" chiqishi va chiqishi mumkin; agar biron bir operatsion tizim buni amalga oshirsa, buning o'rniga faqat paging-dan foydalaning. Dastlabki apparat yordami bo'lmagan x86 virtualizatsiya echimlari disk raskadrovka va segmentatsiyani birlashtirdi, chunki x86 paging faqat ikkita himoya domenini taklif qiladi, VMM / guest OS / mehmon dasturlari to'plami esa uchtaga muhtoj. [26] : 22Paging va segmentatsiya tizimlari o'rtasidagi farq nafaqat xotirani taqsimlash bilan bog'liq; segmentatsiya foydalanuvchi jarayonlariga, xotira modeli semantikasining bir qismi sifatida ko'rinadi. Demak, bitta katta bo'shliqqa o'xshagan xotira o'rniga u bir nechta bo'shliqlarga tuzilgan.
Ushbu farq muhim oqibatlarga olib keladi; segment - bu o'zgaruvchan uzunlikdagi sahifa yoki manzil maydonini uzaytirishning oddiy usuli emas. Jarayon xotirasi va fayl tizimi o'rtasida farq yo'q bo'lgan bir darajali xotira modelini taqdim eta oladigan segmentatsiya faqat jarayonning potentsial manzil maydoniga tushirilgan segmentlar (fayllar) ro'yxatidan iborat.
Bu mmap va Win32 kabi qo'ng'iroqlar tomonidan taqdim etilgan mexanizmlar bilan bir xil emasMapViewOfFile, chunki fayllarni yarim o'zboshimchalik bilan xaritalashda fayllararo ko'rsatgichlar ishlamaydi. Multics-da fayl (yoki ko'p segmentli fayldan segment) manzil maydonidagi segmentga taqsimlanadi, shuning uchun fayllar har doim segment chegarasida xaritalanadi. Faylni bog'lash bo'limida ko'rsatgichni registrga yuklash yoki u orqali bilvosita ma'lumot berishga urinish tuzoqni keltirib chiqaradigan ko'rsatgichlar bo'lishi mumkin. Eritilmagan ko'rsatkichda ko'rsatgich ko'rsatilgan segment nomi va segment ichidagi ofset mavjud; tuzoqqa ishlov beruvchi segmentni manzil maydoniga tushiradi, segment raqamini ko'rsatgichga qo'yadi, markerdagi yorliq maydonini endi tuzoqqa olib kelmasligi uchun o'zgartiradi va tuzoq sodir bo'lgan kodga qaytadan bajaradi. tuzoqqa sabab bo'lgan ko'rsatma.[28] Bu bartaraf ehtiyoj majburiy butunlay [7] va turli jarayonlar ularning xususiy manzili sohalarda turli joylarda bir xil fayl xarita qachon ishlaydi.
Manzil maydonini almashtirish
Ba'zi operatsion tizimlar, manzil bo'shliqlarini almashtirishga imkon beradi , bunda ular xotira va segmentatsiya uchun barcha imkoniyatlarga ega. Bu sodir bo'lganda, OS fayllarni almashtirish uchun ushbu sahifalarni va segmentlarni hozirda haqiqiy xotirada yozadi. Almashinishda operatsion tizim almashtirish fayllaridagi ma'lumotlarni o'qiydi, lekin almashtirish paytida operatsiya qilingan sahifalarni avtomatik ravishda o'qimaydi.
OS / VS2 Release 2 dan z / OS gacha bo'lgan IBM-ning MVS- lari manzil maydonini yaroqsiz deb belgilashni ta'minlaydi; buni amalga oshirish manzil maydoniga biron bir sahifani mahkamlamaydi. Buni ishning davomiyligi davomida yaroqsiz [30] asosiy dastur nomini Dastur xususiyatlari jadvaliga qaytarib bo'lmaydigan bayroq bilan kiritish orqali amalga oshirish mumkin . Bundan tashqari, imtiyozli kod SYSEVENT Supervisor Call (SVC) buyrug'i yordamida manzil maydonini vaqtincha o'zgartirilmasligi mumkin ; manzil maydoni fazilatlaridagi ba'zi o'zgarishlar [31] OSni almashtirishni va keyin SYSEVENT TRANSWAP-dan foydalanib, uni almashtirishni talab qiladi.
Ayirboshlash, masalan, bir nechta saqlash joylari bir xil saqlash maydonida almashtirilgan va almashtirilgan bo'lsa, xotira boshqaruvini talab qilmaydi.
Do'stlaringiz bilan baham: |