🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.powerpc
Article #1799

Re: Ask yourself these before you choosing a 32bit OS...

#1799
From: Dmitry V. Irtegov
Date: Tue, 29 Aug 1995 07:01
49 lines
2912 bytes
In article <41gqmg$81g@usenet.ucs.indiana.edu> sgoehrin@copper.ucs.indiana.edu (scott goehring) writes:

> none of this is really remarkable; IBM has been doing virtual machines
> for a long time.  the obvious model for a DOS process is a virtual
> machine, where the OS simply simulates excluded hardware accesses
> and/or substitutes system services where necessary.

> if Windows does _not_ do it this way, i would have to wonder how they
> _are_ doing it, and why.

Windows _cannot_ do it this way because all VDMs in Windows share
same copy of DOS code and _data_ and Windows itself rely on _same_
copy of DOS for operation. DOS is non-reentrant, so Windows uses
some complex and fragile int 21 interception scheme.

Ideal solution would be creating separate copy of DOS in each VDM,
like it is done in OS/2 2.x and unix DOS emulators...
Hell, ideal solution would be "black box" DOS, that shows only
int 21h functions to application. For example, perfect emulation of
RT-11 system can be done by EMT interrupt handler. VAX RT-11 emulator
and some RT-11-compatible multitaskers (TSX-11, etc) are implemented
in this way and do perfectly well. But to emulate DOS we need to:

1. Provide entire DOS code in VDM for programs hacking it,

2. Provide entire DOS data segment for programs messing with it, 

3. Fake internal filesystem structure for programs using Int 25/26, 

4. Fake switching to real mode for DPMI, 

5. Fake direct access to all hardware including first megabyte of RAM, 
DMA channels and real-time clock,

and even then some DOS programs will choke and Joe user will scream:
"Your emulation is shit!". 

In Windows, destroying of DOS in one VDM destroys entire system. 
Famous debug scripts are based on this. Similar effect can be reached 
without debug.com: load any unloadable TSR before win.com (or from 
AUTOEXEC.BAT if you use Win95) and try to unload it from VDM. 
BAM! - system hangs heavy, even C-A-Del doesn't work. 
Not sure about _any_ TSR, but it works perfectly well with russian 
keyboard drivers.

Cheers,
	Fat Brother.

Fatal Error: Couldn't enter Windows, use Doors.
Technical Details
Message-ID: <FAT.95Aug29130102@fat.cnit.nsk.su>
Path: arc1-ca.pugleaf.net!mx.nsu.nsk.su!fat
References: <3vh2hc$9dd@falcon.ccs.uwo.ca> <41d4a5INNgj0@keats.ugrad.cs.ubc.ca> <41dtu7$68b@dfw.nkn.net> <41gi05$4l0@blackice.winternet.com> <41gqmg$81g@usenet.ucs.indiana.edu>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!mx.nsu.nsk.su!fat
From: fat@cnit.nsk.su (Dmitry V. Irtegov)
Newsgroups: comp.sys.powerpc,comp.os.linux.advocacy,comp.sys.mac.advocacy,comp.os.os2.advocacy,comp.sys.amiga.advocacy,comp.sys.intel,alt.2600,comp.os.ms-windows.advocacy
Subject: Re: Ask yourself these before you choosing a 32bit OS...
Date: 29 Aug 1995 07:01:02 GMT
Organization: Novosibirsk State University
Distribution: world
Message-ID: <FAT.95Aug29130102@fat.cnit.nsk.su>
References: <3vh2hc$9dd@falcon.ccs.uwo.ca> <41d4a5INNgj0@keats.ugrad.cs.ubc.ca>
 <41dtu7$68b@dfw.nkn.net> <41gi05$4l0@blackice.winternet.com>
 <41gqmg$81g@usenet.ucs.indiana.edu>
NNTP-Posting-Host: fat.cnit.nsk.su
In-reply-to: sgoehrin@copper.ucs.indiana.edu's message of 24 Aug 1995 03:12:16 GMT