Index
listscript.cgi id=20
rok 2027 20 23 (2)
rozdzial 02 (20)
rozdzial 06 (20)
rozdzial 20 (51)
20 (315)
20 (414)
PLIKI (20)
CH13 (20)
www nie com pl 3
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • czas-shinobi.keep.pl

  • [ Pobierz całość w formacie PDF ]
    .    Oczywiście wszystkie struktury danychpozwalają na występowanie tylko jednej kopii i-węzła w pamięci.Dlatego,chociaż mamy kilka struktur przechowujących i-węzły, wszystkie one operująjedynie na wskaźnikach.powód trzeci: efektywność    Spójrzmy na numer omawianej wersji Linuxa - 2.32 -czyż nie budzi respektu? Ale spróbujmy wgłębić się w istotę tej liczby -  przypuszczalnie była wersja 31 (beta), jakaś dwudziestka, kilkanastek.to o czymś świadczy - o tym mianowicie, że każdy kawałek zostałpoddany wnikliwej analizie, między innymi pod względem efektywności.Takzapewne stało się i w tej sytuacji.Kiedy szanowny czytelnik przejdziedo opisu np funkcji  iget , dowie się, żekiedy załadujemy już jakiś i-węzeł do  i-ramki w pamięci - nie usuniemygo prędko - dopiero, kiedy nie będzie już żadnych innych wolnych i-ramekdo wykorzystania.  Ta swego rodzaju inercja pozwala w większości sytuacjina zaoszczędzenie czasu ładowania i-węzła z dysku do i-ramkiw pamięci.Główna idea i założeniastruktury danych:    Istnieją dwie podstawowe struktury danych, przeznaczonedo wspomagania operowania na i-ramkach w pamięci operacyjnej:dwukierunkowa Lista (będę ją tak od tej pory nazywał) przechowująca wszystkiei-ramki,tablica haszująca list dwukierunkowych zawierających i-ramki.    Ad.1.Na Liście umiejscowione są wszystkie dostępne, czyli utworzonewcześniej i-ramki.     Ad.2.Każdy i-węzeł identyfikowany jest poprzez swój numer oraz numer urządzeniana którym się znajduje.Tablica haszująca umożliwia szybki dostęp do i-ramkizawierającej i-węzeł poprzez obliczenie funkcji haszującej dla i-węzłai wyszukanie odpowiadającej mu i-ramki na liście w tablicy.Jest więc onajedynie nakładką na Listę, przyspieszającą dostęp do i-ramek.W oryginalnym komentarzu na początku pliku fs/inode.c zamieszczonoostrzeżenie, żeby uważać przy wykorzystywaniu tablicy haszującej w związku z równoczesnym jej używaniem przez różne procesy.    Jak wynika z wcześniejszego opisu, i-ramka dla danegoi-węzła występuje w pamięci operacyjnej dokładnie raz.Dlatego zarównotablica haszująca, jak i Lista przechowują jedynie wskaźniki na rozpatrywaneobiekty.    Wszystkie dołączenia do list (tych w tablicy haszującej,a także tej, zawierającej wszsystkie i-ramki) przechowywane są w i-ramkach.    Dla ściślejszego zorientowania się jak powyższe strukturysą wykorzystywane polecam zapoznanie się z opisami dotyczącymi algorytmówobsługi pobierania i-ramki (iget ) oraz jej zwalniania(iput ). stałe:NR_INODE : maksymalna ilość i-ramek możliwa do utworzenia w systemie; ustawionaw include/linux/fs.h na 3072NR_IHASH : rozmiar tablicy haszującej; ustawiona w fs/inode.c na 512 UwagiIstnieje pewien problem dotyczący nazewnictwa.Mianowicieużywane jest jedno słowo na określenie dwóch różnych rzeczy: i-węzeł(i-node)może być zarówno na dysku, jak i w pamięci.Ta rzecz określana jest w kodziesystemowym Linuxa poprzez: inode (dla i-węzła pamięciowego) oraz ext2_inode(dla i-węzła na dysku) - gdzie ext2 jest tylko przykladem systemu.Dlatego wzorem ramki dla strony w stronicowaniupamięci chciałbym wprowadzić i-ramkę dla i-węzła.Dlaczego tak ?   Tak jak ramka zawiera stronę, tak i-ramka zawierai-węzeł, oczywiście i-ramka zawiera jeszcze więcej informacji oprócz samegoi-węzła, ale to nie przeszkadza w intuicyjnym rozumieniu tego słowa.Bibliografia        1.    Pliki źródłowe:           -    linux/include/fs.h           -    linux/fs/inode.c           -    linux/fs/ext2/inode.c        2.    ProjektLinux        3.    LinuxKernel Hackers GuideAutor: Grzegorz Gawron [ Pobierz całość w formacie PDF ]
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • aceton.keep.pl
  • 
    Wszelkie Prawa Zastrzeżone! Kawa była słaba i bez smaku. Nie miała treści, a jedynie formę. Design by SZABLONY.maniak.pl.