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

Podobne dokumenty
KOMPONENTY SYSTEMÓW OPERACYJNYCH

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

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa logiczna

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

1. Pliki i ich organizacja

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

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

System plików. Warstwowy model systemu plików

System plików przykłady. implementacji

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

Podstawowe wiadomości o systemach plików.

Zarządzanie pamięcią operacyjną

System plików przykłady implementacji

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)

Systemy operacyjne System plików

dr inż. Jarosław Forenc

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

sprowadza się od razu kilka stron!

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

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

16MB - 2GB 2MB - 128MB

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

I. Interfejs systemu plików. Implementacja systemu plików.

UNIX SYSTEM PLIKÓW. UNIX System plików

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

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

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

System plików. Definicje:

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

Przykładowe B+ drzewo

System plików. Implementacja systemu plików. I. Interfejs systemu plików.

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

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

Pamięć. Jan Tuziemski Źródło części materiałów: os-book.com

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

Sektor. Systemy Operacyjne

Architektura komputerów

Bazy danych. Andrzej Łachwa, UJ, /15

System plików Linuksa

Tadeusz Pankowski

Pojęcie bazy danych. Funkcje i możliwości.

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

Działanie systemu operacyjnego

Definicja pliku kratowego

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Struktury systemów operacyjnych

Zarządzanie pamięcią operacyjną

Pliki. Operacje na plikach w Pascalu

PODSTAWY BAZ DANYCH Wykład 6 4. Metody Implementacji Baz Danych

Budowa systemów komputerowych

Od programu źródłowego do procesu

System plików ReiserFs

Haszowanie (adresowanie rozpraszające, mieszające)

Tabela wewnętrzna - definicja

Działanie systemu operacyjnego

Zarządzanie pamięcią. Od programu źródłowego do procesu. Dołączanie dynamiczne. Powiązanie programu z adresami w pamięci

Celem wykładu jest prezentacja różnych podejść do implementacji systemu plików. Podejścia opierają się na założeniu, że urządzeniem składowania

Architektura komputerów

Tablice z haszowaniem

Architektura komputerów

Techniki wyszukiwania danych haszowanie

Haszowanie. dr inż. Urszula Gałązka

Struktura dysku. Dyski podstawowe i dynamiczne

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

Tablice z haszowaniem

Działanie systemu operacyjnego

Ustalanie dostępu do plików - Windows XP Home/Professional

Wykład 7. Zarządzanie pamięcią


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

Algorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski

Zarządzanie wolną przestrzenią

Fizyczna organizacja danych w bazie danych

Tworzenie partycji i dysków logicznych

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

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Modelowanie hierarchicznych struktur w relacyjnych bazach danych

Technologie informacyjne (2) Zdzisław Szyjewski

Paweł Skrobanek. C-3, pok

Systemy operacyjne i sieci komputerowe Szymon Wilk Partycjonowanie 1

Podstawy Informatyki. Wykład 6. Struktury danych

Wbudowane systemy operacyjne

Technologie informacyjne (3) Zdzisław Szyjewski

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

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

Indeksy. Wprowadzenie. Indeksy jednopoziomowe indeks podstawowy indeks zgrupowany indeks wtórny. Indeksy wielopoziomowe

Pojęcie systemu informacyjnego i informatycznego

Schematy zarzadzania pamięcia

PRZYDZIAŁ PAMIĘCI OPERACYJNEJ

1 Struktura pamięci masowej. 1.1 Wprowadzenie Algorytmy dostępu do dysku Zarządzanie dyskiem Struktury RAID...

Organizacja systemu plików

WPROWADZENIE DO BAZ DANYCH

Archiwum DG 2016 PL-SOFT

Baza danych. Baza danych to:

Sortowanie zewnętrzne

Wykład 4. Tablice. Pliki

Transkrypt:

System plików dr inż. Krzysztof Patan Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski k.patan@issi.uz.zgora.pl

Wstęp System plików System plików jest tym komponentem systemu operacyjnego, który dostarcza mechanizmy bezpośredniego przechowywania i dostępu do danych oraz do programów System plików na stałe rezyduje w pamięci pomocniczej W systemie plików można wyodrębnić: zbiór plików każdy plik zawiera powiązane ze sobą informacje strukturę katalogów organizacja plików na dysku oraz udostępnianie informacji o wszystkich plikach w systemie strefy (partycje) wyodrębnianie fizyczne lub logiczne wielkich zbiorów katalogów

