Palacios is a virtual machine monitor (VMM) that is
available for public use as a community resource. Palacios
is highly configurable and designed to be embeddable into
different host operating systems, such as Linux and the
Kitten lightweight kernel. Palacios is a
non-paravirtualized VMM that makes extensive use of the
virtualization extensions in modern Intel and AMD x86
processors. Palacios is a compact codebase that has been
designed to be easy to understand and readily configurable
for different environments. It is unique in being designed
to be embeddable into other OSes instead of being
implemented in the context of a specific OS. Palacios is
distributed under the BSD license.
Palacios is part of the V3VEE Project and the Hobbes Project.
You can access our public git repository to see an up-to-the-minute view of development and to contribute. The current version is the head of the main development branch.
Download the latest released version
of Palacios (1.3 - November 18, 2011)
Older released versions are available here
We are continuously looking for people to become engaged in this project. There are numerous ways to do so:
Note: the following lists papers that are specific to the design and implementation of Palacios. To see all project papers, please see the Main V3VEE Page.
This project is made possible by support from the National Science
Foundation (NSF) via grants CNS-0709168 (Northwestern),
CNS-0707365 (UNM), and the Department of Energy (DOE) via grant
DE-SC0005343 (Northwestern, UNM, U.Pittsburgh, Sandia, and ORNL).
Seed funding to help start the development of Palacios at
Northwestern was provided via a subcontract from Oak Ridge
National Laboratory (ORNL) on DOE grant DE-AC05-00OR22725. Seed
funding to help start multicore guest development at Northwestern
was provided via a subcontract from Sandia National
Laboratories. Jack Lange was partially supported by a Symantec
Research Labs Fellowship.