Seminarium: Systemy Rozproszone
10 maj 2001, godzina 12:15, sala 3150
Rafal.Wijata@students.mimuw.edu.pl
  
 

Implementacja operacji na plikach
przez użytkowników w systemie Linux
(prezentacja materiału do pracy magisterskiej)

 


Na pewno każdy w swoim komputerowym życiu spotkał sytuację, w której przydałyby mu się większe możliwości manipulowania swoimi plikami.
Niech dla przykładu będą to prawa dostępu w UNIXie. Czyż nie chciałoby się czasem dać jakieś prawa dla kolegi, ale oczywiście nie od razu dla całej grupy. Innym przykładem niech będzie plik /etc/passwd. Ilu administratorów chciałoby aby użytkownicy widzieli w nim tylko linię (jedną), która ich interesuje. Po co od razu muszą wiedzieć tyle o innych użytkownikach? Czy nie byłoby fajnie, gdybyśmy mogli pewne dane trzymać na dysku skompresowane, ale tak, aby zwykły systemowy read() zwracał już zdekompresowane dane (i odwrotnie oczywiście).

Takich możliwości w dzisiejszych implementacjach systemów plików brak. Aby coś takiego osiągnąć trzeba albo zmieniać funkcje systemowe, albo czasem wymaga to zmiany całego systemu plików.

Na poprzednim seminarium pokazałem dwa rózne pomysły na poprawienie tej sytuacji. Tym razem przedstawię moje własne rozwiazanie. Dzięki niemu zwykłe procesy z przestrzeni użytkownika mogą implementować wywołania systemowe zawarte w strukturze file_operations. Jeśli ktoś stwierdzi, że naklady czasowe na wynoszenie funkcji poza jądro systemu sa zbyt duże, moze swój kod załadować jako moduł. To podejście pozwala wreszcie uwolnić się od sztywnych regół zakodowanych w systemie plików, i zmusić pliki do działania po naszemu!

 

Wszystkich zainteresowanych serdecznie zapraszam.

Rafał Wijata