Organizacja systemu plików

Podobne dokumenty
Organizacja systemu plików

Organizacja systemu plików

Operacje na plikach. Organizacja systemu plików. Typy plików. Struktury plików. Pliki indeksowane. Struktura wewn etrzna

pozycja klucza - offset klucza w rekordzie flaga pliku tymczasowego czas utworzenia bież acy rozmiar - liczba bajtów w pliku

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku

Tworzenie pliku Zapisywanie pliku Czytanie pliku Zmiana pozycji w pliku Usuwanie pliku Skracanie pliku

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

Sektor. Systemy Operacyjne

Jarosław Kuchta. Administrowanie Systemami Komputerowymi. System plików

16MB - 2GB 2MB - 128MB

1. Pliki i ich organizacja

System plików warstwa logiczna

us lugi katalogowe? Czym różni si e serwer katalogowy od serwera bazy danych:

SYSTEMY OPERACYJNE WYKLAD 5 - zarządzanie pamięcią pomocniczą

Systemy operacyjne System plików

Charakterystyka systemów plików

System plików. dr inż. Krzysztof Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski

Podstawowe wiadomości o systemach plików.

System plików. Warstwowy model systemu plików

dr inż. Jarosław Forenc

Zaawansowane funkcje systemów plików. Ewa Przybyłowicz

System plików przykłady. implementacji

Systemy plików i zarządzanie pamięcią pomocniczą. Struktura pliku. Koncepcja pliku. Atrybuty pliku

System plików przykłady implementacji

< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 >

Paradygmaty programowania. Paradygmaty programowania

obszar bezpośrednio dostępny dla procesora rozkazy: load, store (PAO rejestr procesora)

Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego

wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK

Systemy Operacyjne - Operacje na plikach

System plików i zarządzanie pamięcią pomocniczą. Koncepcja pliku. Atrybuty pliku. Struktura pliku. Typ pliku nazwa, rozszerzenie (extension)

System plików. - warstwa logiczna. - warstwa fizyczna. - przykłady implementacji. Systemy operacyjne Wykład 6 1

Wykład 4. Tablice. Pliki

Bazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Dyski. Mechanizmy składowania

Drzewa AVL definicje

Windows Serwer 2008 R2. Moduł 5. Zarządzanie plikami

Fizyczna organizacja danych w bazie danych

Pliki. Operacje na plikach w Pascalu

Uruchamianie SNNS. Po uruchomieniu. xgui & lub snns & pojawia si e okno. programu. Symulator sztucznych sieci neuronowych SNNS 1

Bazy danych. Andrzej Łachwa, UJ, /15

Administracja systemem Linux p. 1

Systemy plików FAT, FAT32, NTFS

Drzewa podstawowe poj

System operacyjny UNIX system plików. mgr Michał Popławski, WFAiIS

Tadeusz Pankowski

System plików. Atrybuty pliku. Typy plików. Pojęcie pliku (ang. file) Zadania systemu operacyjnego. Struktura pliku. Dariusz Wawrzyniak 1

System plików. Systemy operacyjne System plików 1. Pojęcie pliku (ang. file)

System plików warstwa logiczna. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Pliki i systemy plików

Wstęp do Informatyki. Reprezentacja liczb w komputerze Arytmetyka stało- i zmiennoprzecinkowa Przechowywanie danych pliki i foldery

sprowadza się od razu kilka stron!

Archiwizacja danych. nie jeden ale wiele dysków), jak również przed jednoczesna

PLAN WYKŁADU BAZY DANYCH INDEKSY - DEFINICJE. Indeksy jednopoziomowe Indeksy wielopoziomowe Indeksy z użyciem B-drzew i B + -drzew

System plików. System plików. Operacje plikowe. Inne operacje. Typy plików. Typy dostępu do plików

System plików. Definicje:

Systemy wejścia/wyjścia

UNIX SYSTEM PLIKÓW. UNIX System plików

Dział Dopuszczający Dostateczny Dobry Bardzo dobry Celujący

Przykładowe B+ drzewo

