I want to know what exactly it means for a thread to be scheduled to run on an LWP. I'm unable to properly visualise the sequence of steps that happen when a process is scheduled to run onto the CPU because a lot of concepts are explained in a high level view. Below is the paragraph that resulted in a lot of head scratching; it is from Operating System Concepts, 10th Edition by Abraham Silberschatz.
One distinction between user-level and kernel-level threads lies in how theyare scheduled. On systems implementing the many-to-one (Section 4.3.1)and many-to-many (Section 4.3.3) models, the thread library schedules user-level threads to run on an available LWP . This scheme is known as process-contention scope ( PCS ), since competition for the CPU takes place amongthreads belonging to the same process. (When we say the thread library schedules user threads onto available LWP's, we do not mean that the threads areactually running on a CPU as that further requires the operating system toschedule the LWP’s kernel thread onto a physical CPU core.)
I'm unable to fully comprehend the need and significance of LWP's here.