> For the complete documentation index, see [llms.txt](https://xiayingp.gitbook.io/build_a_os/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://xiayingp.gitbook.io/build_a_os/traps-and-interrupts.md).

# Traps and Interrupts

- [Trap Home Page](https://xiayingp.gitbook.io/build_a_os/traps-and-interrupts/trap-home-page.md)
- [系统调用的核心原理](https://xiayingp.gitbook.io/build_a_os/traps-and-interrupts/trap-home-page/xi-tong-tiao-yong-de-he-xin-yuan-li.md)
- [What is trapframe](https://xiayingp.gitbook.io/build_a_os/traps-and-interrupts/untitled-2.md)
- [What is trampoline](https://xiayingp.gitbook.io/build_a_os/traps-and-interrupts/untitled-3.md)
- [Traps from kernel space](https://xiayingp.gitbook.io/build_a_os/traps-and-interrupts/traps-from-kernel-space.md)
- [How fork() works](https://xiayingp.gitbook.io/build_a_os/traps-and-interrupts/how-fork-works.md)
- [How system calls get into/out of the kernel](https://xiayingp.gitbook.io/build_a_os/traps-and-interrupts/untitled.md): What happens if the shell printing a prompt with write(2, “$ “, 2)?
- [How exec() works](https://xiayingp.gitbook.io/build_a_os/traps-and-interrupts/how-exec-works.md): Split the flow into 2 phases.
