On Sun, Apr 11, 2010 at 11:39 AM, Liam Proven <lpro...@gmail.com> wrote:

> I know there are people working on a 386 version of FreeDOS or
> something like that, but I have something that in a way is a more
> modest idea.
> I wonder if people today have forgotten the multitasking
> DOS-compatible OSs of the 1980s? First was Digital Research's DOS+,
> which was CP/M-86 modified to make it slightly more MS-DOS-compatible;
> it supported background tasks. In a parallel line there was also
> Concurrent CP/M, a multitasking version of CP/M-86 that supported
> multiple users on a single PC with dumb terminals attached to the
> serial ports. You could also run 4 tasks on the console, using a
> hotkey to switch between full-screen virtual consoles.
> Concurrent CP/M offered very limited MS-DOS compatibility; it could
> run safe, command-line DOS apps, not a lot more. It evolved into
> Concurrent DOS, which could multitask multiple DOS apps, and that
> evolved into Concurrent DOS/386, which used the v86 mode of the 80386
> chip to provide safer, hardware-multitasked DOS VMs.
> CDOS386 later evolved into IMS Real32 and if I remember correctly
> something called Flex32 from another company.
> http://en.wikipedia.org/wiki/Concurrent_dos
> http://www.imsltd.com/
> There were others along similar lines: TSX32, PC-MOS/386 and others.
> http://en.wikipedia.org/wiki/PC-MOS/386
> http://www.sandh.com/tsx32.htm
> The snag with them is that because they had a different kernel, a
> 386-mode one, they were incompatible with MS-DOS device drivers and so
> on, including things like network stacks.
> I am concerned that the same problems might hamper any 386 version of
> FreeDOS.
> But there was, I thought, a promising line of development in DOS in
> the early 1990s that never happened, killed off by Windows 3. It was
> DESQview/X: trying to bring a degree of Unix and X.11 compatibility to
> DESQview was brilliant, bringing pre-emptive multitasking to DOS. Run
> it on a 386 with QEMM386 and it delivered v86-mode hardware
> multitasking, with multiple 640K VMs running happily on a 4MB 386 PC.
> DESQview/X replaced the text-mode front end of DESQview with X.11, the
> windowing system from Unix. It came with a choice of window managers –
> Quarterdeck's own and Motif, if I remember correctly.
> The big advantage of DESQview was that it ran on top of vanilla DOS,
> so you could configure your standard DOS network stack, CD drivers,
> mouse drivers, etc., all in the usual way, then launch DESQview on top
> and all the VMs inherited the drivers from the base system.
> DR-DOS is open source and has a multitasking task manager, I believe.
> It's fairly basic but it's out there and it works. There were also
> hooks to control it from ViewMAX, the special cut-down GEM that
> shipped with DR-DOS 5 and 6.
> There was also a similar environment for the Atari ST called MiNT,
> which brought Unix-style multitasking to the ST's CP/M-68K derived OS.
> This was open source, too.
> What I'd love to see, more than a 386 version of DOS, which probably
> wouldn't work with existing device drivers and so on, and might well
> be no use for BIOS flashing and other purposes like that, would be a
> Free recreation of something like DESQview/X.
> Step one, a Free multitasker for DOS that delivered something close
> enough to a Unix or Linux API that it might be possible to port some
> Linux tools to it.
It's already been done. One really well known one is DJGPP, which implements
enough of the POSIX API to run the tools it includes. Another I've found is
emx+dos. I don't know how POSIX compliant it is (Wikipedia says it is
"largely" compliant verses DJGPP, which it labels as "partially" compliant),
but it is Free Software under the GNU GPL v2.

It is available here:
Note that it says it is in the OS2 directory, but the source is buildable
for OS/2 and DOS.

> Then, perhaps, use Linux code and tools to upgrade this to the level
> that it could run XFree86.
Why XFree86 though? XFree86 hasn't been updated in years, since it was
forked to create the Xorg variant of the X11 server. The last public release
was in 2007 and the last commit to XFree86 was in 2009, before Apple
switched from XFree86 to Xorg for the XQuartz server for Mac OS X.

Additionally, versions of XFree86 after 4.4.0 RC2 are GPLv2 incompatible.

Probably a good base for a Free X server would be Xorg's variant, at version
6.9.0. That version contains many fixes from XFree86 4.4.0 RC2 and maintains
the good license that was used in 4.4.0 RC2.

It is available here: http://xorg.freedesktop.org/releases/X11R6.9.0/

Though, it might be a good idea to base on the modularized version of 6.9.0,
Xorg 7.x, instead. For one, we wouldn't have to mess with imake, because
Xorg 7.0 and higher uses GNU Autotools instead. And two, the modularization
means we don't have to grab bits that we don't need. But either way, it is
highly unlikely that we'll be able to put the code back upstream, so there
is a degree of freedom there.

If we based on Xorg 7.x, then 7.1 might be a good choice to base on. That
version is just a roll-up of patches to 6.9.0/7.0 that has bugfixes.

It is available here: http://xorg.freedesktop.org/releases/X11R7.1/

> There are a lot of programs and tools supplied with FreeDOS. Its
> utility would be much improved if they all could be multitasked, even
> if on a full-screen basis.
> Not all of this need be re-invented from scratch – there is Free code
> out there that could be used, or at least studied. It would be a
> bootstrapping process, as once the system got to a level where Linux
> tools could be cross-compiled, there is tons of suitable Free software
> available: lightweight window managers, editors, Internet tools and so
> on.
This is a great idea! But we need skilled people to be able to do this...

> --
> Liam Proven • Profile: http://www.linkedin.com/in/liamproven
> Email: lpro...@cix.co.uk • GMail/GoogleTalk/Orkut: lpro...@gmail.com
> Tel: +44 20-8685-0498 • Cell: +44 7939-087884 • Fax: + 44 870-9151419
> AOL/AIM/iChat/Yahoo/Skype: liamproven • LiveJournal/Twitter: lproven
> MSN: lpro...@hotmail.com • ICQ: 73187508
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
Freedos-user mailing list

Reply via email to