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

Wielkość: px
Rozpocząć pokaz od strony:

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

Transkrypt

1 Systemy plików i zarządzanie pamięcią pomocniczą Koncepcja pliku Metody dostępu Organizacja systemu plików Metody alokacji Struktura dysku Zarządzanie dyskiem Struktura pliku Prosta sekwencja słów lub bajtów Struktura prostego rekordu Rozmiar stały Rozmiar zmienny Struktury złożone Dokument formatowany Plik kodu relokowalnego Wstawiając znaki sterujące do pliku bez struktury można symulować strukturę rekordową lub struktury złożone. Kto decyduje: System operacyjny Program Koncepcja pliku Atrybuty pliku Ciągła logiczna przestrzeń adresowa Typy: Dane numeryczne znakowe binarne Program Nazwa (name) przechowywana w formacie czytelnym dla człowieka. Typ (type) potrzebny w systemach dopuszczających różne typy plików. Położenie (location) wskaźnik do pliku na urządzeniu. Rozmiar (size) aktualny rozmiar pliku. Ochrona (protection) służy do sprawdzenia, kto ma prawo do odczytu, zapisu, wykonania. Czas, data, i identyfikator użytkownika (time, date, and user identification) dane używane do ochrony, zabezpieczeń i monitorowania użycia pliku. Informacje dotyczące plików są przechowywane w strukturze katalogu (na dysku)

2 Operacje na pliku Stosowanie nazwy Utwórz (create) Zapisz (write) Czytaj (read) Pozycjonowanie wewnątrz pliku (seek) Usuwanie (delete) Obcięcie (truncate) Otwórz(F i ) (open(f i )) odszukaj pozycję F i w katalogu i prześlij zawartość do pamięci. Zamknij(F i ) (close (F i )) prześlij zawartość pamięci wskazywaną przez F i do struktury katalogowej na dysku. Dostęp do pliku poprzez nazwę Unix i Windows - nazwa do 255 znaków DOS nazwa 8 znaków i 3 znaki rozszerzenia (8.3) Unix dowolny znak oprócz / \ Windows dowolny znak oprócz \ / : *? " < > Windows tworzy wersję 8.3 dla długich nazw: po 6 znaku wstawia ~ a następnie numer kolejny i rozszerzenie Typ pliku nazwa, rozszerzenie (extension) Metody dostępu Sekwencyjny (Sequential Access) read next write next reset no read after last write (rewrite) Bezpośredni (Direct Access) read n write n position to n read next write next rewrite n n = względny numer bloku

3 Plik o dostępie sekwencyjnym Plik indeksowy Dostęp sekwencyjny do pliku o dostępie bezpośrednim Struktura katalogu Zbiór węzłów zawierających informacje o plikach Katalog Pliki F 1 F 2 F 3 F 4 F n Katalogi i pliki na dysku. Backup np. na taśmach

4 Organizacja typowego systemu plików Operacje na katalogu Wyszukiwanie pliku Tworzenie pliku Usuwanie pliku Listowanie katalogu Zmiana nazwy pliku Informacje w katalogu urządzenia Katalog jednopoziomowy Nazwa (Name) Typ (Type) Adres (Address) Aktualna długość (Current length) Długość maksymalna (Maximum length) Data ostatniego dostępu Data ostatniej aktualizacji ID użytkownika Informacja dot. ochrony Jeden katalog dla wszystkich użytkowników. Problem nazewnictwa Problem grupowania

5 Struktura drzewiasta Metadane Listy dostępu i grupy Blok kontrolny pliku (File Control Block) Tryby dostępu: read, write, execute Klasy użytkowników: RWX a) owner access RWX b) group access RWX c) public access

