Given an operating system that supports a one-to-one relationship between user-level threads and kernel-level threads and allows one or more threads from a process to issue blocking system calls while other threads (within that process) continue to run. What must a kernel provide for an effective user-level thread implementation?