Getting Started with the Quest RTOS and Quest-V Partitioning Hypervisor
Overview
Quest is a relatively small real-time operating system (RTOS), developed at Boston University. It works on both uni- and multicore processors, and supports various operating modes depending on the underlying hardware features. It can be configured as either a lightweight SMP system, having a single memory image running on multiple cores, or as a secure separation kernel, known as Quest-V (as in “V for Virtualization”).
The Quest RTOS features a novel real-time scheduling framework, where all control flows (including those triggered by interrupts) are associated with threads mapped to priority-aware and resource accountable virtual CPUs (VCPUs). This enables Quest to provide resource reservations to tasks and interrupt handlers, which are scheduled together.
When configured as a secure separation kernel, Quest-V uses hardware virtualization features to sandbox guest OSes into separate domains, each having direct access to dedicated CPU cores, physical memory, and a subset of I/O devices. The Quest-V partitioning hypervisor is used to establish separate sandboxes for guest OS domains such as Quest, which can co-exist and work in unison with other OSes such as Linux. Secure shared memory channels link multiple guest domains together to form a tightly-coupled separation kernel.
Intended Audience
This tutorial is intended for both academic researchers and industry practitioners, interested in learning more about Quest and Quest-V. We will describe how to configure, build, develop, debug, and test applications, using code examples. The audience may wish to participate via the use of tools such as QEMU/KVM to run Quest/Quest-V. We welcome anyone who might want to know more about contributing to the work, or using it in their own research.
Tutorial Form
For those interested in attending the tutorial, please complete this form. It is not mandatory, but it will provide us with a list of who is interested, including any items you would like to see discussed.
Location and Time
CDS 950, 665 Commonwealth Avenue
- First Session: 2:00-3:30pm
- Coffee Break: 3:30-4:00pm
- Second Session: 4:00-5:30pm
Schedule
First Session
- 45 minutes: Rich West — Brief presentation providing the background and features of the Quest RTOS & Quest-V Partitioning Hypervisor
- 45 minutes: Shriram Raja, Ryan Ruan, Rafi Syed, Rich West — A walkthrough of the Quest-V Scarthgap SDK including:
- Using the Quest docker toolchain to build system images
- The Quest API
- Using QEMU to launch the SDK
- Development of applications for Quest and those that span both Quest and Linux
- The Quest shell
- Debugging
- Example using the Drako Motors Instrument Cluster demo application
Second Session
- 1 hour: Audience Participation (Interactive use of the SDK and demos)
- 30 minutes: Q&A
We will provide access to a pre-built SDK image for those wishing to test it on their laptops, assuming they have suitable hardware capabilities. Please see theĀ System Requirements for further details.
Address
Duan Family Center for Computing and Data Sciences,
665 Commonwealth Avenue,
Boston, MA 02215