Struktura dysku. Dyski podstawowe i dynamiczne

Wirtualne sieci prywatne

Jak matematyka pomaga w wyszukiwanie wzorca

System plików Linuksa

Dfs - Distributed File System SMB - Server Message Block. 18 grudnia 2002

Wykład PASCAL - Pliki tekstowe

Tworzenie partycji i dysków logicznych

KATEGORIA OBSZAR WIEDZY NR ZADANIA Podstawowe informacje i czynności

Algorytmy i struktury danych. Wykład 4 Tablice nieporządkowane i uporządkowane

Wykonać Ćwiczenie: Active Directory, konfiguracja Podstawowa

Zad. 1. Systemy Baz Danych przykładowe zadania egzaminacyjne

Szeregowanie w systemach czasu rzeczywistego

Paradygmaty programowania. Paradygmaty programowania

Memeo Instant Backup Podręcznik Szybkiego Startu

Deduplikacja danych. Zarządzanie jakością danych podstawowych

PR P E R Z E E Z N E T N A T C A JA C JA KO K RP R O P RA R C A Y C JN Y A JN ACTINA DATA MANAGER

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0

Tabela wewnętrzna - definicja

Spis treści. Podstawy posługiwania się komputerem

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0

Steganograficzny system plików

WPROWADZENIE DO BAZ DANYCH

SYSTEMY OPERACYJNE WYKŁAD 5 OBSŁUGA PAMIĘCI MASOWYCH

System plików JFS. 1 Najważniejsze informacje. Mateusz Zakrzewski. 18 stycznia JFS to skrót od Journalled File System.

Pracownia internetowa w każdej szkole. Opiekun pracowni internetowej SBS 2003 PING

1. Podstawy...P Polecenia podstawowe...p... 18

Podstawy Informatyki. Metody dostępu do danych

System plików warstwa fizyczna. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Bazy danych - BD. Indeksy. Wykład przygotował: Robert Wrembel. BD wykład 7 (1)

PLAN WYKŁADU BAZY DANYCH HIERARCHIA MECHANIZMÓW SKŁADOWANIA PRZECHOWYWANIA BAZ DANYCH

Architektura systemów komputerowych

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Technologie informacyjne (3) Zdzisław Szyjewski

Rozdzia l 3. Laboratorium 3. danych zawierajac

System kontroli wersji - wprowadzenie. Rzeszów,2 XII 2010

Funkcje systemu Unix

PAMIĘĆ OPERACYJNA...107

Zespół Szkół Technicznych w Suwałkach. Pracownia Systemów Komputerowych. Ćwiczenie Nr 4. SYSTEMY PLIKÓW cz. I. Opracował Sławomir Zieliński

Konfiguracja historii plików

Transkrypt:

Organizacja systemu plików organizacja logiczna pliku: rekordy o sta lej lub zmiennej d lugości np. w systemie Unix typowo pliki zorganizowane sa jako sekwencje bajtów, zatem sa to rekordy o sta lej d lugości jednego bajta organizacja fizyczna pliku: zbiór bloków dyskowych prowadzi do zjawiska fragmentacji wewn etrznej kompromis: wielkość bloku/efektywność oraz fragmentacja operacje na plikach: tworzenie, kasowanie, otwieranie, zamykanie, odczyt sekwencyjny, zapis sekwencyjny, przesuwanie kursora zarzadzanie plikami: tworzenie i odczytywanie atrybutów, kontrolowanie praw dost epu organizacja wielu plików na jednym urzadzeniu: katalogi plików operacje na katalogach: tworzenie, przeszukiwanie, sortowanie operacje na systemach plików: tworzenie, sprawdzanie spójności Systemy plików wprowadzenie 1

Operacje na plikach Podstawowe: tworzenie zapis odczyt pozycjonowanie (seek), inaczej: przesuwanie kursora usuwanie pliku zerowanie pliku (zapis od zera) Dodatkowe: dopisywanie na końcu pliku zmiana nazwy pliku Zauważmy, że np. kopiowanie pliku można zrealizować przez utworzenie nowego i nast epnie sekwencj e odczytów i zapisów. Jednak nie chcielibyśmy np. zmieniać nazwy pliku przez utworzenie nowego pod nowa nazwa i przepisanie zawartości. Systemy plików operacje 2

