delorie.com/archives/browse.cgi   search  
Mail Archives: opendos/2000/12/04/18:52:28

Date: Mon, 4 Dec 2000 23:46:22 +0000
From: Stephen Kitt <lists AT sk2 DOT org>
To: opendos AT delorie DOT com
Subject: Re: BASIC & EMS (was: Optimizing CONFIG.SYS...)
Message-ID: <20001204234622.M397@sk2.org>
Mail-Followup-To: Stephen Kitt <lists AT sk2 DOT org>, opendos AT delorie DOT com
References: <DDCDC9DE5EC0D411AE7B0090273F74A412C9C7 AT emwatent02 DOT meters DOT com DOT au> <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> <008001c05d17$df2bbb30$a3881004 AT dbcooper>
Mime-Version: 1.0
User-Agent: Mutt/1.2.5i
In-Reply-To: <008001c05d17$df2bbb30$a3881004@dbcooper>; from pmoran22@yahoo.com on Sat, Dec 02, 2000 at 12:31:06PM -0700
Reply-To: opendos AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: opendos AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On Sat, Dec 02, 2000 at 12:31:06PM -0700, Patrick Moran wrote:
> 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.

The way RAM drives etc. worked without apparent memory managers was using
the BIOS-provided extended memory access features. Check interrupt 15h,
services 87h, 88h and 89h in the Interrupt List; it explains how they are
used. 88h returns the size of extended memory; to "allocate" memory out of
this, programs would hook the interrupt and return a smaller value - they
could do whatever they pleased with the "left-over" memory at the end of the
previously returned size. 87h is then used to copy memory from extended to
conventional and vice versa; the memory still cannot be accessed directly,
at least in real mode on a 286.

> 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.)

Multi-processing only refers to the physical architecture of a system, ie
the fact that it has multiple CPUs (read Hennessy & Patterson for details,
or is it Hwang...). Multi-tasking refers to the ability to run multiple
tasks "simultaneously". The difference between MP and uni-processor systems
is that MP systems can really run multiple tasks simultaneously, up to the
number of processors in the system, although performance gains aren't linear
due to the overhead of managing multiple processors.

There are super-computers with loads of CPUs all over the place. You're
probably thinking of the University of Edinburgh's Parallel Computing
Centre, which has a number of Cray super-computers, including a T3E which
currently has 348 processors. Or you might be thinking of Transputers, which
could be assembled to form super-computers with many processors. Thinking
Machines built super-computers using them, and EPCC had one for a while.
Have a look at http://www.top500.org for more information on
super-computers, and http://www.epcc.ed.ac.uk for more information on EPCC.
Currently, the fastest super-computer in the world (IBM's ASCI White) has
8192 processors...

Incidentally, Linux supports thousands of processors on some architectures,
and has done so for a while - it was ported to a Fujitsu super-computer a
while back.

> 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.

There isn't much difference between Desqview, Task Manager and Linux when it
comes to the essentials of multi-tasking. Every one of them time-slices...
Linux handles idle tasks much better, thanks to the way Unix software is
written, but DV and TM have many tricks up their sleeve to cope with idle
software too. In fact, when an application looks for input from the keyboard
it is considered idle by DV and TM, assuming it uses DOS services to access
the keyboard and doesn't do it directly. Check the difference between say
4DOS waiting at the prompt and LIST waiting for input - LIST is notoriously
uncooperative. (I'm skipping some details here, particularly with regard to
Linux; the latter has benefitted from lots of development which DV and TM
haven't, and in particular its scheduler makes a huge difference.)

As much as you may dislike it, Windows does the same - DOS tasks have been
time-sliced since Windows 3.0 (in extended mode), and Win32 tasks are
time-sliced in Windows 95 and later. NT time-slices everything if I remember
correctly...

From some of your other emails I've got the impression (I may be wrong here)
that you seem to think V86 mode helps multi-task programs. The
virtualisation here is only helpful in that it creates isolated PCs; it
doesn't run them, the task scheduler still has to do the time-slicing.
Virtualisation on x86 CPUs is nothing like that offered on mainframes such
as IBM's S/390.

Before you argue further about memory managers, standards, and
multi-tasking, I strongly suggest you go and read the technical
specifications for Intel CPUs and memory management standards. Oh, and try
writing some code to use the stuff - that often helps clear ideas...

Regards,

Stephen

-- 
    __| |  /_ )   Stephen 'SKČ' Kitt            If you can't stand the heat,
  \__ \ . < __|      steve AT sk2 DOT org        stop pouring gasoline on yourself.
  ____/_|\_\      http://www.sk2.org                           -- Lee DeRaud

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019