System plików


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.

Spis treści

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)[potrzebny przypis].

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:
[C:] [/]
 +- boot.ini +- [boot]
 |                                           +- [etc]
 +- [Documents and Settings]                 +- [home]
 |   +- [pimpek]                             |   +- [pimpek]
 |       +- [moje dokumenty]                 |       +- [filmy]
 |           +- [filmy]                      |       |   +- twierdza.avi
 |           |   +- twierdza.avi             |       |
 |           |                               |       +- [dokumenty]
 |           +- [teksty]                     |           +- Dokument1.txt
 |               +- Dokument1.txt            |           +- Dokument2.txt
 |               +- Dokument2.txt            |
 |                                           +- [usr]
 |                                           +- [var]
 +- [Program Files]

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











Kategorie: Systemy plików




Informacje na dzień: 28.10.2021 04:33:45 CEST

Źródło: Wikipedia (Autorzy [Historia])    Licencja: CC-BY-SA-3.0

Zmiany: Wszystkie zdjęcia i większość powiązanych z nimi elementów projektu zostały usunięte. Niektóre ikony zostały zastąpione przez FontAwesome-Icons. Niektóre szablony zostały usunięte (np. „Artykuł wymaga rozszerzenia) lub przypisane (np.„ Przypisy ”). Klasy CSS zostały usunięte lub zharmonizowane.
Usunięto linki do Wikipedii, które nie prowadzą do artykułu lub kategorii (takie jak „Redlinki”, „linki do strony edycji”, „linki do portali”). Każde łącze zewnętrzne ma dodatkową ikonę FontAwesome. Oprócz drobnych zmian w projekcie usunięto kontener multimediów, mapy, pola nawigacji, wersje mówione i geomikroformaty.

Proszę zanotować: Ponieważ podana treść jest automatycznie pobierana z Wikipedii w danym momencie, ręczna weryfikacja była i nie jest możliwa. Dlatego LinkFang.org nie gwarantuje dokładności i aktualności pozyskanych treści. Jeśli istnieją informacje, które są obecnie niepoprawne lub mają niedokładny wygląd, prosimy o Skontaktuj się z nami: e-mail.
Zobacz też: Znak firmowy wydawcy & Polityka prywatności.