Praca w kernel developmencie

0

Hey! Co sądzicie o takiej ścieżce kariery? Może ktoś na forum się tym zajmuje i by się wypowiedział? :)

Pozdrawiam!

0

A coś wiecej? Czego się uczyć by rozpocząć taka ścieżkę kariery i gdzie w ogóle w Polsce można załapać się w bardziej system level developmencie?

4

Ja pracowałem w firmie, która wrzucała patche do kernela. To jest droga przez mękę, nie wiem jak teraz, jak ja to robiłem to patche wysyłało się mailem, review też mailem, zero jakiegokolwiek CI. Trzeba było sobie samemu stawiać środowisko do testów i budowania. Potem ktoś i tak Ci napisał, że nie działa, bo u niego na jakimś sunie z 1997 roku jest regresja w performance na poziomie 0.5%. Do tego oczywiście kółko wzajemnej adoracji, przy których moderatorzy z elektrody to profesjonalni i mili ludzie. Wygląda to tak, że masz wierchuszkę przed którą każdy chodzi na palcach, żeby wielmożny pan się nie zdenerwował. Oczywiście bonus, funkcjonalność, którą robiliśmy wpływała tylko na nasz driver i powodowała zwiększenie szybkości działania naszego drivera o 20%. Oczywiście nasz driver był closed source i to się nie spodobało strasznie innym ludziom. Ostatecznie udało nam się wrzucić 4 zmiany po 10 miesiącach, czas napisania kodu to jakieś 3 dni, reszta to proces po stronie kernel developmentu.

Reasumując jak chcesz zachować zdrowie psychiczne to nie polecam. :)

Co do skilli to C, takie starodawne, standardowe C. Kompilator gcc i debugger gdb. No i do tego osobny komputer do debugu i testowania.

2

W pracy piszemy driver, m.in. na LInuxa, tak po stronie kernela jak i userspace'u. Generalnie jeśli chodzi o kernel - oni prowadzą mocno konserwatywną politykę dot. otwartoźródłowych use case'ów. Daleki jestem tu od miotania gromów, ale fakty są takie: nie masz szeroko stosowanego, otwartego zastosowania Twojej zmiany, to ona po prostu do nie wejdzie. Nie i koniec. Nasz PO gadał z wierchuszką i raczej daleki jest od nazywania ich kółkiem wzajemnej adoracji, aczkolwiek faktem jest, że bardzo twardo trzymają się swojego stanowiska, a to rodzi dodatkowe problemy, vide ifdefologia co nową wersję, bo nazwy funkcji się pozmieniały i weź to potem utrzymuj.

Co konkretnego robić...ja przeskoczyłem z testero-sieciowca (nie wiem jak to inaczej nazwać, zatrudniony byłem jako tester a w praktyce utrzymywałem spory framework testowy+pisałem narzędzia symulacyjne w oparciu o czasem egzotyczne protokoły sieciowe) do firmy piszącej drivery no i "tak wyszło". I powiedziałbym, że nie jest do końca ważna znajomość samego C (chociaż co tu znać, to w sumie dość prosty język), bardziej chodzi o wiedzę niskopoziomową, czyli dlaczego takie a nie inne wyrównanie, czemu tam zmienna wjechała w inną itd.

0

nawet fajnie napisane dla newbies https://jvns.ca/blog/2014/09/18/you-can-be-a-kernel-hacker/

hah

0

Przeczytałem słowo "kernel" po polsku i nie mogłem ogarnąć o co chodzi

1 użytkowników online, w tym zalogowanych: 0, gości: 1