☆The memory (RAM) on a PC can be divided into 4 categories:
1. Traditional Memory
The address space of traditional memory is between 0KB ~ 640KB. Regardless of the type of CPU used, from 8086 to 486, traditional memory is necessary. It is the most important stage for MS-DOS to run programs.
2. Reserved Memory
Since MS-DOS was originally an operating system designed for 8086/8088 CPUs, it can use at most 1MB of memory. The first 640KB of this 1MB memory is the aforementioned traditional memory; as for the remaining 384KB, it is reserved for BIOS ROM, ROM on hardware interface cards (such as VGA cards, hard disk control cards), and VidelBuffer.
The address space of reserved memory (Reserved Memory) is between 640KB ~ 1024KB, which is an address space reserved for external use. Reserved memory should not actually be called memory, but should be called reserved memory space, because no physical RAM is installed in this space.
In the 384KB address space of reserved memory, in addition to being used by video buffers, BIOS ROM, and other hardware expansion cards, there are still many gaps. The paging (paging) capability of 386/486 can be used to map extended memory over to fill these gaps, because these gaps are still within the 1MB range of DOS. (Previously, because there was no installed memory, it could not be used. Now, after configuring memory with paging technology, it becomes memory available for DOS - I don't really understand this sentence) We call the memory above the 640KB address "Upper Memory (Upper Memory)", and upper memory may be divided into several blocks due to the installation of external cards, so it is also called Upper Memory Blocks ( Upper Memory Blocks ) for short UMB.
3. Extended Memory
Extended memory (Extended Memory) refers to the memory after 1024KB. For our memory RAM, after deducting 640KB of traditional memory, the rest is all extended memory.
Although all RAM is arranged together from the computer motherboard, in fact, the RAM beyond the 640KB traditional memory is inserted in the space after 1MB, skipping the 384KB reserved memory. (There is no RAM in the interval of 640KB ~ 1024KB)
Since MS-DOS originally could only manage memory within 1MB, and there is no physical RAM in the reserved memory, only traditional memory is the "jurisdiction" of MS-DOS. It is necessary to use the protected mode of 286/386/486 to use the memory above the 1024KB address.
(1) HMA
The first 64KB (1024 ~ 1088KB) of extended memory after 1MB is called HMA (High Memory Area).
For CPUs above 80286, since the address lines exceed 20, it can cleverly enable DOS to obtain an additional 64KB of use space. The key is whether the CPU turns on the A20 address line (set to ON). So on computers above 286, setting the A20 address to ON uniformly can obtain this additional 64KB of memory, which is where HMA is located.
(2) XMM
As mentioned earlier, MS-DOS cannot manage extended memory. In order to effectively use extended memory, the program should uniformly use extended memory through a "manager". Such a manager is called an extended memory manager (XMM, extended Memory Manager).
(3) XMS (extended Memory Specification)
In order to have a common "management rule", Lotus/Intel/Microsoft/AST four companies put forward the so-called XMS rule. The Himen.sys program provided by MS-DOS is an extended memory manager that conforms to this rule.
4. Expanded Memory
The memory expanded by inserting memory into the expanded memory slot is called "Expanded Memory". It is not linearly arranged after 1MB like extended memory, but is independent. Lotus/Intel/Mircosoft three companies jointly put forward the so-called LIM/EMS (~Specification) specification. According to the LIMEMS regulations, the program must access data in expanded memory through page frame (Page Frame) mapping. Unlike other memories that can directly access data according to the address, so the speed is slower. (I have no concept of this piece at all, could it be that the memory in the second slot now belongs to expanded memory? #_#)
[ Last edited by Billunique on 2007-4-9 at 08:01 AM ]
1. Traditional Memory
The address space of traditional memory is between 0KB ~ 640KB. Regardless of the type of CPU used, from 8086 to 486, traditional memory is necessary. It is the most important stage for MS-DOS to run programs.
2. Reserved Memory
Since MS-DOS was originally an operating system designed for 8086/8088 CPUs, it can use at most 1MB of memory. The first 640KB of this 1MB memory is the aforementioned traditional memory; as for the remaining 384KB, it is reserved for BIOS ROM, ROM on hardware interface cards (such as VGA cards, hard disk control cards), and VidelBuffer.
The address space of reserved memory (Reserved Memory) is between 640KB ~ 1024KB, which is an address space reserved for external use. Reserved memory should not actually be called memory, but should be called reserved memory space, because no physical RAM is installed in this space.
In the 384KB address space of reserved memory, in addition to being used by video buffers, BIOS ROM, and other hardware expansion cards, there are still many gaps. The paging (paging) capability of 386/486 can be used to map extended memory over to fill these gaps, because these gaps are still within the 1MB range of DOS. (Previously, because there was no installed memory, it could not be used. Now, after configuring memory with paging technology, it becomes memory available for DOS - I don't really understand this sentence) We call the memory above the 640KB address "Upper Memory (Upper Memory)", and upper memory may be divided into several blocks due to the installation of external cards, so it is also called Upper Memory Blocks ( Upper Memory Blocks ) for short UMB.
3. Extended Memory
Extended memory (Extended Memory) refers to the memory after 1024KB. For our memory RAM, after deducting 640KB of traditional memory, the rest is all extended memory.
Although all RAM is arranged together from the computer motherboard, in fact, the RAM beyond the 640KB traditional memory is inserted in the space after 1MB, skipping the 384KB reserved memory. (There is no RAM in the interval of 640KB ~ 1024KB)
Since MS-DOS originally could only manage memory within 1MB, and there is no physical RAM in the reserved memory, only traditional memory is the "jurisdiction" of MS-DOS. It is necessary to use the protected mode of 286/386/486 to use the memory above the 1024KB address.
(1) HMA
The first 64KB (1024 ~ 1088KB) of extended memory after 1MB is called HMA (High Memory Area).
For CPUs above 80286, since the address lines exceed 20, it can cleverly enable DOS to obtain an additional 64KB of use space. The key is whether the CPU turns on the A20 address line (set to ON). So on computers above 286, setting the A20 address to ON uniformly can obtain this additional 64KB of memory, which is where HMA is located.
(2) XMM
As mentioned earlier, MS-DOS cannot manage extended memory. In order to effectively use extended memory, the program should uniformly use extended memory through a "manager". Such a manager is called an extended memory manager (XMM, extended Memory Manager).
(3) XMS (extended Memory Specification)
In order to have a common "management rule", Lotus/Intel/Microsoft/AST four companies put forward the so-called XMS rule. The Himen.sys program provided by MS-DOS is an extended memory manager that conforms to this rule.
4. Expanded Memory
The memory expanded by inserting memory into the expanded memory slot is called "Expanded Memory". It is not linearly arranged after 1MB like extended memory, but is independent. Lotus/Intel/Mircosoft three companies jointly put forward the so-called LIM/EMS (~Specification) specification. According to the LIMEMS regulations, the program must access data in expanded memory through page frame (Page Frame) mapping. Unlike other memories that can directly access data according to the address, so the speed is slower. (I have no concept of this piece at all, could it be that the memory in the second slot now belongs to expanded memory? #_#)
[ Last edited by Billunique on 2007-4-9 at 08:01 AM ]
★①②③④⑤⑥⑦⑧⑨⑩㈠㈡㈢㈣㈤㈥㈦㈧㈨㈩ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ【●】→←↑↓▲

)

. These days I'm a bit busy and don't know what to record. But I'll persevere~ Keep learning to the end!