Lennart Poettering, deweloper który popełnił PulseAudio, wpadł na pomysł rozwiązania problemu przerw w dostawie dźwięku do karty w Linuksie.
Problem ten jest szeroko znany użytkownikom Linuksa – pojawia się, gdy w systemie pracuje kilka programów i jednocześnie odtwarzana jest muzyka. Wtedy jeśli odtwarzacz nie ma określonego odpowiednio niskiego poziomu nice, mogą się pojawić przerwy w dostawie materiału grającego do karty dźwiękowej.
Popularnym rozwiązaniem tego problemu jest ustawienie odpowiednio niskiego poziomu nice dla procesu odtwarzacza. Jednak, żeby ustawić bardzo niski poziom nice, trzeba użyć konta administratora i wydać dwa polecenia – mało wygodne, jeśli często wyłącza się odtwarzacz lub używa różnych programów (kiedyś dało się zautomatyzować). Lennart zaproponował trochę inne rozwiązanie – zmianę polityki szeregowania dla wybranych procesów na SCHED_RR używaną dla programów ograniczonych czasowo (RT).
To rozwiązanie ma oczywiście jedną dużą wadę – jeśli taki program przestanie poprawnie działać, to bardzo trudno będzie go zabić. Uważni czytelnicy pewnie zauważą – zaraz, ale przecież to już było! Faktycznie, ale tym razem problem rozwiązuje Lennart Poettering, deweloper PulseAudio, a jego nowe dzieło nazywa się RealtimeKit 🙂
Dodaj komentarz