On Wed, Jan 11, 2012 at 5:36 AM, Michael Robinson
<plu...@robinson-west.com> wrote:
> The problems encountered strapping a GUI onto a DOS system are similar
> to the problems that were encountered when object orientation and
> classes were added to C to create C++.  C++ is really a hybrid language,
> neither a strictly procedural nor a strictly object oriented language.
>
> Any GUI strapped onto a DOS environment will seemingly make it a hybrid.

Please recall that DesqView, DesqViewX, GEM, and Windows through 9.X
were precisely GUIs strapped onto a DOS environment.  (Win98 used DOS
as a real-mode loader, and once it was up, DOS was out of the loop and
Windows *was* the OS.)  DesqView and Windows even provided
multitasking.  They did their own time slicing, and served as
dispatcher, serializing access to the underlying OS functions.

> All dos environments share the following problem:
>
> Multiple users requires permissions on individual files and resources to
> keep users from walking all over each other, if such a thing is wanted.
> DOS environments only have a superuser.  So, DOS environments are single
> user environments. Change DOS so that there are permissions on files,
> FAT filesystems present a real problem since they predate permissions on
> files.  Many programs that expect uninhibited access to everything and
> anything won't work.  The best you can do is run Linux or something even
> more secure underneath DOS via DOSBox.  Each user has his/her own DOS
> system.

If you *have* multiple users, you *don't* have a DOS system.  it is
explicitly single-user, and presumes the user at the machine is the
administrator.

Windows kept that model through XP, and only made substantial changes
in Vista/Win7.

Part of the problem is the file system.  FAT provides no place to
store the required permissions data.  Windows didn't really get it
till NTFS.

> Nowadays with companies greedily protecting their intellectual property,
> can you access hardware directly if you don't know what's there?  Can

If you *have* a multi user, multitasking OS, you don't *want* to
address the hardware directly.  The process attempting to do it
*cannot* assume it's the only thing running, which was the case under
DOS.

And in the DOS days, addressing the hardware directly was for
performance reasons.  The usual direct address was the screen, and the
usual reason to do it was something like a game where BIOS updates
would be too slow.

> you use a software library to access that hardware via a well known
> interface from your favorite OS?  Does it ever make sense these days to
> have direct hardware access without the user abstraction?

Yes, for the reasons mentioned above.  It depends on how you implement
a DOS system.  If you have something like FreeDOS installed so you can
boot directly into it, a virtual machine solution like DOSBox under
Linux isn't in the picture.  You *can* directly address the hardware,
and your programs may try to.

The challenge placed by things like DOSEmu is that the class of
programs they were designed to support (games) *did* try to address
the hardware, and DOSEmu needs to make the program think it *has*,
even though something else is actually handling things.

> If DOS itself is in ROM and you are building a kiosk...  maybe then if
> you can directly access the hardware DOS does make sense.  Even a GUI on
> a DOS kiosk might make sense.  What doesn't make sense is a DOS system
> that is supposed to be usable by multiple strangers where the system is
> not in a ROM but on a writable hard disk.  Insofar as a graphical user
> interface can limit what can be done and make it easier to do what is
> intended, such an interface will make sense.  So a version of DOS with
> no command line per se outfitted with a GUI could make a nice kiosk
> system.  But if direct hardware access is improbable or software library
> access of hardware is impossible outside of say Windows 7, you are in
> trouble even if the target system is a Linux system.

Why are you assuming said DOS system will be accessed by multiple
strangers?  For things like FreeDOS, there will be a single user who
installs it in the first place and runs it after it is.  While it's
theoretically possible to set up DOS in a VM so that different users
have different DOS systems, t's far more bother than it's worth.

If I am setting up a kiosk, DOS is *not* what I'll use.

There are three issues being conflated above: multiple users,
multitasking, and GUIs.  They are separate issues, and for a DOS
system, the first doesn't even need to be considered.  It won't be
used that way, and even if it is, it will be the same way DOS systems
were used back before GUIs came on the scene: one user at a time.  You
won't have the issue of more than one person/process trying to update
the same filesystem at the same time and stepping on each other's
toes.

What is being discussed here is the last: a GUI.  There are reasons a
GUI may be desireable, and I'd be delighted to see a supported
solution for FreeDOS.  It would be nice if it were multitasking, too,
but that's likely too much to hope for.
______
Dennis

------------------------------------------------------------------------------
Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
infrastructure or vast IT resources to deliver seamless, secure access to
virtual desktops. With this all-in-one solution, easily deploy virtual 
desktops for less than the cost of PCs and save 60% on VDI infrastructure 
costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to