Up Next
Go up to Wykorzystanie
Go forward to Jak dopisać zmienne do sysctl

sysctl

Na procfs zaimplementowano możliwość konfiguracji zmiennych jądra. Nie wykorzystano tutaj wygodnej funkcji read. Napisano je od nowa przy tym postawiono wiele założeń co do zachwania procesu użytkownika. Przyjęto na przykład, że użytkownik nie czyta i nie pisze na raty. Trzeba te operacje wykonać w jednej instrukcji read lub write.

Całość jest opisywana przez rekurencyjny typ ctl_table. Struktura ta nie tylko daje opis zmiennych dla interfejsu z procfs ale również dla ciągle używanej funkcji systemowej(sysctl). Różnice między interfejsami stanowią identyfikatory zasobu. Dla proc jest to nazwa w katalogu, opisują to pola procname i child, to drugie pozwala zbudować hierarchie. Nie typowe jest tutaj to że dzieci nie są listą ale tablicą zakńczoną zerami. Wybrano taki sposób ponieważ struktura ta jest twożona statycznie w kodzie programu i podczas startu systemu przepisywana na proc_dir_entry.

Dla funkcji  sysctl identyfikatorem jest numer, który znajduje się w pliku  include/linux/sysctl.h. Oba interfejsy mają równierz oddzielne funkcje obsługujące.


Up Next