Atrybuty plików zabezpieczenia - kto może uzyskać dost ep i w jaki sposób has lo twórca w laściciel flaga tylko do odczytu flaga ukrycia - pliki nie wyświetlane w normalnym listingu flaga systemowa - pliki systemowe flaga archiwum - pliki wymagajace archiwizacji flaga tekstowy/binarny flaga dost epu losowego/tylko sekwencyjnego flaga pliku tymczasowego d lugość rekordu - liczba bajtów w rekordzie pozycja klucza - offset klucza w rekordzie d lugość klucza czas utworzenia Systemy plików operacje 3

czas ostatniej modyfikacji czas ostatniego dost epu bieżacy rozmiar - liczba bajtów w pliku maksymalny rozmiar - liczba bajtów do jakiej plik może si e rozrosnać Systemy plików operacje 4

Typy plików System operacyjny może obs lugiwać pliki różnych typów. Typami plików moga być: plik tekstowy, plik binarny, plik archiwizacji, plik skompresowany, plik zaszyfrowany, itp. Z każdym z tych typów plików zwiazane sa pewne operacje charakterystyczne, na przyk lad linkowanie i ladowanie do pami eci pliku binarnego, wyświetlanie zawartości pliku archiwizacji, itp. Ponadto, z różnymi typami moga być zwiazane pewne charakterystyczne atrybuty, np. encoding dla plików tekstowych, algorytm kompresji dla plików skompresowanych, albo identyfikator klucza dla plików zaszyfrowanych. System operacyjny może znać różne typy plików, i posiadać procedury niezb edne do ich obs lugi. Alternatywnie, system może traktować różne typy plików identycznie, zapewniajac tylko podstawowe procedury ich obs lugi. W takim przypadku obowiazkiem użytkownika pozostaje uruchamianie aplikacji niezb ednych dla pos lugiwania si e poszczególnymi plikami. Pliki typ i struktura/organizacja logiczna 5

Struktury plików Z typem pliku zwiazana jest cz esto struktura, albo inaczej organizacja logiczna. Przyk ladem prostej struktury pliku jest ciag bajtów. Taka struktur e obs luguja takie systemy jak Unix albo DOS. W ramach tej struktury obs lugiwane sa wszystkie pliki w systemie, np. pliki tekstowe, pliki binarne zawierajace program binarny skompilowany na maszyn e 64-bitowa, pliki binarne zawierajace obraz cyfrowy w formacie JPEG w kodowaniu 24-bitowym, itp. Przyk ladem innej struktury jest ciag rekordów o sta lej lub zmiennej d lugości. W tym przypadku elementarne operacje wejścia/wyjścia na pliku zapisuja lub odczytuja pojedynczy rekord o odpowiedniej d lugości, lub jego wielokrotność. Przyk ladowo, rekord może mieć sta la d lugość 36 bitów, i pos lugiwanie si e takimi plikami mia loby sens dla komputera o d lugości s lowa maszynowego również 36-bitów, ponieważ naturalna jednostka transferu by loby wtedy 36 bitów. (Troch e k lopotliwe by loby przechowywanie w takich plikach danych tekstowych zakodowanych w 7-bitowym kodzie ASCII, aczkolwiek możnaby w pojedynczym s lowie przechować dok ladnie 5 znaków, ze strata tylko jednego bitu na s lowo.) Pliki typ i struktura/organizacja logiczna 6

Pliki indeksowane Przyk ladem bardziej z lożonej struktury może być struktura indeksowana. Pliki indeksowane sk ladaja si e z dwóch cz eści, z których jedna zawiera indeks, a druga w laściwe dane. Takie pliki można traktować jako rodzaj prostej bazy danych, gdzie dane posiadaja klucze wed lug których sa zapami etywane i wyszukiwane. Pliki typ i struktura/organizacja logiczna 7

