UML może być uruchomiony w trybie Tracing Thread (TT) lub Separate Kernel Address Space (SKAS). Standardowo jest uruchamiany w tym pierwszym, aby użyć trybu SKAS należy na jądro nałożyć dodatkową łatę.
Z punktu widzenia procesu działającego w UML nie ma między nimi żadnej różnicy. Z punktu widzenia hosta jest widoczna znaczna różnica w szybkości działania (na korzyść trybu SKAS).
W tym trybie każdemu procesowi w UML odpowiada dokładnie jeden proces w systemie macierzystym. Ponadto istnieje dodatkowy proces (tzw. Tracing Thread) odpowiadający za wywołania systemowe. Jądro UML-a jest obecne w przestrzeni adresowej każdego ze swych procesów, co powoduje potencjalne problemy z bezpieczeństwem (proces może "wydostać się" na zewnątrz). Aby sobie z tym poradzić na czas wykonania procesu jądro jest ustawiane w tryb "tylko do odczytu" (tryb jail).
W tym trybie zawsze istnieją tylko cztery procesy w systemie macierzystym odpowiadające UML - owi. Ponadto jądro znajduje się w odrębnej przestrzeni adresowej niż procesy. Rozwiązuje to problemy z bezpieczeństwem, jakie były w trybie TT.