Кіріспе

DOS жадымен басқаруда кеңейтілген жад – IBM PC немесе 80286 немесе одан кейінгі процессорларымен үйлесімді жүйедегі мекенжай кеңістігінің бірінші мегабайттан (220 байт) жоғары жадты білдіреді. Бұл термин негізінен DOS және Windows операциялық жүйелерінде қолданылады. DOS бағдарламалары, нақты режимде немесе виртуалды x86 режимінде жұмыс істейтін болғандықтан, бұл жадқа тікелей кіре алмайды, бірақ кеңейтілген жад спецификациясы (XMS) деп аталатын қолданбалық бағдарламалау интерфейсі арқылы кіре алады. Бұл API драйвер (мысалы, HIMEM.SYS) немесе операциялық жүйе арқылы іске асырылады, ол процессорды уақытша қорғалған режимге ауыстыра отырып, жадыны басқаруға және кәдімгі жад пен кеңейтілген жад арасында жадыны көшіруді қамтамасыз етеді. Осы контексте "кеңейтілген жад" термині кеңейтілген жадтың барлық бөлігіне немесе осы API арқылы қолжетімді бөлігіне қатысты болуы мүмкін. DOS-те қорғалған режимде жұмыс істейтін бағдарламалар VCPI немесе DPMI арқылы кеңейтілген жадқа тікелей қол жеткізе алады, бұл DOS-те қорғалған режимді пайдаланудың екі (әртүрлі және үйлеспейтін) тәсілі. Кеңейтілген жадты кеңейтілген жадпен (EMS) шатастырмау керек, ол IBM PC жадының сыйымдылығын 640 кБ-тан (655,360 байт) асырудың бұрынғы тәсілі, банктелген жад модульдері бар кеңейту картасын пайдалану арқылы. Көптеген қолданбаларда кеңейтілген жадты қолдау болғандықтан, кеңейтілген жадты эмуляциялайтын құрылғы драйверлері жасалды. Кейіннен, нақты режимнен кеңейтілген жадтың кішкентай бөлігіне тікелей қол жеткізуге мүмкіндік беретін екі қосымша тәсіл әзірленді. Бұл жад аймақтары жоғары жад аймағы (HMA) және жоғарғы жад аймағы (UMA; сондай-ақ жоғарғы жад блоктары немесе UMB деп те аталады) деп аталады.

Шолу

x86 негізіндегі компьютерлерде кеңейтілген жад тек Intel 80286 процессоры немесе одан жоғары деңгейдегі процессорлармен қолжетімді. Дәл осы чиптер ғана 1 мегабайттан астам жедел жадты пайдалана алады. Алдыңғы 8086/8088 процессорлары 1 МБ-тан астам жедел жадты қолдана алады, егер оның бөліктерін 1 МБ-тан төменгі мекенжайларға шығару үшін арнайы аппараттық құралдар қолданылса. 286 немесе одан жақсы, 640 кБ-тан астам жедел жады бар компьютерде қосымша жад әдетте 1 МБ шегінен жоғары қайта картаға түсіріледі, себебі IBM PC архитектурасы 640 кБ мен 1 МБ аралығындағы мекенжайларды жүйелік ROM және перифериялық құрылғылар үшін резервтейді. Кеңейтілген жад нақты режимде қолжетімді емес (жоғары жад аймағы деп аталатын шағын бөлігінен басқа). Тек қорғалған режимде іске қосылатын бағдарламалар ғана кеңейтілген жадты тікелей пайдалана алады. Microsoft Windows сияқты қорғалған режимдегі операциялық жүйе бағдарламалардың жадқа қол жеткізуін қадағалайды және басқарады. Процессор бұл жадты Global Descriptor Table (GDT) және бір немесе бірнеше Local Descriptor Tables (LDTs) арқылы қолжетімді етеді. Жад "қорғалған" деп есептеледі, себебі жергілікті дескриптормен тағайындалған жад сегменттеріне басқа бағдарлама қол жеткізе алмайды, өйткені ол өзге LDT-ны пайдаланады, ал жаһандық дескриптормен тағайындалған жад сегменттеріне қол жеткізу құқықтары шектелуі мүмкін, бұл процессордың қатесіне (мысалы, жалпы қорғау қатесі немесе GPF) әкелуі мүмкін. Бұл қорғалған режимде жұмыс істейтін бағдарламалардың бір-бірінің жадына кедергі келтірмеуін қамтамасыз етеді. Microsoft Windows сияқты қорғалған режимдегі операциялық жүйе сондай-ақ нақты режимдегі бағдарламаларды іске қоса алады және оларға кеңейтілген жадты ұсынуы мүмкін. DOS Protected Mode Interface (DPMI) – көп тапсырмалы ортада DOS бағдарламасының кеңейтілген жадқа қол жеткізуі үшін Microsoft ұсынған стандартты әдіс.

Кеңейтілген жад (XMS) спецификациясы

Кеңейтілген жад спецификациясы (XMS) — деректерді сақтау үшін (бірақ оның ішінде орындалатын кодты іске қосу үшін емес) IBM PC кеңейтілген жадының нақты режимде қолданылуын сипаттайтын спецификация. Жады HIMEM сияқты кеңейтілген жад менеджері (XMM) бағдарламалық қамтамасы арқылы қолжетімді болады. SYS. XMM функциялары 2Fh функциясы 4310h бағдарламалық үзіліс арқылы қолжетімді. 1988 жылдың шілдесінде жарық көрген XMS 2.0 нұсқасы 64 МБ дейін жадты қолдауға мүмкіндік берді, ал XMS 3.0 нұсқасымен бұл көлем 4 ГБ-қа дейін (232 байт) артты. Қолданбаларға қолжетімді жадтың мөлшері, олар қандай нұсқаға сәйкес әзірленгеніне байланысты, әртүрлі болуы мүмкін. Сондықтан, кейінгі нұсқаны супер кеңейтілген жад (SXMS) деп атауға болады. Кеңейтілген жад менеджері жоғары жад аймағындағы (HMA) және жоғарғы жад аймағындағы (UMA; сонымен қатар жоғарғы жад блоктары немесе UMB деп те аталады) бөлуді басқаруға жауапты. Іс жүзінде жоғарғы жад аймағын кеңейтілген жад менеджері (EMM) қамтамасыз етеді, содан кейін DOS оларды бөліп алып, өзі басқаруға тырысады.