FBUI – menadżer okienek w … jądrze Linuksa
10 marca 2007, duddits
Tak, to nie pomyłka. I naprawdę działa.
FBUI (FrameBufferUI) jest małym, graficznym interfejsem użytkownika działającym w przestrzeni jądra Linuksa.
Krótka charakterystyka tego maleństwa:
- całość zajmuje ~50kB(!)
- ponieważ program operuje w przestrzeni
jądra nie ma tu miejsca na jakieś wymyślne graficzne
“bajery”; tylko to co niezbędne - pozwala różnym programom współdzielić
framebuffer; każdy z tych programów może
działać w osobnym oknie - każdy program może działać w kilku okienkach
jednocześnie - okienka mogą na siebie zachodzić, mogą być
przesuwane, skalowane, minimalizowane, maksymalizowane, itd. - okienka mogą znajdować się na każdej wirtualnej konsoli
- programy komunikują sie z FBUI za pomocą małego zestawu odwołań systemowych (ioctls)
- przezroczystość już działa
- program zawiera m.in. bibliotekę libfbui, która upraszcza obsługę FBUI oraz biblioteki do obróbki grafiki i fontów
No dobra, wszystko fajnie, ale do czego coś takiego może mi być potrzebne ? Ano, na przykład wszędzie tam gdzie z jakichś powodów nie jesteś w stanie uruchomić pełnego środowiska X, a sam “czysty” framebuffer to za mało.


Zwykły desktopowy użytkownik tego nie kupi – wygląda archaicznie i nie jest user friendly… + ograniczona funkcjonalność
spodoba się pewnie maniakom lekkości i tam gdzie nie sięga X.org czy zasoby systemowe są naprawdę ograniczone.
Myslałem że chodzi o prawdziwego “window manager’a” z X-ów.
Gdyby tak umieścić jakiegoś prawdziwego “window manager’a” i serwer X-ów
w przestrzeni jądra jako kernel threads, wtedy oszczędziłoby się tego ciągłego przełączania między przestrzenią jądra a przetrzenią użytkownika (tym bardziej że serwer X-ów i window manager są pojedyńczymi procesami w systemie wieć jako wątki jądra mogłyby istnieć bez problemu).
Ale niestety ucierpiałoby na tym bezpieczeństwo systemu, im więcej kodu w jądrze tym gorzej dla bezpieczeństwa .
Ponoć Microsoft umieścił kod podsytemu grafiki a nawet serwer http IIS w jądrze i jakoś mu to na dobre nie wyszło( osobiście uważam że lepiej gdy coś działa troszke wolniej niż ma nie działać wcale lub co najgorsze załamywać jądro ).
Nie oszczedziloby sie. Znaczy, oszczedziloby sie, ale zysk wydajnosci bylby niemierzalny. Waskim gardlem X11 sa aplikacje i toolkity, nie samo X11.
Fajna rzecz, mało zajmuje i jest funkcjonalna – co do środowisk graficznych a’la gnome, kde, xfce czy fluxbox mu co prawda dużo brakuje;) ale lepsze to niż czarny ekran i migający znak zachęty
Dawno, dawno temu bylo cos pod tytulem SunView, http://en.wikipedia.org/wiki/SunView Tez w kernelu. Zabawne, ze po kilkunastu latach po uznaniu SunView za przestarzaly Linux dorobil sie analogicznego wynalazku.