Od czego zacząć od Linuksowych modułów jądra?

Trochę tła, jestem studentem CMPE obecnie w klasie systemów operacyjnych. Mam podstawową wiedzę na temat kodowania C, ale czuję się bardziej komfortowo w C ++ (około 3 semestry). Poza tym nigdy nie odbył żadnego formalnego szkolenia w zakresie kodowania. Mam też podstawową wiedzę na temat środowiska linuksowego.

Pracuję nad projektem, który wymaga ode mnie i mojego zespołu kodowania modułu jądra Linuksa, który może wykonać następujące czynności:

echa danych przekazywanych z procesów na poziomie użytkownika przez wydrukowanie otrzymanych danych do dziennika jądrapotrafi przekazywać dane z jednego procesu użytkownika do drugiego.musi być możliwe użycie modułu jądra jako abstrakcyjnej komunikacji między procesami. moduł powinien zapewniać sytuacje, w których nadawca wysyła do niego dane, ale żaden odbiorca nie oczekuje. moduł musi obejmować sytuację, w której odbiorca prosi o dane, ale nie ma dostępnych danych.moduł musi obejmować sytuację, w której odbiorca prosi o dane, ale nie ma dostępnych danych.musi być limitem pojemności bufora w twoim module.

Teraz nie wiem, jak trudne to wydaje się osobom z doświadczeniem w programowaniu, ale wydaje się, że jest to niemożliwie skomplikowane zadanie dla kogoś na mojej pozycji.

Oto co zrobiłem do tej pory:

Coded, Compiled, Inserted i Usunięto podstawowy moduł jądra Linuksa „hello world”Przeczytaj o pierwszych 4 lub 5 rozdziałachPrzewodnik programowania modułów jądra systemu LinuxPrzeczytaj kilka postów dotyczących stackoverflow, z których żaden nie jest w stanie skierować mnie do miejsca, w którym muszę iść.

Więc w końcu oto moje pytanie: czy ktoś może wskazać mi kierunek, w którym muszę iść? Nie wiem nawet, gdzie się znaleźć, aby znaleźć polecenia do odczytu danych procesowych na poziomie użytkownika i potrzebuję gdzieś, żeby mnie uruchomić. TLPD był świetny dla wglądu w ten temat, ale nie pomaga mi dojść do punktu, w którym będę miał wykonalny projekt do włączenia. W przeszłości dowiedziałem się o czytaniu kodu źródłowego i inżynierii wstecznej, czy jest gdziekolwiek mogę znaleźć coś takiego? Wszelka pomoc jest mile widziana.

-Będzie

questionAnswers(2)

yourAnswerToTheQuestion