SYSTEMY OPERACYJNE SYSTEMY PLIKÓW
SYSTEMY OPERACYJNE - SYSTEMY PLIKÓW ORGANIZACJA PLIKÓW METODY DOSTĘPU DO PLIKÓW TYPY PLIKÓW OPERACJE NA PLIKACH ATRYBUTY PLIKÓW STRUKTURA KATALOGÓW OPERACJE NA KATALOGACH ZARZĄDZANIE PRZESTRZENIĄ DYSKOWĄ BUDŻET DYSKOWY ROZMIARY BLOKÓW DYSKOWYCH ZARZĄDZANIE OBSZARAMI WOLNYMI METODY ALOKACJI PLIKÓW ALGORYTMY SZEREGOWANIA GŁOWIC
SYSTEMY OPERACYJNE - SYSTEMY PLIKÓW PLIKI PLIK – logiczna jednostka magazynowanej informacji; – zbiór powiązanych ze sobą informacji; – ciąg bitów, bajtów, wierszy lub rekordów, których znaczenie określa twórca pliku i jego użytkownik. Pliki reprezentują programy (zarówno w postaci źródłowej jak i wynikowej) oraz dane. Pliki danych -- liczbowe, literowe, alfanumeryczne i binarne; Format plików - swobodny (np. pliki tekstowe), lub ściśle określony.
SYSTEMY OPERACYJNE - SYSTEMY PLIKÓW ORGANIZACJA PLIKÓW REKORD FIZYCZNY - blok dyskowy – jednostka operacji dyskowych o jednakowych rozmiarach; REKORD LOGICZNY - najmniejsza jednostka informacji, używana w operacjach użytkownika;
SYSTEMY OPERACYJNE - SYSTEMY PLIKÓW METODY DOSTĘPU DO PLIKÓW DOSTĘP SEKWENCYJNY - read next, write next - zawartość pliku przetwarzana po kolei - jeden rekord logiczny za drugim, według wskaźnika bieżącej pozycji w pliku. DOSTĘP BEZPOŚREDNI (swobodny) - read p, write n - czytanie lub zapisywanie dowolnych, ponumerowanych bloków, których numer jest przekazywany przez użytkownika jako parametr funkcji.
SYSTEMY OPERACYJNE - SYSTEMY PLIKÓW METODY DOSTĘPU DO PLIKÓW (cd) DOSTĘP Z WYKORZYSTANIEM INDEKSÓW - indeks plików (skorowidz), zawierający wskaźniki do bloków danego pliku.
SYSTEMY OPERACYJNE - SYSTEMY PLIKÓW TYPY PLIKÓW Znajomość, rozpoznawanie i ingerencja w typy plików – jedno z zasadniczych zagadnień projektowych SO. 1 – SO rozpoznaje typy plików: możliwość właściwego działania na plikach w zależności od rozszerzenia nazwy (wykonanie, kompilacja aktualnej wersji źródłowej); SO musi posiadać kod obsługi plików wg rozszerzeń. 2 – SO nie rozpoznaje typów plików: pliki interpretowane przez programy użytkowe wg rozszerzeń; większa elastyczność SO.
SYSTEMY OPERACYJNE - SYSTEMY PLIKÓW OPERACJE NA PLIKACH Funkcje systemowe – tworzenie, zapisywanie, czytanie, ustalanie stanu początkowego i usuwanie plików (realizowane wyłącznie w trybie monitora). create - utworzenie nowego pliku, delete - usunięcie pliku, open - otwarcie pliku, close - zamknięcie pliku. write - pisanie do pliku, read - czytanie z pliku, append - dopisanie do końca pliku, seek - przesunięcie wskaźnika bieżącej pozycji w pliku, get attributes - pobranie atrybutów pliku, set attributes - ustawienie atrybutów pliku, rename - zmiana nazwy pliku.
SYSTEMY OPERACYJNE - SYSTEMY PLIKÓW ATRYBUTY PLIKÓW Protection - warunki dostępu do pliku Password - hasło wymagane przy dostępie do pliku Creator - identyfikator osoby, która założyła plik Owner - aktualny właściciel pliku Read Only Flag - plik tylko do odczytu Hidden Flag - plik ukryty System Flag - plik systemowy Archive Flag - plik do archiwizacji ASCII/Binary Flag - określenie pliku jako ciągu znaków ASCII, lub kodu binarnego Random Access Flag - metoda dostępu do pliku
SYSTEMY OPERACYJNE - SYSTEMY PLIKÓW ATRYBUTY PLIKÓW (cd) Temporary Flag - plik tymczasowy Lock Flag - blokada dostępu do pliku Record Length - długość rekordu (liczba bajtów) Key Position - pozycja klucza (przesunięcie w bajtach) Key Length - długość klucza Creation Time - czas utworzenia pliku Time of Last Access - czas ostatniego dostępu Time of Last Change - czas ostatniej modyfikacji Current Size - aktualny rozmiar pliku w bajtach Maximum Size - maksymalny rozmiar, przyjmowany przez plik.
SYSTEMY OPERACYJNE - SYSTEMY PLIKÓW STRUKTURA KATALOGÓW Pliki reprezentowane są za pomocą pozycji w: katalogu urządzenia lub tablicy dysku logicznego, gdzie pamiętane są: nazwa, położenie, rozmiar i typ pliku. Katalog urządzenia - informacje dotyczące głównie cech fizycznych pliku: położenie, rozmiar, przydział. Katalogi plików - informacje dotyczące logicznych właściwości pliku: nazwa, typ, użytkownik/właściciel, dane do rozliczeń, kody ochrony.
SYSTEMY OPERACYJNE - SYSTEMY PLIKÓW STRUKTURA KATALOGÓW jednopoziomowa – jeden katalog dla wszystkich plików dwupoziomowa – główny katalog plików systemowych i katalogi plików użytkowników katalog drzewiasty – katalog główny (root) – pliki i podkatalogi .katalog bieżący (roboczy) ..katalog nadrzędny Ścieżki do określonego pliku : absolutna (bezwzględna) – od katalogu głównego (root), względna (relatywna) – od katalogu bieżącego.
SYSTEMY OPERACYJNE - SYSTEMY PLIKÓW STRUKTURA KATALOGÓW Katalog o strukturze grafu skierowanego – możliwe współdzielenie plików i podkatalogów. Mechanizm tworzenia dowiązań (link) – dowiązania: twarde – nowy zapis w katalogu z nową nazwą wykorzystując i-węzeł istniejącego pliku miękkie – nowy plik typu link i zapis o nim do katalogu użytkownika dołączającego się, określający ścieżkę dostępu do pliku dołączonego .
SYSTEMY OPERACYJNE - SYSTEMY PLIKÓW OPERACJE NA KATALOGACH create - utworzenie katalogu. delete - usunięcie katalogu. opendir - otwarcie katalogu. closedir - zamknięcie katalogu. rename - zmiana nazwy. readdir - odczytanie zawartości otwartego katalogu. link - dowiązanie pliku do katalogu. unlink - skasowanie dowiązania.
SYSTEMY OPERACYJNE - SYSTEMY PLIKÓW ZARZĄDZANIE PRZESTRZENIĄ DYSKOWĄ BUDŻET DYSKOWY ROZMIARY BLOKÓW DYSKOWYCH ZARZĄDZANIE OBSZARAMI WOLNYMI METODY ALOKACJI PLIKÓW ALGORYTMY SZEREGOWANIA GŁOWIC
SYSTEMY OPERACYJNE - SYSTEMY PLIKÓW BUDŻET DYSKOWY - mechanizm ograniczający użytkowników przy zarządzaniu przestrzenią na dysku. Maksymalne limity dotyczące liczby plików i bloków użytkownika – przydzielane przez administratora. miękki limit bloku (soft block limit) twardy limit bloku (hard block limit)
SYSTEMY OPERACYJNE - SYSTEMY PLIKÓW ROZMIAR BLOKÓW DYSKOWYCH – bloki: sektor, cylinder, ścieżka; im rozmiar bloku większy tym – większa szybkość operacji dostępu, – mniejszy stopień wykorzystania przestrzeni dyskowej. rozmiar bloku winien być taki, aby uzyskać mały czas odczytu danych z bloku przy optymalnym wypełnieniu bloku.
SYSTEMY OPERACYJNE - SYSTEMY PLIKÓW ROZMIAR BLOKÓW DYSKOWYCH małe rozmiary bloków (128 B – 1 KB) – duże wypełnienie (nawet bliskie 100 %) rozmiar 4 KB – wypełnienie spada do 25 %; prędkość transmisji rośnie ze wzrostem rozmiaru bloku optymalny rozmiar – 2 – 2,5 KB (50 %, 100 KB/s).
SYSTEMY OPERACYJNE - SYSTEMY PLIKÓW ZARZĄDZANIE OBSZARAMI WOLNYMI Zagospodarowywanie dla nowych plików przestrzeni po usuniętych plikach, wg listy wolnych obszarów, tj. bloków nie przydzielonych do żadnego pliku. METODY ZARZĄDZANIA OBSZARAMI WOLNYMI Mapa bitowa (wektor bitowy) (bit map, bit vector) [Lista łączona (łańcuchowa) (linked list)] Grupowanie (grouping) Zliczanie (counting)
SYSTEMY OPERACYJNE - SYSTEMY PLIKÓW METODY ZARZĄDZANIA OBSZARAMI WOLNYMI Mapa bitowa (wektor bitowy) (bit map, bit vector): każdy blok reprezentowany przez 1 bit; efektywna, jeśli jest w PAO, kopia na dysku. Lista łączona (łańcuchowa) (linked list) – wskaźnik do pierwszego wolnego bloku, niska efektywność! Grupowanie (grouping) – w pierwszym wolnym bloku lista adresów n-1 wolnych bloków; Zliczanie (counting) – adres pierwszego w. b. + licznik w.b. następujących nieprzerwanie po pierwszym.
SYSTEMY OPERACYJNE - SYSTEMY PLIKÓW METODY ALOKACJI PLIKÓW – efektywnie zagospodarowany obszar i szybki dostęp Alokacja ciągła (continuous) – ciąg kolejnych adresów; Alokacja łączona (linked) – lista powiązanych ze sobą bloków dyskowych; wskaźnik do pierwszego i ostatniego bloku w pliku; (+) brak fragmentacji zewnętrznej, (–) tylko do plików z dostępem sekwencyjnym; Alokacja indeksowa (indexed) – każdy plik ma własny blok indeksowy ze wskaźnikami; (+) dostęp bezpośredni, łatwe dodawanie plików, (–) straty w przestrzeni dyskowej przy małych plikach.
SYSTEMY OPERACYJNE - SYSTEMY PLIKÓW ALGORYTMY SZEREGOWANIA GŁOWIC przesuwanie głowicy do odpowiedniej ścieżki / cylindra - przeszukiwanie (seek time), - oczekiwanie (latency time), - przesyłanie (transfer time). Algorytmy: FCFS (First Come First Served) – wg kolejności zgłoszenia, SSTF (Shortest Seek Time First) – najpierw najkrótszy czas przeszukiwania. SCAN, C-SCAN (algorytm windowy) – ruch głowicy w poszukiwaniu zamówień (dwu / jedno kierunkowy), LOOK, C-LOOK – jw. lecz pomiędzy zamówieniami granicznymi.
SYSTEMY OPERACYJNE - SYSTEMY PLIKÓW BUDOWA SYSTEMÓW PLIKÓW Struktura: - logiczny system plików (logical file system), moduł organizacji plików (file organisation module), podstawowy system plików (basic file system), sterownik operacji we/wy (I/O control), urządzenia (devices). 1 – otwarcie pliku: skopiowanie pozycji pliku do tablicy otwartych plików; 2 – wskaźnik z tablicy (deskryptor) do programu użytkownika.
SYSTEMY OPERACYJNE - SYSTEMY PLIKÓW BUDOWA SYSTEMÓW PLIKÓW Niezawodność systemu plików: Zarządzanie uszkodzonymi blokami: sprzętowe lub programowe; Wykonywanie kopii zapasowej - składowanie (backup) okresowe lub przyrostowe; Spójność systemu plików: - bloków - plików Sprawność systemu plików: buforowanie operacji dyskowych (buffer cache) – w pamięci buforowej aktualnie wykorzystywane bloki. Ώ