Is there a Multiprocessing DOS driver/optimizer?

Getting old DOS games working on modern hardware. (DOSBox topics belong in DOSBox areas below, not here).

Is there a Multiprocessing DOS driver/optimizer?

Postby aries-mu » 2018-8-23 @ 13:14

Hi there,

are you aware of any kind of TSR or driver to load in the CONFIG.SYS or AUTOEXEC.BAT that enables MS-DOS to see and use two or more CPU on old computers, even if not natively, kind of simulated-ish, to split the calculations requested by any software towards the 2 CPUs?

Maybe something like RAID software/drivers do with hard drives?

Curiosity: if not, would any of you be able to write such a software?

Thanks!
They said therefore to him: Who are you?
Jesus said to them: The beginning, who also speak unto you
aries-mu
Member
 
Posts: 311
Joined: 2016-7-11 @ 00:23

Re: Is there a Multiprocessing DOS driver/optimizer?

Postby DosFreak » 2018-8-23 @ 14:31

MS-DOS is no longer being developed and there is hardly any new DOS software being developed.

You could ask the FreeDOS devs if they have plans for such a feature.
User avatar
DosFreak
l33t++
 
Posts: 9977
Joined: 2002-6-30 @ 16:35
Location: Your Head

Re: Is there a Multiprocessing DOS driver/optimizer?

Postby gdjacobs » 2018-8-23 @ 14:43

No.

It may be technically possible to write SMP support directly into a DOS application (that's a low-level detail I'm not sure on), but at that point you're expending a hell of a lot of work for something that could be done much easier with Unix, or later on Win NT or OS/2.

There are multitasking variants of DOS (and CP/M), but that's not the same thing.
User avatar
gdjacobs
l33t++
 
Posts: 5682
Joined: 2015-11-03 @ 05:51
Location: The Great White North

Re: Is there a Multiprocessing DOS driver/optimizer?

Postby aries-mu » 2018-8-23 @ 14:45

interesting,

thank you guys!
They said therefore to him: Who are you?
Jesus said to them: The beginning, who also speak unto you
aries-mu
Member
 
Posts: 311
Joined: 2016-7-11 @ 00:23

Re: Is there a Multiprocessing DOS driver/optimizer?

Postby cyclone3d » 2018-8-23 @ 15:05

Yeah, FreeDOS would really be the only way to do this properly (multi-processor or hyper-threading)

Could be possible to implement this is DOSBOX as well. Probably actually a lot easier.

In regular old DOS, there are threading libraries available, but it is going to be slower than single threaded programs because it is really just going to be doing task switching and the overhead of syncing everything up and the overhead of thread locks is just counter-productive.
User avatar
cyclone3d
l33t
 
Posts: 2309
Joined: 2015-4-08 @ 06:06
Location: Huntsville, AL USA

Re: Is there a Multiprocessing DOS driver/optimizer?

Postby aries-mu » 2018-8-23 @ 15:24

cyclone3d wrote:Yeah, FreeDOS would really be the only way to do this properly (multi-processor or hyper-threading)

Could be possible to implement this is DOSBOX as well. Probably actually a lot easier.

In regular old DOS, there are threading libraries available, but it is going to be slower than single threaded programs because it is really just going to be doing task switching and the overhead of syncing everything up and the overhead of thread locks is just counter-productive.


Oh, I see, this is all very interesting, thanks!
Well, I guess because DOS is not multitasking, so basically the 2 CPUs wouldn't be used at the same time but switched between, correct?
They said therefore to him: Who are you?
Jesus said to them: The beginning, who also speak unto you
aries-mu
Member
 
Posts: 311
Joined: 2016-7-11 @ 00:23

Re: Is there a Multiprocessing DOS driver/optimizer?

Postby CrossBow777 » 2018-8-23 @ 16:34

gdjacobs wrote:No.

It may be technically possible to write SMP support directly into a DOS application (that's a low-level detail I'm not sure on), but at that point you're expending a hell of a lot of work for something that could be done much easier with Unix, or later on Win NT or OS/2.

There are multitasking variants of DOS (and CP/M), but that's not the same thing.


Yeap I worked with Concurrent DOS quite a bit in the later 90s. Amazing at the time I thought to have each instance of its Command.com load up and control a separate 1024k of memory in the computer and be able to switch between them on the fly with keyboard shortcuts!

Kinda miss that version....
User avatar
CrossBow777
Member
 
Posts: 130
Joined: 2018-2-06 @ 03:30
Location: Ivory Tower, Fantasia - Tulsa, OK

Re: Is there a Multiprocessing DOS driver/optimizer?

Postby aries-mu » 2018-8-23 @ 16:48

CrossBow777 wrote:
gdjacobs wrote:No.

It may be technically possible to write SMP support directly into a DOS application (that's a low-level detail I'm not sure on), but at that point you're expending a hell of a lot of work for something that could be done much easier with Unix, or later on Win NT or OS/2.

There are multitasking variants of DOS (and CP/M), but that's not the same thing.


Yeap I worked with Concurrent DOS quite a bit in the later 90s. Amazing at the time I thought to have each instance of its Command.com load up and control a separate 1024k of memory in the computer and be able to switch between them on the fly with keyboard shortcuts!