Dost ep sekwencyjny Kolejnym aspektem obs lugi plików przez system jest sposób dost epu. Podstawowymi sposobami dost epu sa: dost ep sekwencyjny, dost ep bezpośredni, dost ep indeksowany. Dost ep sekwencyjny: Pliki tryby dost epu 8

Dost ep bezpośredni Dla plików przechowywanych na dyskach możliwe jest przejście do dowolnego bloku pliku bez sekwencyjnego czytania wszystkich bloków poprzedzajacych. Operacj e t e nazywa si e pozycjonowaniem (seek), albo czasami przesuwaniem kursora. Możliwość dost epu bezpośredniego i wykonalność operacji pozycjonowania wynika z implementacji plików na dyskach magnetycznych, które w naturalny sposób umożliwiaja obliczenie adresu bloku dyskowego zawierajacego poszukiwana dana, i pobranie dok ladnie tego bloku. Jak zobaczymy nieco później, w niektórych implementacjach systemów plików, nawet na urzadzeniach dyskowych, nie jest możliwy taki sposób dost epu. Pliki tryby dost epu 9

Dost ep indeksowany Pliki indeksowane zapewniaja szybki dost ep do rekordów uporzadkowanych wed lug klucza, lecz wymagaja dwustopniowego dost epu. Alternatywa jest wczytanie i trzymanie indeksu w pami eci, jednak jest to sensowne tylko do pewnej wielkości. Możliwe jest również stosowanie trzystopniowej struktury, gdzie indeks g lówny trzymany jest w pami eci RAM, natomiast indeks drugiego poziomu jest już przechowywany na dysku. Pliki tryby dost epu 10

Krótkie podsumowanie pytania sprawdzajace 1. Jakie sa podstawowe operacje wykonywane na plikach? 2. Co to jest struktura pliku i jakie sa możliwe struktury? 3. Czym różni si e dost ep sekwencyjny do pliku od dost epu bezpośredniego? 4. Co to jest operacja pozycjonowania (seek)? Pliki podsumowanie 11

Pliki podsumowanie 12

Organizacja logiczna systemu plików: partycje Partycjonowanie dysków umożliwia latwiejsz a organizacj e rozmieszczenia różnych elementów systemu na dysku. Na przyk lad: jedna partycja może zawierać system operacyjny, a inna być używana jako obszar wymiany swap. Partycja może obejmować cz eść jednego dysku, ca ly dysk, lub wiele dysków. System plików sk lada si e z katalogu oraz obszaru alokacji poszczególnych plików. Systemy plików organizacja logiczna 13

Niezależne systemy plików Niektóre systemy dopuszczaja operacje na wielu systemach plików jednocześnie. Na przyk lad, dyski C:, D:, itd., w systemie Windows. Systemy plików organizacja logiczna 14

Zamontowane systemy plików Unix (i inne podobne systemy) operuja tylko na jednym logicznym systemie plików, i wymagaja, by wszystkie używane fizyczne systemy plików by ly w laczone w jeden system logiczny. W systemie Unix jest to realizowane przez operacj e montowania jednego systemu plików w jakimś miejscu drzewa katalogów drugiego. Jeśli montowany system plików zostanie w laczony do niepustego katalogu, to tymczasowo przes lania cz eść podstawowej struktury katalogów. Systemy plików organizacja logiczna 15

Organizacja logiczna systemu plików: katalogi Systemy operacyjne pos luguja si e wieloma plikami zarówno dla organizacji samego systemu, jak i w celu udost epnienia operacji programom. Systemy plików moga mieć różna organizacj e, ale dla umożliwienia tworzenia, przechowywania, i dost epu do wielu plików posiadaja na ogó l struktur e zwana katalogiem. Katalog w ogólności jest lista plików zawartych w systemie, z ich nazwami i informacja o alokacji pliku na dysku, jak adres bloku kontrolnego pliku (patrz niżej), lub bezpośrednio adres pierwszego bloku alokacji. Systemy plików katalogi 16

