DynAMOS manual

RELEASE_0-5-3

The DynAMOS Team

This is the documentation of DynAMOS, a dynamic kernel updating system for commodity operating system kernels.


Table of Contents
1. Introduction
1.1. What Is It?
1.2. Example Updates
2. Approach
2.1. Related Work
2.2. Architecture
2.3. Adaptive Function Cloning
2.4. Safe Execution Flow Redirection
2.5. Version Manager
2.6. Safe Removal
2.7. Function Image Relocation
2.8. Symbol Resolution
2.9. Datatype Updates
2.10. Constructing Updates
3. Installation
3.1. Availability
3.2. Installation
4. Framework
4.1. Starting
4.2. Stopping
4.3. Control Tool
4.4. Control Commands
4.5. Writing Adaptation Handlers
4.6. Updating Datatypes
4.7. Control Center
5. Examples
5.1. Updating get_pid
5.2. Updating The Process Scheduler
A. FAQ
Glossary
List of Figures
4-1. Starting the framework.
4-2. Stopping the framework.
4-3. Example control commands.
4-4. Function signature of pipe_write.
4-5. Example adaptation handler for pipe_write.
4-6. Managing a datatype mapping table.
4-7. Definition of struct new_task_struct.
4-8. Creating a shadow variable in do_fork.
4-9. Freeing a shadow variable in do_exit.
5-1. Running the example updates.
5-2. Expected output of get_pid() update.
5-3. Expected output of schedule() update.