At 04:19 AM 4/7/2012, Zbigniew wrote:
> >> I was wondering what would it take to upgrade FreeDOS to 32bit,
> >> whether it would be worth and whether we would have the human
> >> resources.
> > 32bit user programs tend to be available already in the form of
> > protected mode software, using one of the various DOS Extenders.
>I've got no idea - but many of you can answer precisely: it is really
>the same having 4 GB of "linear" address space, and, from the other
>side, just 640 KB, and "the rest" (if 3,5 GB can be called "the
>rest"...) available by using some kind of "extenders"?
Well, using the "extender" approach doesn't break compatibility with
an existing setup/applications...
>But is "high-end consumer platform" FreeDOS' "target audience"?
>Besides: 4GB compared to 64 GB is 16x less. But 640 KB compared to 4
>GB is more than 6000x times less...
I seriously don't think so. I just don't see the point of using such
a system with FreeDOS.
The target audience should rather be people that uses system with
more limited resources, either by need or by choice and those that
need to be able to easily access hardware resources in their
applications, like in embedded or "kiosk" style applications.
Or simply for "old times sake", like playing old games, possibly even
on old computers.
>Why not, actually? DOS - or something as simple, as DOS - on desktops
>has advantages over contemporary OS-es, even Linux/BSD's:
>- "light weight"
But what are the trade-offs for these?
>At the time of cheap computers, do we really need "multiuser" OS? It
>was reasonable 20 years ago, when fast machine was really expensive -
>but is it still today, when every average user can have his own
>computer (and - in fact - has several without even realizing it, e.g.
>his handy, iPhone, watch etc)?
I think here you have a mixup in terms and usage...
A "multi-user" OS/computer from 20 years ago was indeed being used to
"service" multiple, independent user connected to the single
"processing unit" via "dumb" terminals.
>No idea however, how much overhead/complexity could be disposed of, if
>Linux were single-user - but indeed after establishing my own user
>account ("root" is always present immediately after installation) I
>don't need to create the third one on the same machine.
It's today not as much the need to create a different user (as in
concurrent user with his/her own keyboard/display/mouse) but the
ability to use multiple "sessions", to switch between workspaces...
The way that all those "contemporary OSes" achieve this is by using
the same system architecture that was used 20+ years ago on those
"multi-user" systems you describe them...
>I remember, that it has been advertised as serious advantage of Win
>3.x, that the drivers from now on shall be created "for Windows", and
>not for every single program separately, like it was before - but
>never found information, why the drivers weren't made "for DOS"
>earlier. Not "for AutoCAD", "for WordPerfect" and so on - but "for
>DOS" in general (then available for every program/application).
Simply by the way the whole PC/computer world developed. In those
early days (remember that DOS is now 30 years old!), the basic
hardware available was fairly simplistic. No graphic screens (as the
RAM to created memory mapped devices was extreme expensive
back then), even printers were pretty dumb and featureless. There was
simply no need for any driver concept.
But was things developed, graphic screens/cards started to appear.
DOS by itself didn't have any use for those features, it was still
text based only. Applications that wanted to take advantage of those
additional features first simply were able to use the interface
provided by the add-on ROMs on those video cards, via INT 10h. Please
note that this is part of the BIOS system, not of DOS!
In the early days of graphics on the PC, things were still pretty
simply, most manufacturers just followed "the lead" of IBM and access
to the graphics adapters was limited to the memory layout of the
CGA/EGA/VGA cards and the initial INT10h functions that were defined.
Still not much of a need for special "drivers", as there was a fairly
limited set of common features and functions. And no need for DOS to
make use of any of those, still good old 80x25 text mode and a
command line. And things were good... ;-)
Then the first "extended/enhanced" VGA cards showed up (ok, there
were a handful adapters that expanded beyond the original CGA/EGA
definitions), hitting both the limitation of the direct hardware
access (video RAM) and the INT10h interface (take a look at the
INT10h mode options in the RBIL to get a rough idea). And graphics
functionality was still limited to a few application that made use of
it, like spreadsheets displaying charts graphics, the first CAD
programs, computer games.
So in order to take advantage of those newly available features,
programmers had to think "outside of the box" and wrote their own
routines for that and as there started to be a multitude of different
systems, they were smart and made it modular in their applications,
by loading a different module ("driver") for each card being used.
This was a procedure that was unique to the hardware used and the
applications that made use of them. DOS wasn't really involved in
this, a lot of those drivers were loaded by those applications, not by DOS!
Same goes also for the developing printer market, after the teletype
style printers the first 9 pin dot matrix printer appeared, then 12,
16, 32pins, each with increasingly capabilities, for which there was
no use in DOS itself. DOS really doesn't care about printing beside
that it provides some very rudimentary means to send data to one...
Once DOS became "network aware" (with MS-DOS 3.1), a similar process
started with network cards and all the different network protocols
(it seems people think these days that all networking is done by IP
these days, while before its widespread use there was IPX, SPX, Token
Ring (/4, /16), ArcNet, DECnet, Banyan, ...).
And there started to be a lot more peripherals that didn't even exist
when DOS was originally developed (mice, CD-ROM, scanner, ...) that
all needed to be supported beyond the means of what DOS and the
general BIOS provided.
By the time Windows (and GEM) came out, this whole thing had
snowballed, with an endless number of devices available and a lot
of application striving to make use of them. At that point,
Microsoft made the decision to provide a more generalized "driver
system/support" in Windows. Which was still running on top of DOS
btw. It was not until the event of Windows NT that this underlying
DOS was removed and the driver system was actually part of the OS.
Kind of similar was the development in Unix (and late Linux, though
that got started at the beginning of the general GUI "craze"), only
slightly made easier (or more complicated, depending on how you look
at it) by the general Unix concept that "everything is a file"...
For Developers, A Lot Can Happen In A Second.
Boundary is the first to Know...and Tell You.
Monitor Your Applications in Ultra-Fine Resolution. Try it FREE!
Freedos-user mailing list