Dyski i systemy plików, informatyka


Dyski, systemy plików

Ogólne informacje o dyskach

Formatowanie niskopoziomowe

Każdy dysk jest poddawany przez producenta tzw. formatowaniu niskopoziomowemu. Są wtedy tworzone ścieżki, sektory i cylindry.

Ścieżki są koncentrycznymi okręgami numerowanymi od 0 (ścieżka 0 jest przy zewnętrznej krawędzi talerza dysku, kolejne numery ścieżek przebiegają od zewnętrz do środka dysku).

Cylinder to zbiór ścieżek znajdujących się w jednakowej odległości od środka dysku i utworzonych na różnych talerzach.

0x08 graphic
Ścieżki składają się z sektorów, których rozmiar jest stały i wynosi 512 B.

Struktura typowego dysku twardego jest następująca:

  1. Ścieżka

  2. Sektor geometryczny

  3. Sektor

  4. Klaster

Podział dysku na partycje

Użytkownik może podzielić dysk na części zwane partycjami (np. programem fdisk lub cfdisk w linuksie). Informacje o podziale na partycje zapisane są w tzw. tablicy partycji na początku dysku. Twardy dysk może zawierać najwyżej 4 partycje (4 wpisy w tablicy partycji). Mogą to być partycje główne i partycja rozszerzona. Jedna z partycji głównych musi być oznaczona jako aktywna (bootowalna) i z niej jest ładowany system operacyjny lub program ładujący tzw. bootloader mający wyższy priorytet. W systemie Windows chcąc podzielić dysk na więcej części, w partycji rozszerzonej trzeba utworzyć tzw. dyski logiczne.

Formatowanie wysokopoziomowe

Po podziale użytkownik musi sformatować każdą partycję. W systemie Windows jest wtedy zakładany dla partycji system plików. Wtedy też następuje podział na logiczne bloki - klastry tzw. jednostki alokacji. Mogą one się składać z kilku sektorów (ich wielkości są wielokrotnościami rozmiarów sektorów). W wielu systemach plików można wtedy określić wielkość klastrów (wybrać z podanego zakresu). Dla systemu NTFS wielkość klastrów można wybrać z zakresu: 512 B - 64 kB. Klastry są najmniejszymi jednostkami przydziału pamięci dla plików. Stanowią odpowiednik adresowalnej komórki pamięci głównej.

Podczas formatowania na początku partycji umieszczane są pewne struktury danych opisujące zawartość partycji i rozmieszczenie plików. W przypadku DOS/Windows jest to np. FAT czy MFT, w przypadku systemów linuksowych: bardziej złożone struktury danych np. blok główny (superblock), opisujący strukturę obszaru partycji oraz lista i-węzłów (i-node list) opisująca poszczególne pliki.

Jak system operacyjny pośredniczy w operacjach dyskowych?

Jednym z ważnych zadań systemu operacyjnego jest obsługa zapisu i odczytu danych w pamięciach dyskowych i związana z tym obsługa plików. Procesy nie mają bezpośredniego dostępu do urządzeń np. dysków i gdy chcą zapisać czy odczytać dane z dysku muszą skorzystać z pośrednictwa systemu operacyjnego. System operacyjny oferuje tzw. wywołania systemowe takie jak: otwieranie pliku, zamykanie pliku, czytanie, pisanie w pliku, tworzenie i usuwanie katalogów.

System operacyjny chcąc zapisać czy odczytać dane z dysku musi operować jakimiś współrzędnymi dyskowymi odnośnie miejsca zapisu czy odczytu. W pamięci głównej mamy adresowane komórki. Odpowiednikiem takich komórek na dysku są klastry (zgrupowania sektorów) inaczej zwane jednostkami alokacji. Odpowiednikami adresów komórek są numery klastrów (adresy klastrów). Tak więc system operacyjny podczas operacji dyskowych korzysta z numerów klastrów.

Jak system operacyjny ułatwia użytkownikowi proces zapisu i odczytu danych na dyskach?

Katalogi i pliki

