Ocena:

Obecnie brak opinii czytelników. Ocena opiera się na 113 głosach.
Linux Kernel Programming Part 2 - Char Device Drivers and Kernel Synchronization: Create user-kernel interfaces, work with peripheral I/O, and handle
Dowiedz się, jak pisać wysokiej jakości kod sterownika znaków, interfejs z przestrzenią użytkownika, pracować z pamięcią chipową i uzyskać dogłębne zrozumienie pracy z przerwaniami sprzętowymi i synchronizacją jądra
Kluczowe cechy:
⬤ Zapoznaj się z obsługą przerwań sprzętowych, wątkowymi IRQ, taskletami, softirqs i zrozum, które z nich kiedy używać.
⬤ Poznaj potężne techniki tworzenia interfejsów między użytkownikiem a jądrem, peryferyjnymi wejściami/wyjściami i korzystaj z mechanizmów jądra.
⬤ Praca z kluczowymi prymitywami synchronizacji jądra w celu rozwiązania problemów współbieżności jądra.
Opis książki:
Linux Kernel Programming Part 2 - Char Device Drivers and Kernel Synchronization to idealny przewodnik towarzyszący książce Linux Kernel Programming. Książka ta stanowi kompleksowe wprowadzenie dla tych, którzy dopiero zaczynają tworzyć sterowniki urządzeń w systemie Linux i pozwoli ci w mgnieniu oka rozpocząć pisanie kodu sterownika urządzenia znakowego klasy misc (w jądrze Linux 5.4 LTS).
Zaczniesz od nauczenia się, jak napisać prosty i kompletny sterownik znaków klasy misc, a następnie połączysz swój sterownik z procesami trybu użytkownika za pośrednictwem procfs, sysfs, debugfs, gniazd netlink i ioctl. Następnie dowiesz się, jak pracować ze sprzętową pamięcią I/O. Książka dogłębnie omawia pracę z przerwaniami sprzętowymi i pomaga zrozumieć alokację żądań przerwań (IRQ), wątkowe programy obsługi IRQ, tasklety i softirqs. Poznasz również praktyczne wykorzystanie przydatnych mechanizmów jądra, konfigurowanie opóźnień, timerów, wątków jądra i kolejek roboczych. Wreszcie, dowiesz się, jak radzić sobie ze złożonością synchronizacji jądra za pomocą technologii blokowania (muteksy, spinlocki i operatory atomowe/refcount), w tym bardziej zaawansowanych tematów, takich jak efekty pamięci podręcznej, elementarz technik bez blokad, unikanie zakleszczeń (z lockdep) i techniki debugowania blokad jądra.
Pod koniec tej książki o jądrze Linuksa nauczysz się podstaw pisania kodu sterownika urządzenia znakowego Linuksa dla rzeczywistych projektów i produktów.
Czego się nauczysz:
⬤ Poznać podstawy nowoczesnego linuksowego modelu urządzeń (LDM)
⬤ Napisać prosty, ale kompletny sterownik urządzenia znakowego klasy misc.
⬤ Wykonywanie interfejsów użytkownik-jądro przy użyciu popularnych metod.
⬤ Zrozumieć i pewnie obsługiwać przerwania sprzętowe.
⬤ Wykonywanie operacji wejścia/wyjścia na peryferyjnej pamięci sprzętowej.
⬤ Poznanie interfejsów API jądra do pracy z opóźnieniami, licznikami czasu, wątkami kthreads i kolejkami roboczymi.
⬤ Zrozumienie zagadnień współbieżności jądra.
⬤ Praca z kluczowymi prymitywami synchronizacji jądra i odkrywanie sposobów wykrywania i unikania zakleszczeń.
Dla kogo jest ta książka:
Zrozumienie tematów poruszanych w książce Linux Kernel Programming jest wysoce zalecane, aby w pełni wykorzystać tę książkę. Ta książka jest przeznaczona dla programistów Linuksa rozpoczynających swoją przygodę z tworzeniem sterowników urządzeń. Deweloperzy sterowników urządzeń Linux, którzy chcą przezwyciężyć częste i powszechne problemy związane z rozwojem jądra / sterownika, a także wykonywać typowe zadania sterownika, takie jak interfejsy użytkownik-jądro, wykonywanie peryferyjnych operacji we / wy, obsługa przerwań sprzętowych i radzenie sobie ze współbieżnością, skorzystają z tej książki. Wymagana jest podstawowa znajomość wewnętrznych elementów jądra Linux (i typowych interfejsów API), tworzenia modułów jądra i programowania w języku C.