Wstęp System plików System plików jest tym komponentem systemu operacyjnego, który dostarcza mechanizmy bezpośredniego przechowywania i dostępu do danych oraz do programów System plików na stałe rezyduje w pamięci pomocniczej W systemie plików można wyodrębnić: zbiór plików każdy plik zawiera powiązane ze sobą informacje strukturę katalogów organizacja plików na dysku oraz udostępnianie informacji o wszystkich plikach w systemie strefy (partycje) wyodrębnianie fizyczne lub logiczne wielkich zbiorów katalogów

Pliki Komputery przechowują informacje na wielu różnych nośnikach: dyski magnetyczne, taśmy magnetyczne, dyski optyczne, etc. System operacyjny powinien dostarczyć jednolity logiczny obraz przechowywanych informacji Niezależnie od fizycznych nośników, system operacyjny definiuje logiczną jednostkę magazynowania informacji plik Plik jest zbiorem powiązanych ze sobą informacji, zapisanym w pamięci pomocniczej Niesprecyzowane pojęcie pliku najczęściej pliki reprezentują programy oraz dane mogą mieć postać liczbową, alfanumeryczną lub binarną mogą mieć format swobodny lub ściśle określony plik może być ciągiem bitów, wierszy lub rekordów

Atrybuty pliku Dla wygody użytkowników komputera pliki zaopatrywane są w pewne atrybuty (cechy). Zawierają one kluczowe informacje o pliku oraz umożliwiają proste odwoływanie się do niego Nazwa Typ informacja o typie pliku potrzebna jest w systemach które rozróżniają typy plików Położenie wskaźnik do urządzenia dyskowego i położenia pliku na tym urządzeniu Rozmiar bieżący rozmiar pliku; czasami maksymalny dopuszczalny rozmiar pliku Ochrona info o tym kto może plik czytać, zapisywać, wykonywać, etc. Czas, data, identyfikator użytkownika info o czasie utworzenia pliku, ostatniej modyfikacji, ostatnim użyciu pliku

Operacje plikowe System operacyjny dostarcza podstawowego zbioru funkcji systemowych do operowania na plikach: Tworzenie pliku należy znaleźć miejsce w systemie plików w katalogu należy utworzyć wpis o jego nazwie i położeniu Zapisywanie pliku podając nazwę pliku oraz informację, która ma być zapisana, wywoływana jest funkcja systemowa system operacyjny przeszukuje katalog w celu znalezienia położenia pliku system operacyjny musi przechowywać tzw. wskaźnik pisania. Wskaźnik ten określa miejsce w pliku do którego będzie odnosić się następna operacja pisania

Usuwanie pliku odnajduje się nazwę pliku w katalogu oraz odpowiadający jej wpis katalogowy zwalania się całą przestrzeń zajmowaną przez plik likwiduje się dany wpis katalogowy Czytanie pliku podając nazwę pliku oraz miejsce w pamięci operacyjnej gdzie ma być umieszczony czytany blok, wywoływana jest funkcja systemowa system operacyjny przeszukuje katalog w celu znalezienia położenia pliku oraz odpowiednich wpisów katalogowych system operacyjny musi przechowywać tzw. wskaźnik czytania. Wskaźnik ten określa miejsce w pliku, od którego będzie wykonywana następna operacja czytania w celu uproszczenia przechowuje się jedynie wskaźnik bieżącego położenia w pliku

Metody dostępu do pliku W przypadku potrzeby przeczytania informacji zapisanej w pliku, należy uzyskać do niej dostęp, a następnie przekopiować do pamięci operacyjnej Dostęp sekwencyjny metoda opiera się na taśmowym modelu pliku informacje są zapisywane i przetwarzane po kolei, jeden rekord za drugim operacja czytania pobiera rekord i przesuwa wskaźnik położenia o jedną pozycje do przodu operacja pisania umieszcza dane na końcu pliku i umieszcza wskaźnik położenia za nowo zapisanymi danymi możliwość przewijania pliku wstecz lub wprzód o n rekordów Pocz¹tek Pozycja bie ¹ca Koniec Przewiñ Czytaj, pisz