Katalogi jednopoziomowe Systemy plików katalogi 17

Katalogi dwupoziomowe Systemy plików katalogi 18

Katalogi wielopoziomowe Systemy plików katalogi 19

Linki w systemie plików drzewiasta struktura katalogów Podstawowa struktura katalogów jest hierarchiczna struktura drzewiasta, z katalogiem g lównym stanowiacym korzeń struktury, i katalogami zawierajacymi na kolejnych poziomach obok plików podkatalogi. Pozycja w katalogu reprezentujaca plik lub podkatalog zawiera nazw e danego obiektu i wskaźnik do niego, zwany dowiazaniem lub linkiem. Tworzenie nowego pliku lub katalogu zwiazane jest z utworzeniem nowego linku w odpowiednim katalogu. Systemy plików katalogi 20

Acykliczna struktura katalogów Acykliczna struktura katalogów pozwala na wi eksz a ogólność niż struktura ściśle drzewiasta, np. na istnienie jednego pliku w różnych katalogach. Pozwala to na unikanie kopiowania, ale wymaga specjalnych procedur np. przy usuwaniu plików. Systemy plików katalogi 21

Ogólna struktura katalogów Ogólna struktura katalogów może zawierać cykle mi edzy katalogami. Procedury, które zag l ebiaj a si e rekurencyjnie w strukturze katalogów moga w ten sposób wpadać w nieskończone p etle. Systemy plików katalogi 22

Sieciowe systemy plików Najstarsza i najprostsza metoda wspó ldzielenia plików w sieci by lo ich kopiowanie, na przyk lad wykorzystujac protokó l ftp albo jedna z jego bardziej prymitywnych, lub bardziej wyrafinowanych wersji. Podejściem alternatywnym jest rozproszony system plików DFS (Distributed File System), który umożliwia dost ep do katalogów zdalnych systemów plików tak jakby by ly obecne w lokalnym systemie. NFS (Network File System) umożliwia wspó ldzielenie mi edzy komputerami systemów plików, albo poddrzew katalogów: serwer NFS eksportuje struktur e dyskowa (zwykle: system plików), klient NFS montuje struktur e w wybranym katalogu, tak jakby to by l system plików na w lasnym dysku fizycznym, użytkownik klienta operuje na plikach, w ramach swoich uprawnień, zwiazanych z plikiem na systemie serwera, klient NFS odmontowuje struktur e, jeśli chce zakończyć użytkowanie. Prawa dost epu systemu NFS sa oparte na identyfikatorach użytkownika, co wymaga stosowania jednolitego systemu identyfikatorów w ca lej jednostce. Systemy plików katalogi 23

Krótkie podsumowanie pytania sprawdzajace 1. Jaka struktur e katalogów implementuje system Unix: drzewiasta, acykliczna, czy ogólna? 2. Jaka struktur e katalogów implementuje system Windows: drzewiasta, acykliczna, czy ogólna? 3. Czym różni si e acykliczna od ogólnej struktury katalogów? Systemy plików podsumowanie 24

Metody alokacji: ciag la alokacja bloków Uwaga na fragmentacj e zewn etrzn a. Implementacja fizyczna metody alokacji 25

Metody alokacji: listowa alokacja bloków Uwaga: praktycznie dost ep tylko sekwencyjny. Implementacja fizyczna metody alokacji 26

Tablica alokacji FAT Wykorzystywana w systemach DOS i Windows tablica alokacji FAT (File Allocation Table) wykorzystuje alokacj e listowa z tablica bloków przechowywana w pami eci. Implementacja fizyczna metody alokacji 27

Indeksowana alokacja bloków Implementacja fizyczna metody alokacji 28

Schemat alokacji w systemie UNIX: blok kontrolny pliku Implementacja fizyczna blok kontrolny 29

Schemat alokacji w systemie UNIX: struktura indeksowana Implementacja fizyczna blok kontrolny 30

