확장 메모리

Extended memory
확장 메모리는 1MB 이상입니다.

DOS 메모리 관리에서 확장 메모리는 IBM PC의 첫 번째 메가바이트(2바이트) 이상의20 주소 공간 또는 80286 이후 프로세서와 호환되는 메모리를 말합니다.이 용어는 주로 DOS 및 Windows 운영 체제에서 사용됩니다.실제 모드 또는 가상 x86 모드로 실행되는 DOS 프로그램은 이 메모리에 직접 액세스할 수 없지만 확장 메모리 사양(XMS)이라고 하는 애플리케이션 프로그래밍 인터페이스를 통해 액세스할 수 있습니다.이 API는 드라이버(HIMEM 등)에 의해 구현됩니다.SYS) 또는 프로세서를 일시적으로 보호 모드로 전환함으로써 기존 메모리와 확장 메모리 간의 메모리 관리복사 작업을 수행하는 운영 체제.이 문맥에서 "확장 메모리"라는 용어는 확장 메모리의 전체 또는 이 API를 통해 사용 가능한 부분만을 나타낼 수 있습니다.

확장 메모리는 VCPI 또는 DPMI를 사용하여 보호모드로 동작하는 DOS 프로그램에서도 직접 액세스 할 수 있습니다.이것은 DOS에서 보호모드를 사용하는 두 가지 방법(다른 방법과 호환되지 않는 방법)입니다.

확장 메모리는 뱅크 전환 메모리 모듈이 있는 확장 카드를 사용하여 IBM PC의 메모리 용량을 640kB(655,360바이트) 이상으로 확장하는 이전 방법인 확장 메모리(EMS)와 혼동해서는 안 됩니다.일반적인 애플리케이션에서는 확장 메모리가 지원되기 때문에 확장 메모리를 사용하여 확장 메모리를 에뮬레이트하는 디바이스 드라이버가 개발되었습니다.나중에 리얼 모드에서 확장 메모리의 작은 부분에 직접 액세스할 수 있는 두 가지 추가 방법이 개발되었습니다.이러한 메모리 영역을 HMA(High Memory Area) 및 Upper Memory Area(UMA; 상위 메모리 블록)라고도 합니다.

개요

x86 베이스의 PC에서는, 확장 메모리는 인텔 80286 프로세서 이후에서만 사용할 수 있습니다.이 칩만이 1메가바이트 이상의 RAM을 처리할 수 있습니다.이전의 8086/8088 프로세서는 특수 하드웨어를 사용하여 RAM의 선택 가능한 부분을 1MB 미만의 주소로 표시할 경우 1MB 이상의 RAM을 사용할 수 있습니다.

640kB 이상의 RAM을 갖춘 286 이상의 PC에서는 IBM PC 아키텍처가 시스템 ROM 및 주변기기를 위해 640kB에서 1MB 사이의 주소를 예약하기 때문에 추가 메모리는 일반적으로 1MB 경계 위에 다시 매핑됩니다.

확장 메모리는 리얼 모드에서는 액세스 할 수 없습니다(고메모리 영역이라고 불리는 작은 부분을 제외).보호 모드에서 실행되는 응용 프로그램만 확장 메모리를 직접 사용할 수 있습니다.Microsoft Windows와 같은 감시 보호 모드 운영 체제는 애플리케이션 프로그램의 메모리 액세스를 관리합니다.프로세서는 이 메모리를 Global Descriptor Table(GDT; 글로벌 기술자 테이블)과 1개 이상의 Local Descriptor Table(LDT; 로컬 기술자 테이블)에서 사용할 수 있도록 합니다.로컬 디스크립터가 할당된 메모리세그먼트는 다른 프로그램에서 액세스할 수 없으며, 글로벌 디스크립터가 할당된 메모리세그먼트는 액세스 권한이 제한되어 프로세서의 예외(일반 보호 장애 또는 GPF 등)가 위반되는 원인이 될 수 있습니다.이것에 의해, 보호 모드로 실행되고 있는 프로그램이 서로의 메모리에 간섭하는 것을 방지할 수 있습니다.

Microsoft Windows 와 같은 보호 모드 operating system에서는, 리얼 모드 프로그램을 실행해, 확장 메모리를 제공할 수도 있습니다.DOS Protected Mode Interface(DPMI; DOS 보호 모드 인터페이스)는 멀티태스킹 환경에서 DOS 프로그램이 확장 메모리에 액세스하기 위한 Microsoft의 규정된 방법입니다.

확장 메모리 사양(XMS)

XMS(Extended Memory Specification)는 데이터를 저장하기 위한 실제 모드에서의 IBM PC 확장 메모리 사용을 기술하는 사양입니다(데이터에서 실행 가능한 코드를 실행하기 위한 사양은 아닙니다).메모리HIMEM 등의 Extended Memory Manager(XMM) 소프트웨어로 사용할 수 있습니다.SYS. XMM 기능은 소프트웨어 인터럽트 2Fh 기능 4310h를 통해 액세스할있습니다.

1988년 7월에 출시된 XMS 버전 2.0에서는 최대 64MB의 메모리를 사용할 수 있으며, XMS 버전 3.0에서는 최대 4GB(2바이트)로32 증가했습니다.응용 프로그램에서 사용할 수 있는 메모리의 양을 구별하기 위해 응용 프로그램이 개발된 사양의 버전에 따라 후자를 Super Extended Memory(SXMS; 슈퍼 확장 메모리)라고 부릅니다.

확장 메모리 매니저는 HMA(High Memory Area) 및 UMA(Upper Memory Blocks(UMB; 상위 메모리 블록)이라고도 함)의 할당 관리도 담당합니다.실제로는 메모리 상한 영역은 확장 메모리 매니저(EMM)에 의해 제공되며, 그 후 DOS는 메모리 상한 영역을 모두 할당하고 관리합니다.

「 」를 참조해 주세요.

레퍼런스

사양
Microsoft Knowledge Base
  • "A General Tutorial on the Various Forms of Memory". Support. Microsoft.[데드링크]
  • "Overview of Memory-Management Functionality in MS-DOS". Support. Microsoft.[데드링크]
  • "Microsoft Diagnostic Utility: Definition of SXMS". Support. Microsoft.[데드링크]

외부 링크