CompuServe Messages

#SLOWWWWW ACAD

    19-Feb-92 02:50:38
Sb: #33621-#SLOWWWWW ACAD
Fm: Joe MacRae 76702,1302
To: Raymond H Emplit 72607,2252
Raymond, If you disable EMS you are essentially telling the machine "….sure, we got all this ram, but we aren't gonna' use it." So the machine doesn't. It still sees it, but it really won't access it and you are choking it down to just the one meg originally specified in DOS for the PC. (incidentally this is a situation we live with even today and the reason for page frames) Even though the machines and new processors will let you see and use more than the original one meg of ram, we still have to go through contortions to access any memory above the one megabyte barrier set in the original DOS. The way this is done is to establish a frame area in ram and swap sections of the extended or expanded memory into and out of this area. This is the page frame and is commonly or defaulted to 64k. In DOS 5.0 you can set up to 4 page frames and control their size from 16k (I believe) to 256k. Each byte (and bit for that matter) has a specific address in memory. With the DOS usage of address and offset we are able to access one meg of ram in an 8 bit operating system. (rather unique for DOS by the way) An 8 bit system only has 256 individual and unique addresses but by adding an 8 bit offset we can increase this to 65,536 (or 64k or a DOS segment. Ever wonder why a .COM program was limited to 64k ??? Or where the small model program came from??) Now add a nibble to the front of the address (4 bits or one hex number) for a total of 16 segments and we get one meg. As you see DOS actually works with a 20 bit address…a nibble for the segment, a byte for the sector and a byte for the offset. This is where these funny addresses come from like CAF15. These are hex numbers that represent these addresses and have a range from 00000 to FFFFF. 10 of these segments were assigned to the programming area and the other 4 were assigned to the machine for housekeeping (BIOS and stuff). The memory managers actually swap additional memory segments into and out of the 11th segment just above the 640k DOS limit for programming. and they establish swapping segments in the EMS to be able to do this (this is where