Linux Wiki
Advertisement

Moduł – element dynamicznie ładowany do jądra Linux. Najczęściej są to sterowniki jakiegoś urządzenia. Modułowość umożliwia sprawne zarządzanie pamięcią dla jądra – gdy jakiś moduł jest niepotrzebny, odłącza się go.

Zarządzanie modułami[]

Wyświetlenie listy modułów: <terminal>$ lsmod</terminal> Ładowanie modułu: <terminal># modprobe nazwa</terminal> Odłączanie modułu: <terminal># rmmod nazwa</terminal>

Przykładowy moduł[]

Szablon:Tekst źródłowy:Moduł Do poprawnego skompilowania powyższego kodu, należy załączyć za pomocą dyrektywy #include dwa pliki nagłówkowe – kernel.h i module.h. Kod składa się z funkcji init_module() i cleanup_module(). Każdy moduł musi zawierać te funkcje w celu poprawnego działania. Funkcja init_module(), zwracająca typ całkowity jest pierwszą funkcją modułu wywoływaną przez jądro zaraz po załadowaniu modułu za pomocą polecenia modprobe. Funkcja cleanup_module() jest wywoływana w trakcie odłączania modułu poleceniem rmmod. W powyższym przykładzie znajduje się również funkcja printk(), wypisująca nasz tekst na terminal. Przy budowie modułów tylko funkcje jądra są dostępne, dlatego też nie możemy wywołać funkcji printf().

W celu poprawnej kompilacji powyższego modułu, do katalogu należy zamieścić poniższy plik Makefile: Szablon:Tekst źródłowy:Moduł.makefile

Advertisement