Implementacja katalogów Jakkolwiek operacje wykonywane na katalogach sa proste (przeszukiwanie, wpisywanie, usuwania), to wykonywane sa cz esto, zatem algorytmy i struktury danych wykorzystywane do implementacji katalogów sa również istotne. Najcz eściej wykorzystuje si e albo struktur e prosta, taka jak lista lub tablica nieuporzadkowana (system Unix). Taka struktura pozwala na proste i szybkie implementacje dodawania i usuwania plików, ale wyszukiwanie jest bardziej kosztowna operacja. Dodatkowo, prezentacja zawartości katalogu w postaci uporzadkowanej wymaga każdorazowego, wielokrotnego sortowania. Jednak zastosowanie tablicy lub listy sortowanej komplikuje operacje tworzenia i usuwania plików. Usuwanie można uprościć przez zaznaczanie pozycji katalogu jako usuni etych, ale to ma swoje oddzielne konsekwencje. Można również do implementacji katalogu wykorzystać struktur e bardziej zaawansowana, taka jak tablica haszowa. Ma ona przewag e b lyskawicznego dost epu do dowolnej pozycji nawet przy bardzo dużej liczbie pozycji, ale typowo marnuje dużo wi ecej miejsca, oraz wymaga zaimplementowania z lożonych algorytmów obs lugi kolizji funkcji haszowych. Implementacja fizyczna katalogi 31

Implementacja fizyczna katalogi 32

Zarzadzanie wolna przestrzenia: mapa bitowa Osobnym mechanizmem funkcjonowania systemu plików jest zarzadzanie pula wolnych bloków dyskowych. Prosta metoda jest zastosowanie mapy bitowej, albo wektora bitów, gdzie każdy pojedynczy bit reprezentuje blok dyskowy i oznacza jego stan: 1 jeśli wolny, i 0 jeśli zaj ety. Ta prosta w implementacji metoda pozwala zwalniać bloki w czasie sta lym. Przydzia l nowego bloku wymaga znalezienia na mapie ustawionego bitu, co wiaże si e z przeszukiwaniem. Z kolei metoda pozwala latwo znajdować ciag le bloki wolnej przestrzeni o wymaganej wielkości. Implementacja fizyczna zarzadzanie wolna przestrzenia 33

Zarzadzanie wolna przestrzenia: lista wolnych bloków Implementacja fizyczna zarzadzanie wolna przestrzenia 34

Wirtualny system plików Wirtualny system plików (VFS) jest uogólnionym interfejsem do wielu różnych systemów plików. Dostarcza on np. unikalnych identyfikatorów plików wspólnych dla wielu różnych systemów plików. Zauważmy, że jeśli w danym systemie istnieje kilka systemów plików, to ich wewn etrzne identyfikatory, takie jak bloki i-node w systemach Unix odnosza si e wy lacznie do jednego systemu plików. Implementacja fizyczna wirtualny system plików 35

System VFS w Linuksie pos luguje si e nast epuj acymi obiektami: obiekt inode reprezentujacy blok kontrolny indywidualnego pliku, obiekt file reprezentujacy otwarty plik, obiekt superblock reprezentujacy system plików, obiekt dentry reprezentujacy pozycj e katalogu w systemie plików. Zestaw operacji dostarczanych przez linuksowy VFS obejmuje: open, read, write i mmap. Implementacja fizyczna wirtualny system plików 36

