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:
>- simplicity
>- "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

Reply via email to