1. A method, comprising: instantiating an implementation of a component to execute in a kernel space in a user space; invoking, by an application, a call to the component in the kernel space; intercepting the call to the component in the kernel space; invoking an implementation of the component in the user space to execute the call in the user space; and gathering state information related to the execution of the call to the component in the user space to include in checkpoint information for the application.