User level thread does context switching.
Whether OS recognizes ULT or not why does it matter ?
ULT will do context switching to save time so that it can resume from the point at which it stopped the thread and not to redo the processing again.
It is just that it does not requires hardware support so it is faster than kernel level threads.