Uszkodzenia systemy plików Zarówno pojedyncze pliki jak i systemy plików na dysku moga ulegać uszkodzeniom. Jest to niezależne od posiadania redundatnych struktur dyskowych typu RAID, które też moga ulegać awariom i nie gwarantuja 100% bezpieczeństwa zapisanych danych. W przypadku pojedynczych plików, waga i konsekwencje takiego zdarzenia sa zwykle mniejsze, a jednocześnie możliwości naprawy uszkodzenia pliku sa zwykle ograniczone. Należa do nich: odtworzenie pliku z kopii zapasowej, odtworzenie brakujacej cz eści danych z cz eści zachowanej, i niewiele wi ecej. Jednak uszkodzenie systemu plików może skutkować niemożnościa odtworzenia wszystkich plików, pomimo iż albo przeważajaca ich wi ekszość, albo nawet wszystkie, moga nadal istnieć na dysku nieuszkodzone. Odtworzenie plików w takiej sytuacji jest zwykle możliwe przy pomocy specjalistycznych narz edzi, które jednak wymagaja dodatkowego nak ladu specjalistycznej pracy manualnej, co jest bardzo kosztowne. Dlatego systemy plików sa konstruowane w taki sposób, aby zapewnić duża odporność na uszkodzenia wskutek b l edów w pojedynczych blokach, oraz możliwość maksymalnie automatycznej naprawy systemu, gdy uszkodzenie powstanie. Niekiedy przy takiej naprawie potrzebna jest interwencja operatora, ale ma ona charakter decyzji czy dany plik można bez szkody usunać, i nie wymaga d lugotrwa lej pracy specjalistów. Taka odporna struktura systemu plików pozwala może być również sprawdzana pod wzgl edem wewn etrznej spójności. Implementacja fizyczna obs luga systemów plików 37

Ksi eguj ace systemy plików Najcz estsze przypadki uszkodzenia systemu plików nie wymagaja z awarii dysku, ale z wy l aczenia zasilania w momencie, gdy trwa l zapis na dysku. Dlatego odporne systemy plików konstruuje si e w taki sposób, by maksymalnie zabezpieczyć si e przed takimi zdarzeniami. Taki mechanizm odporności nazywa si e ksi eguj acym systemem plików (journaling file system). Ksi eguj acy system plików wykonuje każda operacj e na systemie plików w ten sposób, że przed faktycznym wykonaniem operacje sa zapisywane do dziennika (log file). Ze wzgl edu na istniejace buforowanie, i opóźnione realizacje operacji dyskowych, wpis operacji do dziennika musi być doprowadzony do końca, i zweryfikowany, zanim rozpocznie si e rzeczywista realizacja operacji na systemie. Po faktycznym wykonaniu tej operacji, jej wpis jest usuwany z dziennika. Ta procedura gwarantuje, że jeśli praca systemu zostanie przerwana na którymkolwiek etapie, to awaria może objać albo wpis do dziennika, albo realizacj e operacji na dysku, ale nie jedno i drugie. W takim przypadku, po przywróceniu dzia lania systemu, może on sprawdzić, czy operacja zosta la wykonana w ca lości czy nie, i dokończyć niewykonane etapy. Implementacja fizyczna obs luga systemów plików 38

Idempotentne i niepodzielne operacje Dzia lanie mechanizmu ksi eguj acego wymaga aby operacje wpisane do dziennika by ly idempotentne, to znaczy, żeby mog ly być wykonane ponownie, nawet wiele razy, z tym samym skutkiem. Na przyk lad, usuwanie z katalogu wpisu pliku o danej nazwie, np. prog1.c jest idempotentna. Jeśli zosta la już wykonana wcześniej, to może być wykonana ponownie bez wprowadzania b l edów. Ale operacja dodawania bloków kasowanego pliku do listy wolnych bloków nie jest idempotentna, ponieważ jeśli by la wykonana wcześniej, to te bloki już sa na liście. Ksi eguj acy system plików musi wykonywać wszystkie operacje idempotentnie, zatem dodawanie bloków musi odbyć si e poprzez przeszukanie listy wolnych bloków, i dodanie tylko tych, których już tam nie ma. Implementacja fizyczna obs luga systemów plików 39

Implementacja fizyczna obs luga systemów plików 40

Krótkie podsumowanie pytania sprawdzajace 1. Jakie sa możliwe metody implementacji katalogów? 2. Czy wiesz jaka metoda zaimplementowane sa katalogi w jakimś znanym Ci systemie? 3. Jakie sa wady i zalety metod ciag lej i listowej alokacji bloków dla plików? 4. Jakie sa wady i zalety metody indeksowanej alokacji bloków dla plików? 5. Dlaczego lista wskaźnikowa jest odpowiednia struktura do implementacji puli wolnych bloków pami eci dyskowej? Implementacja fizyczna podsumowanie 41