Dla użytkownika komputera posługiwanie się numerami klastrów przy zapisie i odczycie danych byłoby kłopotliwe. Dlatego system operacyjny tworzy dla naszej wygody pewną abstrakcję: pliki i katalogi.

W rzeczywistości mamy do czynienia z zapisanymi klastrami. Pliki to zbiory zapisanych klastrów często porozrzucanych po całym dysku

0x01 graphic

System operacyjny ułatwia użytkownikom korzystanie z plików oferując mu kolejną abstrakcję: katalogi. Katalogi z punktu widzenia użytkownika porządkują pliki. Ale na dysku nie ma takiej struktury jak katalog - są tylko zapisane klastry. Katalog jest tak naprawdę plikiem (konkretnie zbiorem klastrów) z wpisami o plikach lub innych katalogach.

Drzewo katalogów

Dla użytkownika pliki umieszczone są w katalogach, katalogi mogą być w innych katalogach. Wszystko to tworzy nową logiczną (abstrakcyjną - nieistniejącą rzeczywiście) strukturę tzw. drzewo katalogowe.

Drzewo katalogowe składa się z pewnej ilości katalogów (directory). Na samym szczycie istnieje jeden wyróżniony katalog - katalog główny - korzeń - Root. Jest on katalogiem nadrzędnym dla wszystkich innych katalogów. Wszystkie katalogi znajdujące się w nim to podkatalogi katalogu głównego. Mówimy, że katalogi tworzą strukturę logiczną drzewa:

I poziom - katalog główny

II poziom - podkatalogi katalogu głównego

III poziom - podkatalogi podkatalogu katalogu głównego itd.

Katalog

Katalog jest strukturą logiczną, może zawierać pliki albo inne katalogi. W rzeczywistości katalog jest zbiorem wpisów o plikach i katalogach przechowywanych w postaci pliku. Wpisy o katalogach i plikach to np. nazwa, położenie na dysku, czas utworzenia, prawa dostępu.

Plik

Plik to zbiór danych zapisanych na dysku o określonej nazwie. Pamiętamy, że plik fizycznie nie istnieje, istnieje tylko zbiór zapisanych klastrów. Informacje o pliku przechowywane są w katalogu. Szczególnie jest tam przechowywana informacja o adresie pierwszego klastra z plikiem, w kolejnych fragmentach pliku jest przechowywana informacja o położeniu kolejnych kawałków pliku. W ten sposób pliki nie muszą być zapisywane w kolejnych klastrach, ale mogą być porozrzucane po całym dysku. W ten sposób kolejne kawałki pliku pamiętają informacje o położeniu następnych kawałków. Takie „porozrzucanie pliku” po dysku sprzyja oszczędności miejsca, ale z drugiej strony może wpływać na wolniejszy dostęp do pliku.

Podsumujmy: system operacyjny widzi pliki, jako zbiory zapisanych klastrów, zaś użytkownicy i procesy, jako ciągłe zbiory danych użytecznych. Z drugiej strony taka klastrowa, „pokawałkowana” struktura pliku powoduje, że dostęp do plików jest sekwencyjny tzn. odczytując dane z pliku czytamy je po kolei od początku do końca, tak jakby były zapisane na długiej taśmie.

Przypomnijmy obsługę plików w pisanych przez nas programach:

Otóż wymienione czynności są wykonywane przez system operacyjny przez tzw. wywołania systemowe.

Uwaga: usunięcie pliku jest operacją przeprowadzoną na katalogu- zostaje usunięty tylko wpis z katalogu, natomiast przechowywane w pliku dane zostają do momentu zastąpienia ich innymi danymi.

Identyfikacja pliku

Podanie nazwy pliku nie identyfikuje go jednoznacznie. Jest tak tylko w obrębie danego katalogu, nie zaś w obrębie całego drzewa katalogowego.

Pełna identyfikacja pliku to podanie ścieżki dostępu i nazwy:

W systemie WINDOWS: C:\Documents and Settings\Kazik\Moje Dokumenty\podanie.doc

W systemie Unix/Linux: /Home/Kazik/podanie.doc

