# signal This code allows `rt` to run on Linux and other POSIX systems for simulation and testing. Asynchronous syscalls and ticks are implemented as signals. Context switches happen in user space with a single thread, switching stacks and saving and restoring the non-volatile state in assembly. The asynchronous syscall handler relies on the signal handler entry and return to save and restore volatile state. Synchronous syscalls are implemented as an assembly function, and so saving and restoring volatile state is not needed, because the caller expects it to be clobbered. Currently `x86_64` and `aarch64` are supported. Linux and macOS are supported, but other POSIX-like OSes might work.