Dostęp bezpośredni (względny) metoda opera się na dyskowym modelu pliku plik składa się z rekordów logicznych o stałej długości rekordy mogą być bezpośrednio czytane i zapisywane bez zachowania specjalnego porządku operacje plikowe muszą jako parametr zawierać numer rekordu np. pisz n, czytaj n możliwość symulacji pliku o dostępie sekwencyjnym przez plik o dostępie bezpośrednim

Indeksowanie metoda oparta na dostępie bezpośrednim każda pozycja w pliku zawiera tzw. pole indeksowe indeks zawiera wskaźnik do bloku w pliku w celu znalezienia odpowiedniego wpisu w pliku przeszukuje się najpierw indeks, a następnie używa wskaźnika do uzyskania bezpośredniego dostępu do wpisu w pliku metoda umożliwia przeszukanie wielkiego pliku przy użyciu niewielu operacji wej-wyj

Przykład tworzenia pliku z indeksem numer narzêdzie rekordu M³otek Siekiera Pi³a GwóŸdŸ stal 50mm... GwóŸdŸ 2 Plik indeksowy Plik spowinowacony

Struktura katalogów System plików podzielony jest na strefy (minidyski, woluminy, wolumeny, partycje) Strefy mieszczą pliki i katalogi Każda strefa zawiera informacje o zawartej w nich plikach i katalogach (katalog urządzenia, tablica zawartości tomu, katalog) a) b) Katalog Katalog Strefa I Pliki Katalog Dysk 1 Strefa I Pliki Dysk 1 Strefa II Pliki Dysk 2

Katalog jednopoziomowy katalog user pascal dane test poczta lotus3 pliki wszystkie pliki ujęte są w tym samym katalogu łatwość tworzenia i obsługi! Wady kolizje nazw plików różnych użytkowników Przykład: 15 studentów zapisuje wyniki swojej pracy w pliku zad2.txt problemy z pamiętaniem ogromnej liczby plików o nazwach jednoznacznych

Katalog dwupoziomowy user1 user2 user3 katalog plików dane u ytkownika pascal dane test poczta lotus3 dane test pliki System plików podzielony jest na: MFD główny katalog plików (ang. Master File Directory) UFD katalog plików użytkownika (ang. User File Directory) Główny katalog plików jest indeksowany nazwami użytkowników lub numerami kont Każdy wpis w katalogu głównym wskazuje na katalog odpowiadający danemu użytkownikowi Nazwa ścieżki definiowana przez nazwę użytkownika oraz nazwę pliku

Drzewo katalogów korzeñ apps dos users winzip pascal defrag doskey format user1 user2 winzip zip.ini bp.exe vga tp.cfg lotus3 dane test Uogólnienie katalogu dwupoziomowego Możliwość stosowania przez użytkowników własnych podkatalogów

Katalog główny korzeń, pliki liście Katalog bieżący katalog aktywny, roboczy Każdy plik ma jednoznaczną ścieżkę bezwzględną Ścieżki względne i bezwzględne Ścieżki przeszukiwania ciąg katalogów przeszukiwanych w celu odnalezienia pliku

Grafy katalogów user1 user2 winzip pascal dane dane turbo moje bp.exe vga tp.cfg lotus3 dane test Graf - uogólnienie drzewa katalogów Możliwość dzielenia katalogów i plików pomiędzy wielu użytkowników

Implementacja plików i katalogów dzielonych dowiązanie (ang. link) umieszcza się dodatkowy wpis w katalogu nowy wpis zawiera wskaźnik do innego katalogu lub pliku dowiązanie zostaje pomijane podczas przeglądania katalogów (uniknięcie cykli) powielenie informacji każdy katalog użytkowujący plik posiada odpowiedni wpis katalogowy wszystkie wpisy katalogowe pliku dzielonego są identyczne problemy z utrzymaniem spójności podczas operacji na pliku Problemy ze strukturami grafowymi złożona struktura jednemu plikowi odpowiada wiele ścieżek procedura usuwania

Metody przydziału miejsca na dysku Problem: Jak przydzielić miejsce na dysku tak aby obszar dyskowy był zagospodarowany efektywnie, a dostęp do plików szybki?

