Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!uunet!husc6!ut-sally!im4u!oakhill!davet
From: davet@oakhill.UUCP (Dave Trissel)
Newsgroups: comp.sys.m68k
Subject: Re: Virtual Machine (was: Apollo (was: MINIX port to A1000))
Message-ID: <1049@oakhill.UUCP>
Date: Thu, 26-Nov-87 09:32:27 EST
Article-I.D.: oakhill.1049
Posted: Thu Nov 26 09:32:27 1987
Date-Received: Sun, 29-Nov-87 16:21:53 EST
References: <8711050534.AA25885@jade.berkeley.edu> <7862@ism780c.UUCP> <8965@utzoo.UUCP> <1856@bloom-beacon.MIT.EDU> <8046@ism780c.UUCP>
Reply-To: davet@oakhill.UUCP (Dave Trissel)
Organization: Motorola Inc. Austin, Tx
Lines: 36
Keywords: virtual machine, emulation, 68010

In article <8046@ism780c.UUCP> tim@ism780c.UUCP (Tim Smith) writes:

>< >The generic solution to this is not to let the user's operating system
>< >meddle with the frames.  Keep the *real* frame somewhere private.  Give
>< >him a fake one ...

>< There is still a real problem here. If the kernel keeps a copy of the
>< real frames, it will have to keep them *forever* ...

I think there is an easier way out.  Think about the reasons for a bus error
frame being created in the first place:

    1)  As an access to currently paged out memory

    2)  As an illegal access to unassigned memory

For case 1 the frame will shortly be referenced again by a RTE
as soon as memory is paged in.  Thus a virtual machine
operating system storing outstanding frame images in a table would find such
entries quickly removed.

Case 3, on the other hand, would never receive a de-referencing RTE.  But how
many case 3's are you going to get?  They only occur when a process fatally
aborts.

So the trick is to have a table large enough to sufficiently handle all frames
generated during the worst latency of a page-fault recovery.  And the 
illegal access frames slowly fade away into that great bit-bucket in the sky.

A virtual O/S capable of running other operating systems can extend this 
concept by keeping a unique table for each subordinate O/S.  The table would
simply be saved and restored as part of the subordinate's state if rebooting
of the master O/S was required.

 -- Dave Trissel - Motorola Semiconductor - Austin, Texas
	ihnp4!ut-sally!im4u!oakhill!davet