The pthreads library has all the logic for handling threads, some work is underway for kernel-aware (1:1) userland threads (..rthreads, in OpenBSD context) but they're not ready for general consumption yet.
I believe what OpenBSD does would be called the
N:1 model.