r   e   k   l   a   m   a
r   e   k   l   a   m   a

Linux w czasie rzeczywistym: brakuje rąk do pracy

Strona główna AktualnościOPROGRAMOWANIE

Jeszcze w minionej dekadzie systemy operacyjne czasu rzeczywistego były bardzo modnym tematem, podsycanym przede wszystkim przez branżę finansową. W zastosowaniach takich jak śledzenie indeksów giełdowych sama wydajność nie ma specjalnego znaczenia – ważne jest to, by system reagował na wydarzenia w czasie rzeczywistym. Taka jest np. londyńska giełda papierów wartościowych, której indeks publikowany jest co 15 sekund, ale obliczany właśnie w czasie rzeczywistym. Gdy miliardowe transakcje realizowane są w ciągu milisekund, każdy przestój systemu może mieć katastrofalne konsekwencje, więc nie skąpiono pieniędzy na prace w tej dziedzinie. Kilka lat później sytuacja się zmieniła, dla inwestorów przepustowość systemów stała się ważniejsza od działania w czasie rzeczywistym – i odbiło się to na pracach deweloperskich. Dzisiaj człowiek, który stoi na czele prac nad łatkami czasu rzeczywistego dla Linuksa przyznaje, że został przyciśnięty do ściany, i nie wie co dalej robić. Być może przyjdzie zakończyć prace na tym etapie, na którym dziś się znajdują, uznając że to co osiągnięto, jest dość dobre dla większości użytkowników.

Systemy czasu rzeczywistego znajdują zastosowanie oczywiście nie tylko w systemach giełdowych. Potrzebują ich muzycy i inżynierowie dźwięku, robotycy, konstruktorzy urządzeń medycznych, czujników samochodowych i praktycznie wszystkich tych urządzeń, które wchodzą w interakcje ze światem fizycznym. Przez ostatnie 20 lat powstało ich naprawdę dużo, ale większość jest własnościowa, rozwijana w praktyce tylko przez producentów urządzeń, na których one działają, dlatego też tak ważne są prace nad Linuksem czasu rzeczywistego – systemem otwartym, dobrze udokumentowanym i zrozumiałym, z ogromną bazą oprogramowania. Ale kto miałby to robić? Największy postęp w tej dziedzinie osiągnięto w latach 2008-2009, kiedy to Red Hat i IBM rozpoczęły prace nad zleceniem dla US Navy, dziś jednak sytuacja wygląda mniej ciekawie.

Grupa pracująca nad zestawem łatek PREEMPT_RT dla jądra Linuksa jest maleńka – to raptem kilka osób, zawodowi programiści, zatrudnieni w Red Hacie, Intelu i Wind River. Jednak tylko Red Hat płaci swojemu człowiekowi za to, by w swoim czasie pracy zajmował się kwestiami realtime, angażuje też zestaw testerów do sprawdzania nowych łatek. Pozostali pracują niejako ochotniczo. Sytuacja wygląda tak, że gdyby Red Hat uznał, że jądro czasu rzeczywistego już nie jest interesujące, to cały projekt pozostałby bez opieki.

Idealnie byłoby włączyć kod realtime do głównej gałęzi jądra, ale w obecnym stanie Linus Torvalds nigdy go nie dopuści, szczególnie że łatki wpływają na rdzeń jądra, to nie jest jakiś tam sobie sterownik czy system plików. Thomas Gleixner, programista, który w praktyce kieruje pracami nad projektem przyznał, że od zeszłego roku udało się rozwiązać większość prostych problemów z listy rzeczy niezbędnych do zrobienia przed oddaniem łatek Linusowi, ale to co zostało, to okropne i natrętne fragmenty, które próbuje ogarnąć, ale brakuje mu na to czasu. By poradzić sobie z tym wszystkim, potrzeba by było przynajmniej ze czterech programistów pracujących nad tymi problemami na pełen etat.

A społeczność nie może pomóc? Niestety nie – po raz kolejny potwierdza się teza, że Linux to nie jest zabawka hobbystów-pasjonatów, mieszkających w piwnicach domów swoich rodziców i po nocach kodujących w C. Całą pracę robią tu zawodowcy, od początku prac nad PREEMPT_RT wsparcie społeczności było na zerowym poziomie – twierdzi Gleixner. Sytuację pogarsza fakt, że jego grupa nie może zrobić nic, by powstrzymać wprowadzanie do głównej gałęzi jądra poprawek, które są niekorzystne dla łatek realtime (jako że nie zostały one włączone do jądra). W tej sytuacji możliwe są dwa rozwiązania: albo do końca 2014 roku znajdzie się większa grupa, która weźmie się za prace, albo też projekt uzna się za zakończony, a ci, którzy są zainteresowani, będą korzystali ze specjalnych jąder kernel-rt.

Nie jest to wcale niemożliwa sytuacja. Nowe funkcjonalności realtime są potrzebne coraz mniejszym grupom odbiorców. Ostatnie wersje kernela RHEL z łatkami rt miały spełniać potrzeby 95% użytkowników. Ostatnia edycja nowej wersji jądra realtime została pobrana ponad trzy tysiące razy, z miejsc, których lista wyglądała, jak to Gleixner określa, Who is Who branży komputerowej. Co ciekawe, największe zainteresowanie projekt wzbudza w Niemczech – tam zlokalizowanych było 45% pobierających. To jednak rozwiązanie na krótki dystans – w końcu pewnie grupa Gleixnera porzuci swoje prace, a to oznacza, że z czasem jądra rt staną się przestarzałe, nie będą wspierały aktualnie dostępnego sprzętu, i przed Linuksem zamknie się bardzo istotny zakres zastosowań.

Więcej o tym zagadnieniu możecie poczytać na stronach Open Source Automation Development Lab.

r   e   k   l   a   m   a
© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.