Przydział ciągły plik zajmuje ciąg kolejnych bloków na dysku Pamiêæ dyskowa 0 lista 1 2 3 Plik Katalog Pocz¹tek D³ugoœæ 4 8 5 9 6 wyniki 10 7 11 lista wyniki dane 0 7 16 2 6 4 12 13 14 15 16 17 18 dane 19 Wady fragmentacja zewnętrzna znajomość wielkości obszaru potrzebnego dla danego pliku (fragmentacja wewnętrzna)

Przydział listowy plik jest listą powiązanych ze sobą bloków dyskowych; katalog zawiera wskaźniki do pierwszego i ostatniego bloku pliku każdy blok zawiera wskaźnik do kolejnego bloku Pamiêæ dyskowa Katalog 0 1 10 2 3 Plik Pocz¹tek Koniec 4 1 5 6 7 dane 4 15 8 9 1015 11 12 13 14 15 nil 16 17 18 19

Zalety: uniknięcie wad przydziału ciągłego Wady: możliwość stosowania jedynie do pliku o dostępie sekwencyjnym wskaźniki zajmują dodatkową przestrzeń niska niezawodność kiedy blok ulega uszkodzeniu, tracony jest wskaźnik do reszty pliku

Przydział indeksowy plik ma własny blok indeksowy, który jest tablicą adresów bloków dyskowych przydzielonych danemu plikowi 0 Pamiêæ dyskowa 1 2 3 Plik dane Katalog Blok indeksowy 11 4 8 12 5 9 13 6 10 14 7 11 15 11 2 4 10 15 nil nil 16 17 18 19

Zalety: uniknięcie wad przydziału ciągłego umożliwia dostęp bezpośredni do pliku Wady: marnotrawstwo przestrzeni na wskaźniki w bloku indeksowym należy poświęcić więcej miejsca niż na wskaźniki w przydziale listowym kwestia rozmiaru bloku indeksowego

Zarządzanie wolną przestrzenią Problem Jak wtórnie zagospodarować przestrzeń dyskową po usuniętych plikach? Utrzymuje się tzw. listę wolnych obszarów. Na niej odnotowane są wszystkie bloki dyskowe które są wolne (nie przydzielone do żadnego pliku czy katalogu) Tworzenie pliku sprawdzenie czy lista wolnych obszarów wykazuje wymaganą ilość wolnego miejsca na dysku jeśli tak, to przydziela się to miejsce nowemu plikowi przydzielone bloki są usuwane z listy wolnych obszarów Usuwanie pliku zwalnia się bloki pamięci dyskowej zajmowane przez plik zwolnione bloki umieszcza się na liście wolnych obszarów

Zarządzanie wolną przestrzenią Problem Jak wtórnie zagospodarować przestrzeń dyskową po usuniętych plikach? Utrzymuje się tzw. listę wolnych obszarów. Na niej odnotowane są wszystkie bloki dyskowe które są wolne (nie przydzielone do żadnego pliku czy katalogu) Tworzenie pliku sprawdzenie czy lista wolnych obszarów wykazuje wymaganą ilość wolnego miejsca na dysku jeśli tak, to przydziela się to miejsce nowemu plikowi przydzielone bloki są usuwane z listy wolnych obszarów Usuwanie pliku zwalnia się bloki pamięci dyskowej zajmowane przez plik zwolnione bloki umieszcza się na liście wolnych obszarów

Zarządzanie wolną przestrzenią Problem Jak wtórnie zagospodarować przestrzeń dyskową po usuniętych plikach? Utrzymuje się tzw. listę wolnych obszarów. Na niej odnotowane są wszystkie bloki dyskowe które są wolne (nie przydzielone do żadnego pliku czy katalogu) Tworzenie pliku sprawdzenie czy lista wolnych obszarów wykazuje wymaganą ilość wolnego miejsca na dysku jeśli tak, to przydziela się to miejsce nowemu plikowi przydzielone bloki są usuwane z listy wolnych obszarów Usuwanie pliku zwalnia się bloki pamięci dyskowej zajmowane przez plik zwolnione bloki umieszcza się na liście wolnych obszarów

