Hi,

On Thu, May 30, 2013 at 4:48 AM, Eric Auer <[email protected]> wrote:
>
> On the other hand, if all your hardware is virtual
> and you have lots of RAM, you can actually start a
> number of totally independent DOS tasks in protected
> mode. In other words, boot Linux and start as many
> DOSEMU windows as you want, they will not clash. Or
> boot Windows and start multiple DOSBOX windows :-)

Yes, something bare bones (or close enough) like ttyLinux + DOSEMU
would probably be good. Or even FreeBSD + BOCHS. Or whatever, better
than nothing at least.

> Does somebody remember what the abilities and limits
> of MS DOS DOSSHELL task swapping were? Or how about
> that open source thing? Was it TriDOS? I think most
> limitations of that were protected mode related?

DOSSHELL (besides being useless due to proprietary nature) is limited
to conventional memory only. It's only a task swapper, not a
multitasking (no preemptive or even cooperative). 286 or up only?
Dunno, probably.

TriDOS has sources on iBiblio, but it only supports XMS, not DPMI
(buggy), plus I've been told by one of its main beta testers that it
was unreliable and could [would?] corrupt data (on hard drive).

To be honest, this kind of dream is too much. We'd be better off
trying to do smaller things like making certain apps support
cooperative threading (GNU pth? SwsMtc? Clwp? Ruby 1.8?) or coroutines
(Modula-2? Lua?). Or heck, just let them "shell out" to DOS so you can
do other stuff (e.g. Cubic Player, GNU Emacs, etc).

What apps need to be multitasked? The main ones, in my mind, are
things that take too long, e.g. searching for files or compiling or
compression. I think NDN had some weak support for file searching in
background. Regarding compilation, most compilers (thankfully) aren't
multithreaded, but some are, e.g. VP21, whose IDE claims to compile
and let you still edit while waiting. I don't have any big projects to
test it, but this does "mostly" work under HX in pure DOS. Compression
couldn't be too hard in theory, but again, you'd have to give it
explicit knowledge of what else you want to do when switching threads.
(Ruby 1.9 doesn't support DOS nor green threads. Same as Java beyond
1.1 or such.) There's also some older DOS Forths that have some type
of multithreading, e.g. cfdjgpp2 (or at least its gfx examples were
much more complicated than the traditional "1 2 3 1 2 3 1 2 3 ..."
demo).

In short, I don't know what to tell you beyond that. It's not an easy
problem to solve.

------------------------------------------------------------------------------
Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
Get 100% visibility into your production application - at no cost.
Code-level diagnostics for performance bottlenecks with <2% overhead
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap1
_______________________________________________
Freedos-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to