Кеңейтілген жад және DOS жүйесінде оның басқарылуы
Extended memory
DOS жүйесінде кеңейтілген жад – 1МБ жоғары жад. XMS арқылы қол жеткізіледі, программаларға қосымша жад ресурстарын ұсынады. HIMEM.SYS драйверімен басқарылады.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
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 деп те аталады) деп аталады.
In DOS memory management, extended memory refers to memory above the first megabyte (220 bytes) of address space in an IBM PC or compatible with an 80286 or later processor. The term is mainly used under the DOS and Windows operating systems. DOS programs, running in real mode or virtual x86 mode, cannot directly access this memory, but are able to do so through an application programming interface called the Extended Memory Specification (XMS). This API is implemented by a driver (such as HIMEM. SYS) or the operating system, which takes care of memory management and copying memory between conventional and extended memory, by temporarily switching the processor into protected mode. In this context, the term "extended memory" may refer to either the whole of the extended memory or only the portion available through this API. Extended memory can also be accessed directly by DOS programs running in protected mode using VCPI or DPMI, two (different and incompatible) methods of using protected mode under DOS. Extended memory should not be confused with expanded memory (EMS), an earlier method for expanding the IBM PC's memory capacity beyond 640 kB (655,360 bytes) using an expansion card with bank switched memory modules. Because of the available support for expanded memory in popular applications, device drivers were developed that emulated expanded memory using extended memory. Later two additional methods were developed allowing direct access to a small portion of extended memory from real mode. These memory areas are referred to as the high memory area (HMA) and the upper memory area (UMA; also referred to as upper memory blocks or UMBs).
Шолу
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 ұсынған стандартты әдіс.
On x86 based PCs, extended memory is only available with an Intel 80286 processor or higher. Only these chips can address more than 1 megabyte of RAM. The earlier 8086/8088 processors can make use of more than 1 MB of RAM if one employs special hardware to make selectable parts of it appear at addresses below 1 MB. On a 286 or better PC equipped with more than 640 kB of RAM, the additional memory would generally be re mapped above the 1 MB boundary, since the IBM PC architecture reserves addresses between 640 kB and 1 MB for system ROM and peripherals. Extended memory is not accessible in real mode (except for a small portion called the high memory area). Only applications executing in protected mode can use extended memory directly. A supervising protected mode operating system such as Microsoft Windows manages application programs' access to memory. The processor makes this memory available through the Global Descriptor Table (GDT) and one or more Local Descriptor Tables (LDTs). The memory is "protected" in the sense that memory segments assigned a local descriptor cannot be accessed by another program because that program uses a different LDT, and memory segments assigned a global descriptor can have their access rights restricted, causing a processor exception (e. g., a general protection fault or GPF) on violation. This prevents programs running in protected mode from interfering with each other's memory. A protected mode operating system such as Microsoft Windows can also run real mode programs and provide expanded memory to them. The DOS Protected Mode Interface (DPMI) is Microsoft's prescribed method for a DOS program to access extended memory under a multitasking environment.
Кеңейтілген жад (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 оларды бөліп алып, өзі басқаруға тырысады.
The Extended Memory Specification (XMS) is the specification describing the use of IBM PC extended memory in real mode for storing data (but not for running executable code in it). Memory is made available by extended memory manager (XMM) software such as HIMEM. SYS. The XMM functions are accessible through software interrupt 2Fh function 4310h. XMS version 2.0, released in July 1988, allowed for up to 64 MB of memory, with XMS version 3.0 this increased to 4 GB (232 bytes). To differentiate between the possibly different amount of memory that might be available to applications, depending on which version of the specification they were developed to, the latter may be referred to as super extended memory (SXMS). The extended memory manager is also responsible for managing allocations in the high memory area (HMA) and the upper memory area (UMA; also referred to as upper memory blocks or UMBs). In practice the upper memory area will be provided by the expanded memory manager (EMM), after which DOS will try to allocate them all and manage them itself.