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
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to