Rugxulo,
You read into things too literally at times ... ;-0
The 808x series of processor was segmented. It was used on a machine
that reserved a portion of memory for system BIOS, system BIOS
extensions, and video RAM.
The first versions of the operating system (DOS) did very little to mask
the architecture of the PC. If you wanted to read the keyboard or draw
the screen, you could use the DOS functions which were very incomplete
in their implementation. Or you could go directly to hardware. Except
for a few small warnings ("please don't go to BIOS, it might break your
application on a completely non-conforming machine), many people went
straight to the hardware. It only supported contiguous chunks of
memory, making it hard to deal with the transition to machines with more
than 1MB.
So now you have a thin shell of an operating system that does nothing to
avoid exposing the hardware to the end applications. And we've been
applying one kludge after another on top of that ever since.
For example, you mention Win 3.0 (DPMI). DPMI is a kludge to allow DOS
applications to use more memory while still being able to invoke BIOS
functions and DOS kernel functions. Windows and OS/2 don't add
multi-tasking to DOS - they let several copies of DOS run side-by-side
in what is effectively a dedicated virtual machine! If I lock you in a
prison decorated to look like 1988 you'll think you live in 1988 too ...
PC DOS 6.x and 7 still support FCB based programs. Yes, people should
still use file handles. But my point was that once something gets
added, it never gets removed no matter how archaic.
If you want to modernize DOS even just to support more current hardware
you are going to have to duplicate a lot of work that has already been
done for drive controllers, video cards, USB controllers, BIOS bootstrap
requirements, etc. Like I said, that would be redoing a lot of the work
that has already gone into Linux.
If you want to really modernize DOS you are going to have to fix or
break a lot of things that exist today. You can implement a simple OS
that uses the INT 0x21 programming interface, but if it doesn't run
existing software (because you have a 32 bit kernel that doesn't handle
segment wrapping correctly), doesn't load existing TSRs, has a different
memory map, and doesn't allow direct access to hardware, is it really
DOS anymore?
Mike
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Freedos-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-devel