1. Kernel level threads are managed directly by the operating system, while user level threads are managed in user space with or without kernel support. 2. There are four models for implementing user level threads: many-to-one, one-to-one, many-to-many, and two-level. The many-to-many and two-level models use scheduler activations to communicate between the kernel and user level thread manager. 3. Scheduler activations notify the user level thread manager of important kernel events like a thread making a blocking system call, allowing the manager to schedule other ready threads on available kernel threads.