Kinda miss that version....


Wow man that's fantastic!
Never heard of Concurrent DOS before!
They said therefore to him: Who are you?
Jesus said to them: The beginning, who also speak unto you
aries-mu
Member
 
Posts: 311
Joined: 2016-7-11 @ 00:23

Re: Is there a Multiprocessing DOS driver/optimizer?

Postby Jo22 » 2018-8-25 @ 18:34

There also was DESQView, a real-mode multi-tasking extension that didn't require V86 and DESQView X a protected mode environment with X11 support.
Both supported EMS, if available. In addition, there also was DoubleDOS and another 8086 application, which name I forgot..
From the Z-80 times, I also remember MP/M, the "full" version of CP/M with multi-user/-tasking abilities.

Edit: Last, but not least, there's PC-MOS/386, a true multi-user/-tasking operating system with DOS5 compatibility.
It has been released under GPL not long ago. See viewtopic.php?f=5&t=55798
"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//
User avatar
Jo22
l33t
 
Posts: 3034
Joined: 2009-12-13 @ 07:06
Location: Europe

Re: Is there a Multiprocessing DOS driver/optimizer?

Postby Azarien » 2018-9-08 @ 09:44

I wonder if it's even possible to do without breaking compatibility with things like DOS sound cards.

Multiprocessing requires different interrupt controller to be used (APIC) which may mean that classic way of initializing and handling SoundBlaster IRQ may no longer work, requiring emulation.

My knowledge is clearly insufficient in this topic though.

Task switching on a single core vs using multiple cores are different things. One could imagine a DOS-like system running concurrently on many cores, yet without any task switching on those cores.
Azarien
Oldbie
 
Posts: 581
Joined: 2015-5-14 @ 07:14

Re: Is there a Multiprocessing DOS driver/optimizer?

Postby aries-mu » 2018-9-19 @ 13:42

Jo22 wrote:There also was DESQView, a real-mode multi-tasking extension that didn't require V86 and DESQView X a protected mode environment with X11 support.
Both supported EMS, if available. In addition, there also was DoubleDOS and another 8086 application, which name I forgot..
From the Z-80 times, I also remember MP/M, the "full" version of CP/M with multi-user/-tasking abilities.

Edit: Last, but not least, there's PC-MOS/386, a true multi-user/-tasking operating system with DOS5 compatibility.
It has been released under GPL not long ago. See viewtopic.php?f=5&t=55798


Oh wow man, thanks SO MUCH for all this info! I don't know why I missed your reply!

Azarien wrote:I wonder if it's even possible to do without breaking compatibility with things like DOS sound cards.

Multiprocessing requires different interrupt controller to be used (APIC) which may mean that classic way of initializing and handling SoundBlaster IRQ may no longer work, requiring emulation.

My knowledge is clearly insufficient in this topic though.

Task switching on a single core vs using multiple cores are different things. One could imagine a DOS-like system running concurrently on many cores, yet without any task switching on those cores.


Thanks, interesting points... I wouldn't know either...
They said therefore to him: Who are you?
Jesus said to them: The beginning, who also speak unto you
aries-mu
Member
 
Posts: 311
Joined: 2016-7-11 @ 00:23

Re: Is there a Multiprocessing DOS driver/optimizer?

Postby Jo22 » 2018-9-24 @ 18:39

aries-mu wrote:Oh wow man, thanks SO MUCH for all this info! I don't know why I missed your reply!

You're welcome! :)

PS: If you're facing issues with PC-MOS, just let me know.
My father and me used it for a long time.
"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//
User avatar
Jo22
l33t
 
Posts: 3034
Joined: 2009-12-13 @ 07:06
Location: Europe

Re: Is there a Multiprocessing DOS driver/optimizer?

Postby aries-mu » 2018-9-25 @ 00:33

Jo22 wrote:
aries-mu wrote:Oh wow man, thanks SO MUCH for all this info! I don't know why I missed your reply!

You're welcome! :)

PS: If you're facing issues with PC-MOS, just let me know.
My father and me used it for a long time.


Thank you SO MUCH brother!!! deeply appreciated.
Well, I missed that dual Pentium Pro opportunity... money money....

But thanks!!!
They said therefore to him: Who are you?
Jesus said to them: The beginning, who also speak unto you
aries-mu
Member
 
Posts: 311
Joined: 2016-7-11 @ 00:23

Re: Is there a Multiprocessing DOS driver/optimizer?

Postby Jo22 » 2018-10-02 @ 23:02

Thanks for these kind words! Glad I could help! :blush:

Best regards,
Jo22

PS: Pentium Pro sounds like a cool idea. 8)
When I started with Win XP, I always wanted one..
"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//
User avatar
Jo22
l33t
 
Posts: 3034
Joined: 2009-12-13 @ 07:06
Location: Europe

Re: Is there a Multiprocessing DOS driver/optimizer?

Postby aries-mu » 2018-10-03 @ 21:31

Jo22 wrote:Thanks for these kind words! Glad I could help! :blush:

