Since DOS environments typically don't multitask, there's no need to
time applications as they consume CPU resources and preempt them to let
other applications run.  Modern multi core processors can do real
multitasking and don't have to simulate process concurrency.  In DOS
environments, there is no multi tasking, so it doesn't make sense to
time programs beyond looking at whether the program's time complexity is
roughly exponential or not.  Is the solution to the problem a polynomial
time solution or worse?  If you need an idea real time of how your
program is using the system's resources, you need UNIX, MACOSX, Windows,
or some other modern OS.

        I guess there is nothing stopping you from writing multitasking into
your DOS based application, think Windows 3.11.  If you go to the
trouble though of recognizing multiple processes and task switching,
chances are good that you'll want to protect user A's processes from
meddling by user B.  

        DOS is a lightweight OS because unlike UNIX and Windows NT it doesn't
attempt to block direct hardware access let alone provide abstractions
for hardware.  DOS is lightweight, but DOS applications are hard to
maintain.  Actually, hard drives and video devices are abstracted in
DOS.  As hard drives and video devices change, DOS has to change too.
VESA is a standard, but is it updated?  How about the BIOS which is
changing now?  There is talk of having to have a special bios and a boot
sector signature to run Windows NT, how will that affect Freedos and
Linux going forward?  Printers and mice for example have changed over
time where interfaces have changed beyond just the hard drive interface.
Think universal serial bus, a replacement for serial ports, parallel
ports, and PS/2 ports.  For commercial DOS programs you are very
unlikely to be able to use a USB printer with them.  USB gamepads and
joysticks?  Not likely with games themselves having to support the
hardware directly.  USB video cameras?  Again, not likely.

        DOS environments as far as I know don't even protect against processes
accessing memory that doesn't belong to them.  DOS originally was QDOS
which stood for quick and dirty operating system.  No protection means
you can write fast programs and not worry about the overhead of
protection, but you can't preempt processes to multitask without
protection.  Aside from simple applications which have to run fast, does
Freedos make any sense?  Emulated hardware running Freedos or DOSBox
make a lot of sense so long as the DOS application of choice doesn't tax
a modern computer.

        Knowing how long a program will take to execute is often important, but
Freedos isn't the best environment for real time or otherwise time
critical apps.

This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here
Freedos-user mailing list

Reply via email to