X-Apparently-From: Message-ID: <008001c05d17$df2bbb30$a3881004@dbcooper> From: "Patrick Moran" To: References: <004c01c05a76$4732db90$c5881004 AT dbcooper> <2 DOT 07b7 DOT 12T7Y DOT G4UHO7 AT belous DOT munic DOT msk DOT su> <004701c05b86$1da8c940$fc881004 AT dbcooper> <2 DOT 07b7 DOT 19D8Q DOT G4XQJB AT belous DOT munic DOT msk DOT su> Subject: Re: BASIC & EMS (was: Optimizing CONFIG.SYS...) Date: Sat, 2 Dec 2000 12:31:06 -0700 MIME-Version: 1.0 Content-Type: text/plain; charset="koi8-r" Content-Transfer-Encoding: 8bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.00.3018.1300 X-MimeOLE: Produced By Microsoft MimeOLE V5.00.3018.1300 Reply-To: opendos AT delorie DOT com ----- Original Message ----- From: "Arkady V.Belousov" To: Sent: Saturday, December 02, 2000 3:01 AM Subject: Re: BASIC & EMS (was: Optimizing CONFIG.SYS...) > X-Comment-To: Patrick Moran > > Hi! > > 1-δΕΛ-2000 03:57 pmoran22 AT yahoo DOT com (Patrick Moran) wrote to > : > > PM> Okay, what the hello is XMS meory? > > XMS is not a memory, but a specification, API to access extended > memory for "real mode" programs (see below). That is what I have been trying to say, it is extended memory and yes it is real physical memory, it is not virtual memory. You can touch the chips, feel them get warm and use that memory. XMS itself is a memory manager, however the memory used through XMS is refered to as XMS memory. > PM> Is it ENTEDED meory or just another stupid swap em out memory? > > XMS is not a memory, this is a specification how to exchange data > between conventional memory (for direct access) and extended memory (to > store data there). It is a memory manager and XMS memory is real physical memory. > PM> Extended memory does not swapping you are in > PM> memory above 1MB when you use ectended memory and you are in protected mode > PM> when using extended memory. > > Please, don't mix extended memory itself and XMS API to access this > memory. When program work in "native" 386+ mode (so called "protected mode") > then it have full access to all physical/virtual memory and there is no > requirements to additional explicit APIs. But me talk not about "32bit" > programs (286 CPU is not 32-bit but this not change the idea), we compare > two specification to access additional memory (XMS and EMS) in "16bit" > programs which works in "real" mode (or in "V86" mode) and have "native" > access only to 1M of memory. That is true, however, the 286 does have the same protected mode as does the 386. The 286 does not have the v86 protected mode. XMS itself is nother more that just another memory manager, but XMS memory is real physical memory. It is EMS that screws with extended memory, XMS just gives DOS the ability to access it. You can load ramdrives, caches and many other things into extended memory and use them without any memory manager. They can be loaded directly into extended memory before EMM386, QEMM, HIMEM.SYS or any other memory manager is loaded. I could do this on my 286 before DOS 5 ever came out. I used DOS 3.3. I could also access extended memory on the 286 with DOS 5.0 with only 512K conventional memory installed and no UMB memory capability at all. I could load DRDOS 6.0 into HMA and Windoze could run using that extended memory. However, I had to use a special memory manager for using HMA with DRDOS 6.0 because my board did not have one of the chipsets that DRDOS needed to use it's HIMEM.SYS. I believe the memory manager was called HRAM. It was a shareware product. > This thread started when you prosecute EMS as very bad specification in > compare with XMS. I try to show you: EMS have _only one_ contra - it cuts > frame for working from 1M addressing. This have nothing common with Windows, > Task manager, etc which are protected mode apps and don't require XMS and > EMS to access extended memory for itself. You got it right. That is what I have been saying all along. EMS sucks. I don't need EMS to swap apps when using Task Manager. However, Task manager can use more than 1MB for any application that needs it. EMS is limited to 32MB of RAM. XMS is not. Task manager can let a task use extended memory and you can linit the amount that each task can access. Some apps such as Word Perfect, will take all the available extended, expaned or whatever else you have above 1MB unless you limit it. You can set this linit within WP, but with Task manager, you can set that limit for all programs. Check out the Task manager setup isn DRDOS. You will find an entry for max amount of memory per app. > PM> In Task manager, you are in protected mode and > PM> you use EXTENDED memory. There is no swapping of memory, each task is > PM> residing in a different area of memeory above 1MB and all you do when you > PM> swap windows or apps is to simply jump to that area of memory. Everything is > PM> running at the same time, it is multitasking, not the crap Gates came out > PM> with that merely swaps things around. Check out Linux sometime and see what > PM> is really, really TRUE MULITASKING. > > This is _not_ "true" multitasking. True multitasking arise only on > multi-CPU systems, on one CPU you can have only time sharing system. No, No, No! That is not true. You are mixing apples with oranges. Multi CPU systems are Multiprocessing! Not multitasking, although they do multitasking as well as multiprocessing. Linux can do both, in fact since the first beta release of Linux (v1.0) you could use up to 4 CPUs for multiprocessing. I have not checked recently, but at least two years ago they alpha kernels were being developed to increase this to 16 CPUs as I recall. I know it was more than 8. There is a super computer in Scottland or was it Ireland, I believe it is in Scottland that uses 256 DEC alpha processors working in parallel. I don't recall the OS that is used for that system. They claimed it out performed the CRAY II super compuers and was far, far cheaper. (Last I heard about the CRAY ii was they cost 16MIL.) (Of course we now have the CRAP PI super computers, but at that time the PI did not exist.) > And which your hatting of "MS crap" have relation to XMS/EMS > "opposition"? Becuase DOS should have been rewritten from the very beginning to use protected mode as Intel warned both Gates and IBM about before the IMB PC was ever marketed, that's why! Gates did not write DOS. DOS came from QDOS/86-DOS written by Tim Paterson of SCP. Paterson made a few changes to it for the IBM PC and gates bought it for $50,000 and hired Tim away from SCP. That's why! Gates has screwed us from the very beginning, that's why! Now we are stuck with half a zillion different memory specifications and memory managers and other crap, that should never have existed in the first place, that's why! > PM> DV is not a true multi-tasker, it shares CPU time between applications > PM> loaded, just like Gates' stupid WINDOZE does. > > Wrong. Yes, Win 3.x is an "preemtive multasking" (i.e. cooperative > multitasking) but Win95 is an... hm, forget the word which describes > displaced multitasking... for Win95 native apps, also as DV, Linux and... > NT. No, DV and TM are both pre-emptive multi-tasking, windoxe is not. Although windoze did or does use it for DOS stuff, it is not the same thing and there is a difference between what 3.x and 9x uses, but I don't recall the details of which is what. My point is that Linux is a true multi-tasker. DV and TM use ticks to distribute the time for each app. Lets say I am running 6 apps in either one and I have the tick ratio set to 1 for foreground and 5 for background. Even if the background apps are not doing anything they still get their ticks. i.e. CPU time.So any app that is idle, including the one in the foreground, will slow down the other apps, whether or not it actually needs any CPU time. So the apps in the background would be running at 1/5 the speed EVEN if the foreground app is idle and not using any CPU time at all. This is rarely the case because all apps usually look for an input from the keyboard, but if an app is idle, it is still hogging CPU time it does not need. OTOH Widoze hogs everything, memory, resources, bloated programs and everything else you can think of and still does nothing! Hmmm, yes it does, it could be considerd a virus, because it hogs everything and does nothing. I think the program is Load Runner. you could play that game on a Coomodore C-64 (probably even a VIC-20) an APPLE ][, an IBM PC under DOS and an IBM PC under windoze. The Commodore/Apple version of the game was well under 32k, the DOS version was a few hundred K and the WINDOZE version is up into the megabytes for the same program!!!!!! Seems to me we are going in reverse at a high rate of speed!!!!! > PM> When you use EXTENDED memory > PM> in protected mode, you actually run several processes simutaneously. In > > When we use extended memory in protected mode, then this _not_ mean > "several process simultaneous running". It does when I am using several apps under task manager, which is what I have been talking about. If I was only running one app, I would not been talking about SWAPPING APPS. I don't need Task manager when I run a single app, I don't need DV when I am running a single app. In all cases, I would rather use extended memory when I need additional memory because I don't have to go through a tiny 64k window to get access to extended memory. that is what expanded memory does. When you use extended memory you access it directly (through a memory manager with DOS.) With EMS you swap out conventional memory to ectended and extended memory to conventional memory through a 64k window. There is no such swapping with XMS extended memory mangaer. I did use the term extended memory for all of the above because expanded memory is in fact extended memory through a memory manager and it is then called axpanded memory, but in fact it is all the same memory and all exist above 1MB and is all extended memory as far as the hardware is concerned. (A20 gate.) > > PM> virtual 86 mode you actually have each process running jst as though each > PM> one had it's own 8086 computer. It would be the same as running five tasks > PM> on five IBM XTs. or PCs. > > PM> So what is XMS. And what does Task manager use. > > Wrong - see above. No it is not wrong. v85 is exactly that, each process in v86 mode is operating under protected mode and each process is the equivelent of a separate 1MB 8086 computer. > PM> I believe it uses DPMS which is DOS Protected Mode Services. That is > PM> what I use for multi-tasking in DOS. > PM> That is EXTENDED memory in PROTECTED MODE. I believe it is virtual 86 > PM> protected mode that Task manager uses. There is no freeking memory swapping > PM> with Task manager. > PM> Desqview, on the other hand, uses stupid time consumming memory swapping > PM> through a tiny 64K window and uses stupid EMS to do it. Each process running > PM> is swapped into and out of conventional memory. > > If this so then I think there was the real reasons (compatability, for > example) to do this. This is sort of true.It goes back to the early days of the 8086. In 1982 Bill gates said theat 640K should be enough for anyone, that is an exact quote. Probably while he was saying, someone read about it and cussed because their speadsheet had already consumed the whole 640k of memory. So Lotus wanted to make more memory available to it's speadsheet users. Some hardware companies like AST and several others were making memory boards that would produce more useable memory for the PC/XT computers. So lotus, Intel and MS got together and created the LIM 3.2 expanded memory specifications. So hardware manufactures followed these specifications and made expansion memory cards to plug into the IBM PC. This memory existed past the 1MB limit of the 8086CPU. So they had to be able to access this memory and swap it into and out of conventional memory. Extended memory had not yet come about. When the 80286 came out, it had memory from 0 through 1MB covering the entire range and had the capability of addressing directly 16MB of memory. (and a bunch more virtual memory, I don't remember the 286 limit, but think it was either 2 or 4GB, the 386 is somewhere in the terabyte range for virtual memory.) So now a new specification was needed because the 286 had protected mode for memory above 1MB and was extended memory. AST developed EEMS which would utilize this new boundless memory capability. So lotus, Intel and MS got back together again, but neither Intel nor MS ever really approved or used the LIM 3.2. So they developed a new specification, the LIM 4.0. This would not have occurred had Intel not goofed in the first place with the 286. There was no way for the 286 to get back into real mode from protected mode except by using tricks and an opcode that was undocumented and onlu for use by Intel engineers. So because of this, extended memory useage was put on hold. many programs were developed that would use this area, but there were no standards and if you had more than one such program, TSR, Driver. or whatever running at the same time, often one would clobber the other and you would get a system crash. Everyone though that this new memory belonged to them exclusively. they did not care if some other comapany made software that could also use this memory. So extended memory was chaos. So Lotus, Intel and MS, stole most of ASTs EEMS without consulting AST and wrote a new specification called LIM 4.0. LIM 4.0 could use a lot more memroy that 3.2 and had a larger window to swap memory. I think the LIM 3.2 had an 8MB limit. LIM 4.0 has a 32MB limit. People using spreadsheets and probably a few other applications needed more than 8MB of RAM. BTW Lotus did not want to use the new LIM 4.0 so they stuck with the old 3.2 for a while, then finally accepted the new standard. Some of the older versions of Lotus would not work with DRDOS EMS. That was probably due to the fact that Lotus would not use the new standard and stuck with the old and DRDOS prpbably was not fully backward compatibile with the old 3.2 standard. Then the 386 came out and Intel finally got things right. So EMM386 was developed and HIGHMEM.SYS was developed. However, since so many programs had been developed and used EMS memory, EMM386 was developed using the LIM 4.0 standards for compatibilty with old programs so they would continue to work under the new 386 standard. basically you can blame all three for their screwups that has led to this problem, L, I, and M! All of them screwed up, each in their own way. > I also not liked the Intel architecture (after DEC's PDP this look > freaky), but this have nothing with XMS/EMS opposition. Not directly, but DEC, APPLE, Solaris, Amiga, Atari, and many other computers not using the Intel chips do not have any of these problems! > > PM> I do not think we are talking about the same thing here. There is absolutely > PM> no swapping of memory with Task Manager. (except of course maybe some video > PM> memory on your video card and other such things.) > PM> But I would like to know just what XMS memory is. I thought it was extended > PM> memory, period. EXTENDED, PERIOD. > > THIS IS NOT MEMORY. PERIOD. Both XMS and EMS are specification to > access additional memory. Simply on 386+ for EMS as additional used extended > memory. It is memory, it is real physical memory that is managed by these multitude of memory managers. When you run a memory program it will tell you exactly how much EMS, XMS, and EEMS memory you have available. With todays system the EEMS memory no longer exist, but it certainly did several years ago. Normally each one will show a slightly different amount of memory left that each manager can control and EMS has a 32MB limit. It is real physical memory that is handled by all of these different memory managers. DPMI and VCPI are specifications. Not EMS, XMS, HRAM, EEMS, etc, etc, etc, these are memory managers. Some memory managers are much better than others and some can utilize UMB and HMA much better than others. It is all real physical memory, each memory manager handles extended memory a little differently. > Because Linux not based on real mode apps/system (i.e. DOS). That is true and DOS should not ever had been restricted to REAL mode. Pat _________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com