Spis treści
SYSTEM PLIKÓWW SYSTEMIE LINUX
Wstęp do systemu plików, i buforowanieautor: Maciej Kurowski
Slajd PPT
Co to jest buforowanie?
Po co buforować?
Operacje na blokach
Struktura puli buforów
Struktury Danych W Buforowaniu
Tablica haszująca
Wyszukiwanie bufora getblk(dev, block, size)
Listy LRU
Pozyskiwanie nowych buforówrefill_freelist(size)
Czynności administracyjne
Lista buforów na stronie
ELH nagłówka bufora
Czytanie bloku dyskowegobread(dev, block, size)
Czytanie bloku raz jeszczebreada(dev, block, pos, size)
Zwalnianie bufora brelse
Wewnętrzna reprezentacja plików
Budowa podsystemu plików w Linuxie
Ogólny schemat fizycznej budowy systemu plików w Unixie
Podłączanie systemu plików w Linuxie
Reprezentacja systemu plików w jądrzeStruct super_block
Struct super_operations
Struktury związane z plikiem
Struct file
Slajd PPT
Struct file_operations
Slajd PPT
I-węzły w pamięci
Struct inode
Slajd PPT
Struct inode_operations
I-węzeł na dysku
Przechowywanie zawartości pliku w systemie EXT2
Schemat algorytmu iget - przydział i-węzła w pamięci
Schemat algorytmu iput - zwalnianie i-węzła w pamięci
Schemat algorytmu bmap - odwzorowanie logicznego adresu bloku, w którym znajduje się dany bajt w pliku, w numer bloku na dysku (EXT2)
System plików EXT 2autor: Łukasz Kowalik
Struktura danych na dysku
Slajd PPT
Super block (blok identyfikacyjny)
Deskryptor grupy
Algorytm przydziału nowego i-węzła: ext2_new_inode
Wnioski
Algorytm przydziału nowych bloków dyskowych: ext2_new_block
Slajd PPT
Wnioski:
Katalogi w Linuxie
Buforowanie pozycji katalogowych (dcache.c)
Slajd PPT
Slajd PPT
Slajd PPT
Slajd PPT
Funkcje systemowesystemu plikówautor: Tomasz Osman
Funkcje systemowe systemu plików
Struktury
Ogólny schemat działania funkcji systemowych
Open
open_namei(char *, int flag , int mode )
Sposoby otwarcia pliku
sys_write( int fd ,char * buf , int count)
ext2_file_write(..)
ext2_file_write(..,char * buf ,..)
sys_chdir(char * pathname )
sys_chroot(char * pathname)
sys_lseek( int fd , int offset , int orgin )
read ( int fd ,char * buf ,int count)
Czy funkcje generic_file_read można polubić ?
close(int fd )
Łączanazwane (fifo) i nienazwane (pipe)autor: Jan Palczewski
Struktury danych
Slajd PPT
Bufor
Slajd PPT
Slajd PPT
Slajd PPT
read, write (łącza blokujące)
Slajd PPT
Montowaniesystemówplików(mount, umount)autor: Jan Palczewski
Drzewo katalogów
Slajd PPT
Slajd PPT
Struktury danych
mount
algorytm mount
umount
Slajd PPT
Obsługa punktów zamontowania
link(stara_nazwa, nowa_nazwa);
Algorytm link (ext2fs)
Slajd PPT
Slajd PPT
mknod(nazwa_pliku, typ_i_prawa, urządzenie);
Slajd PPT
|
Autor: Łukasz Kowalik, Maciej Kurowski, Tomasz Osman, Jan Palczewski, Magdalena Urbańska
|