next up previous contents
Next: About this document ... Up: Obsługa pamięci podręcznej katalogów Previous: Pisanie modułów   Spis rzeczy

Zadania

  1. Zakładając, że kat1, kat2, ... to katalogi, zaś ln1, ln2 ... to dowiązania symboliczne, zaś flaga LOOKUP_FOLLOW jest ustawiona, oraz ścieżki są zapisane poprawnie, odpowiedzieć, czy funkcja path_walk zakończy się sukcesem (chodzi o to czy uda się jej przejść przez wszystkie linki) dla poniższych ścieżek
    a) kat1/ln1/ln2
    b) /kat1/kat2/ln1/kat3
    c) /ln1/kat1/ln2/
    rozw: a) N (na końcu ścieżki nie ma ukośnika),
    b) T (jest w środku), c) T (tu już ukośnik na końcu wiersza jest)
  2. Opisz działanie algorytmu namei dla ścieżki ../root/bin jeśli bieżącym katalogiem jest /tmp
    rozw: zaczynamy od bieżącego katalogu i potem zgodnie z algorytmem sprawdzając prawa dostępu, jeśli proces nie działa z prawami roota to najprawdopodobniej algorytm zakończy się błędem bo raczej nie mamy praw do odczytywania katalogu domowego admina (i prawidłowo)
  3. Załóżmy, że piszemy sobie moduł korzystający z procfs-a, dzięki któremu procesy mogą odczytywać plik jujufile. Czy możliwe jest zadbanie o to, aby w momencie usuwania naszego modułu np przez rmmod, nasz moduł sprawdzał czy przypadkiem żaden proces nie ma otwartego pliku jujufile? Posługujemy się jednynie interfejsem opisanym w tej pracy.
    rozw: Niestety nie ma sposobu (przy tym interfejsie) abyśmy byli powiadamiani, o tym, że ktoś otwiera lub zamyka nasz plik. Ale uwaga! Jest sposób - znacznie trudniejszy co prawda do zaimplementowania, który pozwala poradzić sobie z tym problemem.
    Możemy jednak pójść na łatwiznę niczego nie pisząc, tylko używać makra MOD_USE_INC_COUNT oraz MOD_USE_DEC_COUNT, w tym celu inkludując plik linux/module.h


next up previous contents
Next: About this document ... Up: Obsługa pamięci podręcznej katalogów Previous: Pisanie modułów   Spis rzeczy
2001-12-18