Expand description
Process management and emulation of Linux behaviour.
This module contains the code responsible for starting the managed processes in a way that allows Shadow to intercept their syscalls. It also contains the emulation of Linux hosts, threads, processes, syscalls, files, network interfaces, etc.
Modules§
- This module provides several Context structs, intended to bundle together current relevant objects in the hierarchy. These are meant to replace
worker_getActiveThread
, etc. Passing around the current context explicitly instead of putting them in globals both allows us to avoid interior mutability (and its associated runtime cost and fallibility), and lets us keep a hierarchical object structure (e.g. allow holding a mutable Process and a mutable Thread belonging to that process simultaneously). - Linux file descriptors and file descriptions (equivalent to Linux
struct file
s). - An emulated Linux system.
- A thread of a managed process.
- Access and manage memory of a plugin process.
- An emulated Linux process.
- Compatibility wrappers for C-style event listeners.
- An emulated Linux thread.