Simulating a PC running Linux

Idea: Write a program, which runs under a standard PC operating system, which simulates the execution of a complete, bare PC and its peripherals. Your simulation should be good enough to be able to run a Unix-like operating system (such as Linux, or perhaps Windows, Solaris or Plan 9).

Motivation: There are several reasons why it would be useful to be able to run a complete operating system as a process within a standard (presumably Unix) environment:

Design problems/issues:

The job:

Reading:

Check out the SimOS project; they describe the results from a similar project for SGI hardware.

Equipment: PC running Linux; stacks of disk space.

Recommended tools: Unix, C/C++.

Suitability: This is a demanding research-level project with enormous potential scope. The basic prerequisites are 1) insight into performance, architecture and applications issues, 2) the practical ability to get complicated software to do what you want, and the imagination and clarity of thought to design good experiments.