Table of Contents

1. OpenBSD and RThreads
2. OpenBSD and Threads
3. Problems with Userspace Threads
4. OpenBSD's Answer: RThreads
5. Kernel-side: process relationships
7. Kernel-side: struct sigacts
9. Kernel-side: kevent()
10. Kernel-side: ktrace
11. Kernel-side: resource limits and usages
12. Kernel-side: single-threading
13. Kernel-side: ptrace
14. Syscall API: thread creation
16. Syscall API: thread-control-block
20. Syscall API: sleep/wakeup
21. Syscall API: sleep/wakeup: cancellation
22. Syscall API: mquery()
24. Userspace
25. Mutex and Condvar
28. Other Userspace
29. Future Work: Kernel
30. Future Work: __mwrite()
33. Future Work: Userspace
34. Questions? Thank you!