Best regards,
Jo22

PS: Pentium Pro sounds like a cool idea. 8)
When I started with Win XP, I always wanted one..


Yeah, it would definitely have been cool to have a dual cpu Pentium Pro too!
They said therefore to him: Who are you?
Jesus said to them: The beginning, who also speak unto you
aries-mu
Member
 
Posts: 311
Joined: 2016-7-11 @ 00:23

Re: Is there a Multiprocessing DOS driver/optimizer?

Postby Jo22 » 2018-10-04 @ 01:05

aries-mu wrote:Yeah, it would definitely have been cool to have a dual cpu Pentium Pro too!

Yes, my friend, definitely! :) The Pentium Pro had style and an excellent design.
Alas, the world wasn't ready yet when it debuted (too much 16-Bit code around).

To me, that processor was somehow like a mystery. Before we had internet access (just BTX/CompuServe),
I always wondered what was up with that Visual Basic 6 compiler option for this "Pentium Pro".

When we "got" Win XP, I remembered the PPro and wondered how it would perform in a dual processor configuration.
This was before dual core was a thing or hyperthreading got popular even (it was all about Pentium II/III at the time still).
"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//
User avatar
Jo22
l33t
 
Posts: 3034
Joined: 2009-12-13 @ 07:06
Location: Europe

Re: Is there a Multiprocessing DOS driver/optimizer?

Postby aries-mu » 2018-10-04 @ 01:21

Jo22 wrote:
aries-mu wrote:Yeah, it would definitely have been cool to have a dual cpu Pentium Pro too!

Yes, my friend, definitely! :) The Pentium Pro had style and an excellent design.
Alas, the world wasn't ready yet when it debuted (too much 16-Bit code around).

To me, that processor was somehow like a mystery. Before we had internet access (just BTX/CompuServe),
I always wondered what was up with that Visual Basic 6 compiler option for this "Pentium Pro".

When we "got" Win XP, I remembered the PPro and wondered how it would perform in a dual processor configuration.
This was before dual core was a thing or hyperthreading got popular even (it was all about Pentium II/III at the time still).


I can almost see your points from your eyes. Similar "feelings" happened to me regarding other products. Just to frame the context more clearly, I started my computer passion in 1992 (I was 12 years old), and I gained enough "confidence" to know what pieces of hardware/configurations to "desire" and to "dream about" around 1993/1994 and ahead.

About Pentium Pro, specifically, I still kind of visually remember the cover of my beloved Computer Magazine at that time (the Italian version of PC Magazine) showing the new processor: The Pentium Pro! I almost had just fallen in love with the Pentium, and it was already waaaaaay too expensive even for my dreams, and now this new beast: The Pentium Pro!!! Imagine what could it do!!! How could it run this, this, and this app or games I have which are pretty heavy! I would run this, this, and this benchmark on it if I had one on my desk! Wow!

That was the general feeling. The specific feeling was like a kind of mystical machine I will never have the pleasure to try or use or own :)
They said therefore to him: Who are you?
Jesus said to them: The beginning, who also speak unto you
aries-mu
Member
 
Posts: 311
Joined: 2016-7-11 @ 00:23

Re: Is there a Multiprocessing DOS driver/optimizer?

Postby dr_st » 2018-10-04 @ 08:21

aries-mu wrote:Hi there,

are you aware of any kind of TSR or driver to load in the CONFIG.SYS or AUTOEXEC.BAT that enables MS-DOS to see and use two or more CPU on old computers, even if not natively, kind of simulated-ish, to split the calculations requested by any software towards the 2 CPUs?
You're asking for a feature that even modern, multi-processor capable OSes don't have. Being able to schedule different processes on different cores is one thing. Automatically splitting computational tasks requested by any piece of software between multiple cores is not something that is generally possible (the ability to split computations into smaller tasks depends highly on the nature of the computations, and their dependencies), and is beyond the scope of responsibilities of a general-purpose OS.
User avatar
dr_st
Oldbie
 
Posts: 1474
Joined: 2015-4-09 @ 07:18

Re: Is there a Multiprocessing DOS driver/optimizer?

Postby aries-mu » 2018-10-04 @ 19:30

dr_st wrote:
aries-mu wrote:Hi there,

are you aware of any kind of TSR or driver to load in the CONFIG.SYS or AUTOEXEC.BAT that enables MS-DOS to see and use two or more CPU on old computers, even if not natively, kind of simulated-ish, to split the calculations requested by any software towards the 2 CPUs?
You're asking for a feature that even modern, multi-processor capable OSes don't have. Being able to schedule different processes on different cores is one thing. Automatically splitting computational tasks requested by any piece of software between multiple cores is not something that is generally possible (the ability to split computations into smaller tasks depends highly on the nature of the computations, and their dependencies), and is beyond the scope of responsibilities of a general-purpose OS.


Wow, I wouldn't have imagined that!
They said therefore to him: Who are you?
Jesus said to them: The beginning, who also speak unto you
aries-mu
Member
 
Posts: 311
Joined: 2016-7-11 @ 00:23


Return to DOS

Who is online

Users browsing this forum: No registered users and 0 guests