x86 Virtualization: Reading Question

While uncommon, it is possible for operating systems to generate code during execution or to modify previously executing code. For instance, an operating system might redefine a function at runtime, by overwriting the instructions for that function directly, into a more optimal version as it gathers statistics during execution.

A naive implementation of the translator might overlook this possibility and execute stale code under such circumstances. Why, for example, would a naive implementation of the translator in the paper have this problem? Then, devise a simple strategy that takes code generation into account and allows the VMM to re-translate modified code.


Local Stanford students should write up their response on a sheet of paper that includes their name and SUNetID. The sheet of paper with the response should be submitted immediately before lecture.

SCPD students should write up their response in a text file named response.virt.txt and upload it via the submission and grades page. You'll need to sign in with your SUNetID to access the page. Responses will be accepted until one week after the corresponding paper's lecture.

In either case, the response should be short, likely only a pithy paragraph in length.


Mondays and Wednesdays
1:30pm - 2:50pm
Skilling 80


Join the CS240 Google group.

Staff List


David Mazières
Gates 290
(415) 490-9451
Office Hours:
Friday 3:30pm-5:30pm

Sergio Benitez
Gates 288
(650) 723-8777
Office Hours:
Monday 5pm-6pm
Wednesday 5pm-6pm

Matthew Volk
Course Assistant
Office Hours:
Wednesday 6:15-8:15pm
Thursday 1:45-3:45pm
Lathrop Tech Lounge
Google Hangout

Previous Terms

Spring 2016
Spring 2015
Spring 2014
Winter 2013
Spring 2013
Spring 2012
Spring 2011
Spring 2010