Zarządzanie wolną przestrzenią Problem Jak wtórnie zagospodarować przestrzeń dyskową po usuniętych plikach? Utrzymuje się tzw. listę wolnych obszarów. Na niej odnotowane są wszystkie bloki dyskowe które są wolne (nie przydzielone do żadnego pliku czy katalogu) Tworzenie pliku sprawdzenie czy lista wolnych obszarów wykazuje wymaganą ilość wolnego miejsca na dysku jeśli tak, to przydziela się to miejsce nowemu plikowi przydzielone bloki są usuwane z listy wolnych obszarów Usuwanie pliku zwalnia się bloki pamięci dyskowej zajmowane przez plik zwolnione bloki umieszcza się na liście wolnych obszarów

Wektor bitowy każdy blok jest reprezentowany przez 1 bit: blok wolny 1, blok przydzielony 0 Przykład. Dysk posiada następujące bloki wolne: 2,3,5,7,10,11,15,16,20. Pozostałe bloki są przydzielone. Określić postać wektora bitowego dla tego dysku Właściwości wektor bitowy = 01101010011000110001... wydajne wyszukiwanie pierwszego lub n wolnych bloków mała wydajność w przypadkach, gdy wektora bitowego nie można w całości umieścić w pamięci operacyjnej Przykład. Dysk o pojemności 16GB, każdy blok o rozmiarze 512B liczba blokow = 16GB 512B = 33554432 = 32MB

Wektor bitowy każdy blok jest reprezentowany przez 1 bit: blok wolny 1, blok przydzielony 0 Przykład. Dysk posiada następujące bloki wolne: 2,3,5,7,10,11,15,16,20. Pozostałe bloki są przydzielone. Określić postać wektora bitowego dla tego dysku Właściwości wektor bitowy = 01101010011000110001... wydajne wyszukiwanie pierwszego lub n wolnych bloków mała wydajność w przypadkach, gdy wektora bitowego nie można w całości umieścić w pamięci operacyjnej Przykład. Dysk o pojemności 16GB, każdy blok o rozmiarze 512B liczba blokow = 16GB 512B = 33554432 = 32MB

Wektor bitowy każdy blok jest reprezentowany przez 1 bit: blok wolny 1, blok przydzielony 0 Przykład. Dysk posiada następujące bloki wolne: 2,3,5,7,10,11,15,16,20. Pozostałe bloki są przydzielone. Określić postać wektora bitowego dla tego dysku Właściwości wektor bitowy = 01101010011000110001... wydajne wyszukiwanie pierwszego lub n wolnych bloków mała wydajność w przypadkach, gdy wektora bitowego nie można w całości umieścić w pamięci operacyjnej Przykład. Dysk o pojemności 16GB, każdy blok o rozmiarze 512B liczba blokow = 16GB 512B = 33554432 = 32MB

Wektor bitowy każdy blok jest reprezentowany przez 1 bit: blok wolny 1, blok przydzielony 0 Przykład. Dysk posiada następujące bloki wolne: 2,3,5,7,10,11,15,16,20. Pozostałe bloki są przydzielone. Określić postać wektora bitowego dla tego dysku Właściwości wektor bitowy = 01101010011000110001... wydajne wyszukiwanie pierwszego lub n wolnych bloków mała wydajność w przypadkach, gdy wektora bitowego nie można w całości umieścić w pamięci operacyjnej Przykład. Dysk o pojemności 16GB, każdy blok o rozmiarze 512B liczba blokow = 16GB 512B = 33554432 = 32MB

Wektor bitowy każdy blok jest reprezentowany przez 1 bit: blok wolny 1, blok przydzielony 0 Przykład. Dysk posiada następujące bloki wolne: 2,3,5,7,10,11,15,16,20. Pozostałe bloki są przydzielone. Określić postać wektora bitowego dla tego dysku Właściwości wektor bitowy = 01101010011000110001... wydajne wyszukiwanie pierwszego lub n wolnych bloków mała wydajność w przypadkach, gdy wektora bitowego nie można w całości umieścić w pamięci operacyjnej Przykład. Dysk o pojemności 16GB, każdy blok o rozmiarze 512B liczba blokow = 16GB 512B = 33554432 = 32MB

Lista powiązana wiąże się ze sobą wszystkie wolne bloki i przechowuje wskaźnik do pierwszego wolnego bloku dyskowego wskaźnik do pierwszego wolnego elementu przechowuje się w specjalnym miejscu na dysku oraz podręcznie w pamięci operacyjnej wskaÿnik do pierwszego bloku 2 Właściwości: 3 5 7 10 11 15 16 20 w pamięci operacyjnej przechowuje się jedynie wskaźnik do pierwszego wolnego bloku dyskowego metoda nie jest wydajna w celu przejrzenia listy należy odczytać każdy blok duża liczba operacji IO nil

Lista powiązana wiąże się ze sobą wszystkie wolne bloki i przechowuje wskaźnik do pierwszego wolnego bloku dyskowego wskaźnik do pierwszego wolnego elementu przechowuje się w specjalnym miejscu na dysku oraz podręcznie w pamięci operacyjnej wskaÿnik do pierwszego bloku 2 Właściwości: 3 5 7 10 11 15 16 20 w pamięci operacyjnej przechowuje się jedynie wskaźnik do pierwszego wolnego bloku dyskowego metoda nie jest wydajna w celu przejrzenia listy należy odczytać każdy blok duża liczba operacji IO nil

Lista powiązana wiąże się ze sobą wszystkie wolne bloki i przechowuje wskaźnik do pierwszego wolnego bloku dyskowego wskaźnik do pierwszego wolnego elementu przechowuje się w specjalnym miejscu na dysku oraz podręcznie w pamięci operacyjnej wskaÿnik do pierwszego bloku 2 Właściwości: 3 5 7 10 11 15 16 20 w pamięci operacyjnej przechowuje się jedynie wskaźnik do pierwszego wolnego bloku dyskowego metoda nie jest wydajna w celu przejrzenia listy należy odczytać każdy blok duża liczba operacji IO nil

Lista powiązana wiąże się ze sobą wszystkie wolne bloki i przechowuje wskaźnik do pierwszego wolnego bloku dyskowego wskaźnik do pierwszego wolnego elementu przechowuje się w specjalnym miejscu na dysku oraz podręcznie w pamięci operacyjnej wskaÿnik do pierwszego bloku 2 Właściwości: 3 5 7 10 11 15 16 20 w pamięci operacyjnej przechowuje się jedynie wskaźnik do pierwszego wolnego bloku dyskowego metoda nie jest wydajna w celu przejrzenia listy należy odczytać każdy blok duża liczba operacji IO nil

Implementacja katalogu Realizacja katalogu kolejny etap konstruowania systemu plików Wybór algorytmów przydzielania miejsca dla katalogu i zarządzania nim są niezwykle ważne na wydajność i niezawodność systemu plików Lista liniowa lista nazw plików z wskaźnikami do bloków danych Właściwości prosta implementacja metoda kosztowna ze względu na czas działania Dodawanie pliku do katalogu przeszukujemy listę sprawdzając czy nie występuje w niej plik o takiej nazwie jeśli nazwa jest unikatowa, dodajemy nowy wpis na końcu listy

Implementacja katalogu Realizacja katalogu kolejny etap konstruowania systemu plików Wybór algorytmów przydzielania miejsca dla katalogu i zarządzania nim są niezwykle ważne na wydajność i niezawodność systemu plików Lista liniowa lista nazw plików z wskaźnikami do bloków danych Właściwości prosta implementacja metoda kosztowna ze względu na czas działania Dodawanie pliku do katalogu przeszukujemy listę sprawdzając czy nie występuje w niej plik o takiej nazwie jeśli nazwa jest unikatowa, dodajemy nowy wpis na końcu listy

Implementacja katalogu Realizacja katalogu kolejny etap konstruowania systemu plików Wybór algorytmów przydzielania miejsca dla katalogu i zarządzania nim są niezwykle ważne na wydajność i niezawodność systemu plików Lista liniowa lista nazw plików z wskaźnikami do bloków danych Właściwości prosta implementacja metoda kosztowna ze względu na czas działania Dodawanie pliku do katalogu przeszukujemy listę sprawdzając czy nie występuje w niej plik o takiej nazwie jeśli nazwa jest unikatowa, dodajemy nowy wpis na końcu listy

Implementacja katalogu Realizacja katalogu kolejny etap konstruowania systemu plików Wybór algorytmów przydzielania miejsca dla katalogu i zarządzania nim są niezwykle ważne na wydajność i niezawodność systemu plików Lista liniowa lista nazw plików z wskaźnikami do bloków danych Właściwości prosta implementacja metoda kosztowna ze względu na czas działania Dodawanie pliku do katalogu przeszukujemy listę sprawdzając czy nie występuje w niej plik o takiej nazwie jeśli nazwa jest unikatowa, dodajemy nowy wpis na końcu listy

Implementacja katalogu Realizacja katalogu kolejny etap konstruowania systemu plików Wybór algorytmów przydzielania miejsca dla katalogu i zarządzania nim są niezwykle ważne na wydajność i niezawodność systemu plików Lista liniowa lista nazw plików z wskaźnikami do bloków danych Właściwości prosta implementacja metoda kosztowna ze względu na czas działania Dodawanie pliku do katalogu przeszukujemy listę sprawdzając czy nie występuje w niej plik o takiej nazwie jeśli nazwa jest unikatowa, dodajemy nowy wpis na końcu listy

Usuwanie pliku z katalogu przeszukujemy listę, znajdujemy odpowiedni wpis katalogowy zwalniamy przydzieloną plikowi pamięć dyskową Wykorzystanie zwolnionej pozycji katalogowej 1 oznaczenie danej pozycji jako nieużywanej 2 dodanie do wykazu wolnych pozycji katalogowych 3 skopiowanie ostatniej pozycji katalogowej w zwolnione miejsce skrócenie katalogu Przyspieszenie przeszukiwania listy liniowej 1 realizacja programowej pamięci podręcznej 2 realizacja listy liniowej uporządkowanej 3 drzewiaste struktury danych B-drzewa

Usuwanie pliku z katalogu przeszukujemy listę, znajdujemy odpowiedni wpis katalogowy zwalniamy przydzieloną plikowi pamięć dyskową Wykorzystanie zwolnionej pozycji katalogowej 1 oznaczenie danej pozycji jako nieużywanej 2 dodanie do wykazu wolnych pozycji katalogowych 3 skopiowanie ostatniej pozycji katalogowej w zwolnione miejsce skrócenie katalogu Przyspieszenie przeszukiwania listy liniowej 1 realizacja programowej pamięci podręcznej 2 realizacja listy liniowej uporządkowanej 3 drzewiaste struktury danych B-drzewa

Usuwanie pliku z katalogu przeszukujemy listę, znajdujemy odpowiedni wpis katalogowy zwalniamy przydzieloną plikowi pamięć dyskową Wykorzystanie zwolnionej pozycji katalogowej 1 oznaczenie danej pozycji jako nieużywanej 2 dodanie do wykazu wolnych pozycji katalogowych 3 skopiowanie ostatniej pozycji katalogowej w zwolnione miejsce skrócenie katalogu Przyspieszenie przeszukiwania listy liniowej 1 realizacja programowej pamięci podręcznej 2 realizacja listy liniowej uporządkowanej 3 drzewiaste struktury danych B-drzewa

Tablica haszowania tablica haszowania jest uogólnieniem zwykłej tablicy w tablicy haszowania k-ty element trafia na pozycję h(k), gdzie h jest pewną funkcją za pomocą której oblicza się pozycję k-tego elementu Zbiór nazw plików U T 0 h( k ) 1 k 1 k 4 k 2 k 3 h( k 3 ) =h( k 4 ) h( k 2 ) funkcja h odwzorowuje zbiór nazw plików U w zbiór pozycji tablicy haszowania T Wady: możliwość wystąpienia kolizji h : U {0, 1,..., m 1} m-1

Rozwiązywanie kolizji kolizji można uniknąć stosując tzw. metodę łańcuchową wszystkie elementy (nazwy plików), którym odpowiada ta sama pozycja w tablicy haszowania, zostają umieszczone na jednej liście Zbiór nazw plików U k 6 k 1 k 4 k 7 k 2 k 5 k 3 T k 1 k 6 nil nil k 3 k 4 k 7 k 2 k 5 nil funkcja h odwzorowuje zbiór nazw plików U w zbiór pozycji tablicy haszowania T h : U {0, 1,..., m 1}

Funkcja haszowania haszowanie modularne h(k) = k mod m gdzie: k nazwa pliku m rozmiar tablicy haszowania