System plików

System plików to system (standard) szczegółowo określający zasady zapisu danych na dysku. System plików określa m.in. sposób przechowywania informacji o plikach (tablice rozmieszczenia plików..), rodzaje przechowywanych informacji o plikach (nazwa, położenie, prawa dostępu), wielkość maksymalnego pliku, wielkość klastrów, maksymalne długości nazw plików.

Przykładowe systemy plików:

FAT

FAT32

NTFS

Ext2/ext3

ReiserFS

Dla zainteresowanych:

Journaling(kronikowanie)

Jest to funkcja systemów plików polegająca na prowadzeniu dziennika (journal), w którym zapisywane są operacje zlecone systemowi plików, ale jeszcze niezakończone (transakcje)

System plików musi przechowywać oprócz danych zapisywanych w plikach, także dane o samej strukturze plików i strukturze systemu plików (tzw. metadane). Stąd biorą się problemy ze spójnością podczas awarii systemu, gdy nastąpi ona między operacjami na metadanych i operacjami na danych (w trakcie jednej operacji np. zapisu).

Transakcje zapewniają zapis takiej jednej operacji dyskowej (zapisu, tworzenia lub usuwania pliku (katalogu)) do dziennika. Jest ona zapisywana w całości i tylko, jeśli wszystkie jej kroki przejdą pomyślnie może zostać uznana za wykonaną.

W momencie uruchomienia systemu po awarii wszystkie operacje w całości zapamiętane w dzienniku są wykonywane, a te, które nie są zapisane w całości są wymazywane z dziennika i ignorowane.

W przypadku systemów plików bez dziennika, aby przywrócić porządek po nagłej awarii, trzeba uruchamiać specjalny program poprawiający błędne wpisy. W systemie Windows 98 był automatycznie uruchamiany program scandisk.

Przykładowe błędy to:

- wycieki wolnego miejsca (po przerwanej alokacji nowych bloków lub przy usuwaniu pliku został on już skasowany, ale jego bloki nie są jeszcze zaznaczone jako usunięte)

- plik1 ma wpisy pośrednie mogące pokazywać na bloki, których system już nie zdążył zająć przed awarią, następnie plik2 je zajmuje, a my teraz zwalniamy plik1 i plik2 traci dane!

System plików z kroniką po restarcie zwykle przywraca spójność dysku w czasie rzędu kilku, kilkunastu sekund.

Restart systemu po awarii w systemach z kronikowaniem nie zależy od wielkości partycji, co jest szczególnie istotne w przypadku wielkich dysków.

Rozróżniamy dwa podstawowe typy kronikowania:

- tylko metadanych (zapewnia spójność metadanych, ale może nie pamiętać ostatnio wpisanych danych tuż przed awarią)

- metadanych i danych (odtworzy wszystko, co zostało w całości wprowadzone do dziennika)



Wyszukiwarka

Podobne podstrony:
Dyski i systemy plików, Notatki lekcyjne ZSEG, Informatyka
Jądro i system plików, Informatyka, Linux, Linux - Podręcznik
System plików FAT, edukacja i nauka, Informatyka
System plików, edukacja i nauka, Informatyka
Porównanie systemów plików FAT, technik informatyk, soisk utk
LINUX System plików, Tanki1990, informatyka, umowy kupna samochodu
Systemy plików - ćwiczenia, informatyka
1. System plików FAT. (typ adresowania, Informatyka, Technik informatyki
SYSTEMY PLIKOW, Technik Informatyk - materiały, SO I SK
SO8 Systemy plików
System plików to sposób organizacji danych na dyskach, Notatki z systemów
SYSTEMY DOKUMENTACYJNE I SYSTEMY FAKTOGRAFICZNE(1), informacja naukowa i bibliotekoznawstwo 3 semest
System plików, zOthers, Systemy operacyjne i sieci komputerowe
SYSTEMY1, technik informatyk, soisk utk
Typy i Fazy Instalacji Systemu Windows, Informatyka, Instalacja Systemu
Systemy plików
07 Linux System plików

więcej podobnych podstron