System plików

Wygląd przypnij ukryj

System plików – metoda przechowywania plików, zarządzania plikami, informacjami o tych plikach, tak by dostęp do plików i danych w nich zgromadzonych był łatwy dla użytkownika systemu; także: wolumin.

Systemy plików stosuje się dla różnych nośników danych, takich jak dyski, dyskietki, a także w strumieniach danych, sieciach komputerowych, pamięciach. We współczesnych systemach operacyjnych bezpośrednie operowanie na danych nośnika pamięci zarezerwowane jest tylko dla systemu operacyjnego, aplikacje mają dostęp tylko do operacji na plikach i mają zabroniony bezpośredni dostęp do nośnika danych.

Z formalnego punktu widzenia system plików to reguły umieszczania na nośniku abstrakcyjnych danych oraz informacji umożliwiających przechowywanie tych danych, łatwy i szybki dostęp do informacji o danych oraz do tych danych, manipulowania nimi, a także sposobach usuwania ich.

Większość systemów operacyjnych posiada własny (macierzysty) system plików, rozwijany równolegle z nim (np. FAT w DOS-ie, NTFS w Windows NT, APFS w macOS lub ext/ext2/ext3/ext4 i ReiserFS/Reiser4 w Linuksie), ze względu na pewne specyficzne właściwości nadawane plikom (np. atrybut wykonywalności pliku), podobnie jak niektóre nośniki danych (np. ISO 9660 i UDF na CD-ROM/DVD), jednak sam system plików jest niezależny od nich. Same systemy operacyjne (w szczególności Unix i jego pochodne) potrafią obsługiwać wiele systemów plików.

Organizacja danych

Nośniki danych, takie jak dyski twarde, dyskietki posiadają blokową strukturę danych, znaczy to, że dane są w nich przechowywane w postaci bloków, a blok musi być w całości zapisywany i odczytywany. W przypadku dysków wielkość pojedynczego bloku danych jest wielokrotnością rozmiaru pojedynczego sektora (najczęściej 512 bajtów).

Bloki tworzą strukturę liniową:

Blok 0 Blok 1 Blok 2 Blok 3 Blok n

Systemy operacyjne łączą bloki w klastry. Klaster składa się z kilku bloków (w nowszych systemach może to być 8 lub więcej bloków).

Dyskowy system plików część pamięci wykorzystuje na tzw. sektor rozruchowy (boot sector), który nie stanowi zasadniczej części systemu plików i jest używany do rozruchu systemu. Ponadto systemy plików przechowują listy wszystkich klastrów (oraz informacje do których plików one należą) w tzw. tablicach alokacji.

Przykład alokacji w linuksowym systemie plików ext2:

Blok rozr. grupa bloków 0 grupa bloków 1 grupa bloków 2 grupa bloków 3 grupa bloków n

Struktura grupy bloków (n – liczba bloków):

... grupa bloków 1 Superblok (1) Deskryptory grupy (n) Mapa bitowa bloków z danymi (1) Mapa bitowa i-węzłów (1) Tablica i-węzłów (n) Bloki z danymi (n) grupa bloków 3 ...

Podstawowe operacje

Jeżeli program chce wykonać jakąś operację na pliku robi to poprzez system plików. W systemie Unix oraz jego pochodnych takie operacje realizowane są za pomocą wywołań systemowych. Wywołania te są przechwytywane przez wirtualny system plików (VFS), odpowiednio przetwarzane i kierowane do zasadniczego systemu plików. Zastosowanie wirtualnego systemu plików powoduje, że program stosuje te same wywołania systemowe niezależnie od systemu plików.

Do najbardziej podstawowych wywołań systemowych należą:

Hierarchia systemu plików

Prymitywne systemy plikowe posiadały jedną listę plików wchodzących w skład systemu plików. W miarę postępu systemy plików zostały unowocześnione i współczesne systemy plików oprócz głównej listy (katalogu głównego) zawierają także podlisty (podkatalogi) które również mogą zawierać dalsze podlisty (podkatalogi). W ten sposób rozwinęło się pojęcie katalogów nadrzędnych oraz katalogów podrzędnych.

Katalog, w którym znajduje się plik jest nadrzędny (bezpośrednio) względem tego pliku. Katalog jest podrzędny (bezpośrednio) względem innego katalogu w którym się znajduje.

W ten sposób powstało pojęcie drzewiastej hierarchii systemu plików, w której każdy katalog może zawierać podkatalogi, które mogą zawierać dalsze podkatalogi. Powstaje w ten sposób struktura, która wygląda jak „odwrócone drzewo”.

Systemy, które mają taką strukturę nazywają się hierarchicznymi systemami plików. W takich systemach plik identyfikowany jest nie tylko na podstawie unikalnej nazwy, ale również ścieżki dostępu:

Windows 2000/XP: Unix / Linux: +- boot.ini +- | +- +- +- | +- | +- | +- | +- | +- | | +- twierdza.avi | | +- twierdza.avi | | | | | +- | +- | +- Dokument1.txt | +- Dokument1.txt | +- Dokument2.txt | +- Dokument2.txt | | +- | +- +-

Format podanej ścieżki zależy od systemu operacyjnego. W większości systemów (Unix, Linux, Mac OS) katalog jest reprezentowany przez ukośnik (ang. slash „/”), pełna ścieżka do pliku twierdza.avi (przykład powyżej) wygląda następująco:

/home/pimpek/filmy/twierdza.avi

W przypadku systemów Windows oraz DOS katalog jest reprezentowany przez lewy ukośnik (ang. backslash „\”), a pełna ścieżka do pliku twierdza.avi w tym systemie wygląda następująco:

C:\Documents and Settings\pimpek\moje dokumenty\filmy\twierdza.avi

Patrz też: ścieżka dostępu, katalog główny.

Dla systemu GNU/Linux powstały dwa formalne standardy określające układ katalogów w głównym systemie plików: FSSTND i FHS.

Rodzaje systemów plików

Popularne systemy plików

Poniższa lista jest podzielona ze względu na oryginalny system, dla którego były zaprojektowane. W chwili obecnej wiele systemów plików można obsługiwać w więcej niż jednym systemie operacyjnym (np. FAT, ISO 9660, NTFS, ext2, ZFS, SMB, NFS, JFS, XFS, UFS,...)

Unix/Linux

Sieciowe systemy plików (protokoły)

Sun Solaris

DOS

Windows

Amiga

Apple/Macintosh

OS/2

BeOS

CD-ROM/DVD

Inne

Zobacz też

Linki zewnętrzne

Systemy plików
DOS/Windows
Unix/Linux
OS/2 / eComStation
Lisa OS / Mac OS / OS X
Inne
Kontrola autorytatywna (składnik systemu operacyjnego):Encyklopedia internetowa: