Istilah "utas kernel" dapat digunakan untuk merujuk pada utas aktual yang berjalan seluruhnya dalam ruang kernel atau dapat merujuk pada utas ruang pengguna yang dijadwalkan oleh kernel. Istilah "didukung oleh kernel" berarti utas yang terakhir, utas yang berjalan di ruang pengguna tetapi difasilitasi oleh kernel, yang biasanya berarti kernel menjadwalkannya.
"Utas tingkat pengguna" biasanya berarti utas yang terlihat oleh ruang pengguna. Yaitu, apa yang Anda buat ketika Anda memanggil fungsi "buat utas" threading standar Anda. Secara umum, istilah "utas tingkat pengguna" digunakan untuk berarti utas yang dibuat oleh kode aplikasi terlepas dari bagaimana penerapannya oleh sistem. Ini mungkin utas murni ruang pengguna dengan sedikit atau tanpa dukungan kernel atau itu mungkin utas yang dijadwalkan oleh kernel.
Standar pthreads dapat diimplementasikan sebagai utas ruang pengguna murni (tempat kernel menjadwalkan proses dan proses menjadwalkan utas), utas yang didukung kernel (tempat kernel menjadwalkan utas secara langsung), atau pendekatan hibrid (tempat kernel menjadwalkan utas tingkat kernel yang kemudian, dalam ruang pengguna, menjadwalkan utas tingkat pengguna). Standar ini tidak menuntut satu cara implementasi tertentu. Implementasi yang paling umum adalah pemetaan 1-ke-1 di mana setiap utas tingkat pengguna memiliki utas yang sesuai yang dijadwalkan oleh kernel.