6 Struktury systemu plików Alokacja ciągła Plik zajmuje ciąg kolejnych bloków na dysku. Prostota wystarczy adres (block #) i długość (liczba bloków). Dostęp swobodny. Marnotrawstwo przestrzeni (problem dynamicznej alokacji pamięci fragmentacja zewnętrzna). Pliki nie mogą rosnąć Metody alokacji Alokacja ciągła - przykład Określa sposób przypisania bloków dyskowych do plików: Alokacja ciągła (Contiguous allocation) Alokacja listowa (Linked allocation) Alokacja indeksowa (Indexed allocation)

7 Alokacja listowa Alokacja indeksowa Wskazania do pliku zgrupowane w jednym bloku (index block): Tabela indeksowa FAT (File-Allocation Table) Alokacja indeksowa - przykład

8 Budowa dysku Struktura dysku Przez SO dysk widziany jest jako jednowymiarowa tablica bloków logicznych (logical blocks) - najmniejszych jednostek transferu. Ta tablica jest odwzorowana na sektory (sekwencyjnie) Sektor 0 to pierwszy sektor na pierwszej ścieżce na zewnętrznym cylindrze. Odwzorowanie przebiega kolejno; na ścieżce, potem na kolejnych ścieżkach danego cylindra, a następnie na cylindrach aż do najbardziej wewnętrznego Struktura dysku Adres bloku Talerze: 2-6 Ścieżki: 16k 64k bajtów na ścieżce Cylindry: 1k 10k cylindrów Sektory: 8-32 na ścieżce Sektor - jednostka zapisu/odczytu informacji na dysku od 32 do 4096 bajtów. OS traktuje dysk jako 1D tablicę bloków. s liczba sektorów na ścieżce t liczba ścieżek na cylindrze Adres bloku b na cylindrze i, powierzchni j, sektor k b = k + s (j + i t) Obroty: obr/s Dostęp do danych adresowany: Powierzchnia (surface), Ścieżka (track), Sektor (sector) 3D tablica sektorów

9 Planowanie dostępu do dysku SO jest odpowiedzialny za efektywne używanie sprzętu: Krótki czas dostępu Duża szybkość transferu. Na czas dostępu wpływają: Czas przeszukiwania (seek time) czas na przesunięcie głowicy nad cylinder zawierający żądany sektor. Czas oczekiwania (rotational latency) czas oczekiwania na obrót dysku, aby sektor był pod głowicą. Należy minimalizować czas przeszukiwania. FCFS Głowica przesuwa się nad 640 cylindrami. Szybkość transferu łączna liczba bajtów przesłanych podzielona przez czas od chwili pierwszego żądania obsługi do zakończenia transferu Algorytmy planowania FCFS First Come First Served SSTF Shortest Seek Time First SCAN C-SCAN C-LOOK SSTF Wybiera zamówienie o minimalnym czasie przeszukiwania od bieżącej pozycji głowicy. SSTF pochodzi od algorytmu SJF; może powodować zagłodzenie niektórych zamówień. Przykład: łączny ruch głowicy nad 236 cylindrami. Przykładowa kolejka żądań (0-199). 98, 183, 37, 122, 14, 124, 65, 67 Głowica nad cylindrem

10 SCAN Głowica staruje od jednego końca dysku i przemieszczając się do przeciwległego końca, obsługuje zamówienia; Na drugim końcu zmienia kierunek ruchu. Wersja C-SCAN C-LOOK Głowica przesuwa się do skrajnego zamówienia w danym kierunku; C-SCAN Wybór algorytmu Skanowanie cykliczne; w drodze powrotnej nie obsługuje zamówień. SSTF często stosowany; dość naturalny. SCAN i C-SCAN gdy dużo zamówień na operacje dyskowe. Jakość algorytmu zależna od liczby i rodzaju zamówień. Zamówienia na usługi dyskowe zależą od metody przydziału pliku (metody alokacji)

11 Zarządzanie dyskiem Formatowanie niskiego poziomu (Low-level formatting), lub formatowanie fizyczne (physical formatting) Podział dysku na sektory, które sterownik dysku zapisuje lub odczytuje. SO tworzy własne struktury danych na dysku: Partycje (Partitions) grupy cylindrów. Formatowanie logiczne (logical formatting) Cena 1 M bajtu dysków twardych, lata 1981 do