[comp.sys.ibm.pc.programmer] Virtual 8086 on an 80386

blk@mitre.org (Brian L. Kahn) (03/23/90)

I am interested in running DOS and standard programs on a Virtual DOS
system using a 386 base.  The goal is a sort of augmented and paranoid
access control over the disk (and maybe network); rather than go into
that let me say for argument that I want detailed statistics on any
and all peripherals while running standard programs such as Lotus,
Word, WordPerfect, dBase, etc.  I want to tally all writes to screen
memory, all disk accesses, any bypass of BIOS such as controller or
timer reprogramming, and so on.

Can anyone offer insight into such an enterprise?  Yes I know that
performance will suffer, and a drop of 50% is OK!  I have read about
one or two virtual DOS's whose main goal is to switch between
environs, but I want to stick in a review mechanism between the
software (DOS + application) and the hardware.

ADthanksVANCE


--
B<   Brian Kahn   blk@security.mitre.org   "may the farce be with you"

dhinds@portia.Stanford.EDU (David Hinds) (03/23/90)

In article <BLK.90Mar22132317@vanity.mitre.org>, blk@mitre.org (Brian L. Kahn) writes:
> 
> I am interested in running DOS and standard programs on a Virtual DOS
> system using a 386 base.  The goal is a sort of augmented and paranoid
> access control over the disk (and maybe network); rather than go into
> that let me say for argument that I want detailed statistics on any
> and all peripherals while running standard programs such as Lotus,
> Word, WordPerfect, dBase, etc.  I want to tally all writes to screen
> memory, all disk accesses, any bypass of BIOS such as controller or
> timer reprogramming, and so on.
> 
> Can anyone offer insight into such an enterprise?  Yes I know that
> performance will suffer, and a drop of 50% is OK!  I have read about
> one or two virtual DOS's whose main goal is to switch between
> environs, but I want to stick in a review mechanism between the
> software (DOS + application) and the hardware.
> 
    It sounds like you would be better off writing your own virtual 86
supervisor.  This is easier than it sounds, actually.  I have a book on
the 80386 ("80386 Technical Reference", I don't remember the author)
that gives the skeleton of a supervisor for DOS in an appendix.  There
isn't much to this - it just sets up all the protected-mode interrupt
handlers to bounce a virtual-mode interrupt back to the appropriate
virtual-mode DOS or BIOS handler.  You would need to set up a bunch of
counters, and just add a little bit of code to these handlers to keep
track of each call before passing control on to DOS.  You can also trap
I/O instructions in a similar fashion - I don't know if the example
does this, though.  The review mechanism should be absolutely, positively
transparent.

 -David Hinds
  dhinds@popserver.stanford.edu