W ciągu kilkuletniej pracy w Intelu, każdy projekt, z którym miałem do czynienia sprowadzał się do jednego – sprawienie, żeby sprzęt wykonywał nasze polecenia w odpowiedni sposób. zwykle implementacją naszej woli były rożne sterowniki lub fragmenty kodu wykonywane z poziomu jądra systemu operacyjnego – jest to rozwiązanie poprawne, przetestowane i dla niektórych zastosowań, jedyne możliwe. A co z alternatywami? Niektóre rodzaje urządzeń (lub niektóre zadania, do których są one używane) nie osiągają pełnej wydajności, podczas gdy kod wykorzystujący je pracuje w przestrzeni użytkownika i musi komunikować się z jądrem poprzez wywołania funkcji systemowych. Podobnie, niektórzy programiści są przerażeni, w momencie, kiedy wytworzenie sterownika do urządzenia wymaga wiedzy, która może zostać określona jako tajemna, bez możliwości wykorzystania standardowych narzędzi i ograniczeniami związanymi z wykorzystywanym językiem. W trakcie prezentacji pokażę, jakie są wady i zalety obu podejść, kiedy podejścia alternatywne są możliwe i jakie są ich zalety, nie tylko ze względu na wydajność działania produktu, ale także jego wytwarzania i ewentualnego utrzymania.
BITconf 2019 - [Łukasz Daniluk] Sterowniki user-mode zamiast kernel-mode
W ciągu kilkuletniej pracy w Intelu, każdy projekt, z którym miałem do czynienia sprowadzał się do jednego – sprawienie, żeby sprzęt wykonywał nasze polecenia w odpowiedni sposób. zwykle implementacją naszej woli były rożne sterowniki lub fragmenty kodu wykonywane z poziomu jądra systemu operacyjnego – jest to rozwiązanie poprawne, przetestowane i dla niektórych zastosowań, jedyne możliwe. A co z alternatywami? Niektóre rodzaje urządzeń (lub niektóre zadania, do których są one używane) nie osiągają pełnej wydajności, podczas gdy kod wykorzystujący je pracuje w przestrzeni użytkownika i musi komunikować się z jądrem poprzez wywołania funkcji systemowych. Podobnie, niektórzy programiści są przerażeni, w momencie, kiedy wytworzenie sterownika do urządzenia wymaga wiedzy, która może zostać określona jako tajemna, bez możliwości wykorzystania standardowych narzędzi i ograniczeniami związanymi z wykorzystywanym językiem. W trakcie prezentacji pokażę, jakie są wady i zalety obu podejść, kiedy podejścia alternatywne są możliwe i jakie są ich zalety, nie tylko ze względu na wydajność działania produktu, ale także jego wytwarzania i ewentualnego utrzymania.