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.


Submitting


Local Stanford students should write up their response on a sheet of paper that includes their name. 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.

Lecture

Tuesdays and Thursdays
4:30pm - 5:50pm
Gates B1

Office Hours

Dawson
Mondays
3:00pm - 5:00pm
Gates 314

Sergio
Mondays and Wednesdays
6:00pm - 7:30pm
Gates 288

Staff List

Dawson Engler
Instructor
Gates 314

Sergio Benitez
Instructor
Gates 288

Questions?

Ask on Piazza!

Previous Terms

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