• Nie Znaleziono Wyników

1.3.1.STRUKTURA KATALOGÓW

Katalogi służą do grupowania plików. Struktury katalogów ewoluowały w miarę rozwoju systemów operacyjnych, odzwierciedlając pojawiające się potrzeby użytkowników.

1.3.1.10. Wyjaśnienie. Katalog jednopoziomowy - to najprostsza struktura katalogów. W systemie jest tylko jeden katalog, w którym zgromadzone są wszystkie pliki. Każdy plik jest jedno znacznie identyfikowany przez swoją nazwę. Taka prymitywna struktura realizuje jedynie podstawową potrzebę gromadzenia wielu plików w systemie.

1.3.1.20. Wyjaśnienie. Katalog dwupoziomowy. Jeżeli z komputera korzysta wielu użytkowników, to wszyscy oni muszą korzystać ze wspólnego katalogu. Powoduje to konflikty w nazywaniu plików między użytkownikami. Problem ten rozwiązano wprowadzając dwupoziomową strukturę katalogów. Katalog główny zawiera szereg podkatalogów, po jednym dla każdego użytkownika. W podkatalogach znajdują się pliki - bez możliwości tworzenia dalszych podkatalogów. W takiej strukturze plik jest jednoznacznie identyfikowany przez podanie nazwy podkatalogu i nazwy pliku. Rozwiązanie likwiduje konflikty między użytkownikami, jednak nie umożliwia grupowania użytkowników o podobnym profilu działania.

1.3.1.30. Wyjaśnienie. Drzewiasta struktura katalogów. Pomysł grupowania plików użytkowników w podkatalogi łatwo uogólnić. Katalog może zawierać pliki i podkatalogi, a cała struktura katalogów może mieć kształt drzewa, którego korzeń stanowi główny katalog. Każdy użytkownik może mieć swój katalog oraz dodatkowo może dowolnie grupować swoje pliki w podkatalogi. Pliki są identyfikowane poprzez podanie ścieżki w drzewie (złożonej z nazw podkatalogów) oraz nazwy pliku.

1.3.1.40. Wyjaśnienie. Katalog o strukturze grafu acyklicznego. W strukturze tej dopuszczamy, aby katalogi i pliki tworzyły graf acykliczny. Oznacza to, że każdy plik i podkatalog (ale nie katalog główny) występuje w jednym lub więcej katalogach. Warunek acykliczności gwarantuje nam, że z katalogu głównego możemy dotrzeć do każdego katalogu i pliku. Przy takiej strukturze katalogów mamy nową operację: wstawienie istniejącego pliku lub podkatalogu do określonego katalogu. W wyniku wykonania takiej operacji mamy więcej niż jedno dowiązanie do danego pliku/pod-katalogu. Ponadto plik/katalog ten może w różnych katalogach pojawiać się pod różnymi nazwami. Tak więc nazwa przestaje być atrybutem pliku/podkatalogu, lecz jest związana z katalogiem, w którym występuje. Natomiast z każdym plikiem i podkatalogiem

wiążemy nowy atrybut: licznik dowiązań. W momencie utworzenia pliku lub podkatalogu licznik ten jest ustawiany na 1. Każde wpisanie nazwy w pliku/katalogu do kolejnego katalogu powoduje zwiększenie licznika dowiązań, a każde usunięcie pliku/podkatalogu z określonego katalogu powoduje jego zmniejszenie o 1. W momencie, gdy wartość licznika spada do zera, plik/podkatalog jest faktycznie usuwany.

Piśmiennictwo: Silberschatz A. S.6.1., Stencel K. S.12.1.

1.3.2.SYSTEM PLIKÓW

1.3.1.10. Wyjaśnienie. System plików pełni w systemie operacyjnym rolę pamięci trwałej.

Informacje zapisane w pamięci trwałej nie są gubione między kolejnymi uruchomieniami systemu. Zwykle pamięć trwała to dyski magnetyczne (tak też przyjmiemy na potrzeby tych rozważań). Informacje przechowywane w systemie plików są pogrupowane w pliki i katalogi Niemniej warto zapoznać się z tym, co system plików może nam udostępniać - być może kryje nie znane nam jeszcze możliwości.

1.3.1.20. Wyjaśnienie. W systemie plików występują dwa podstawowe rodzaje obiektów: pliki i katalogi. Pliki służą bezpośrednio do przechowywania informacji, a katalogi służą do grupowania plików i innych (pod)katalogów.

1.3.1.30. Wyjaśnienie. Pojęcie pliku jest zapewne doskonale znane czytelnikowi, niemniej przedstawmy pokrótce typowe cechy pliku:

Nazwa - symboliczna nazwa identyfikująca plik w obrębie katalogu, w którym się on znajduje (w niektórych systemach plików, ten sam plik może występować pod wieloma nazwami i w wielu katalogach. Nie zawsze więc plik ma jednoznacznie określoną nazwę, natomiast zawsze nazwa i katalog jednoznacznie określają plik.).

Typ - określa rodzaj informacji przechowywanej w pliku (W zależności od rodzaju systemu operacyjnego, typ pliku może być mniej lub bardziej kontrolowany przez system operacyjny.

Przykładowe typy plików to: program wykonywalny, plik tekstowy, grafika w określonym formacie itd.).

Treść - informacje przechowywane w pliku (W zależności od rodzaju systemu operacyjnego, treści plików mogą posiadać zróżnicowaną strukturę lub nie. W systemach Unix, Linux i Windows pliki to ciągi bajtów określonej długości. Ich interpretacja zależy od typu pliku).

Wskaźnik pliku - w przypadku plików o dostępie sekwencyjnym, wskaźnik pliku wskazuje miejsce w pliku, którego będzie dotyczyć kolejna operacja czytania / dopisania do zawartości pliku.

Prawa dostępu - w systemach zapewniających ochronę danych, z każdym plikiem (jak również z katalogiem) są związane prawa dostępu, określające, jakie operacje mają prawo wykonywać dani użytkownicy (dokładny zestaw praw dostępu i ich znaczenie zależy od systemu operacyjnego).

Czas utworzenia / ostatniej modyfikacji / ostatniego dostępu.

Wszystkie z tych atrybutów mają również odniesienie do katalogów, pod warunkiem, że za treść katalogu przyjmiemy listę plików i podkatalogów znajdujących się w danym katalogu. Pliki i katalogi możemy traktować jak trwałe obiekty pewnego abstrakcyjnego typu danych.

1.3.1.40. Wyjaśnienie. Z punktu widzenia użytkownika istotne jest, jakie operacje można wykonywać na plikach i katalogach. Operacje te możemy podzielić na dwie grupy:

1. operacje na całych plikach/katalogach

2. oraz operacje modyfikujące i odczytujące informacje z pojedynczego składnika pliku/katalogu.

Typowe operacje na całych plikach / katalogach to:

(a) zmiana nazwy pliku/katalogu,

(b) przeniesienie pliku/katalogu do innego katalogu, (c) usunięcie pliku/katalogu,

(d) skopiowanie pliku,

(e) utworzenie nowego (pustego) katalogu, (f) wypisanie treści pliku / zawartości katalogu.

1.3.2.50. Wyjaśnienie. Implementacja systemu plików na nośniku magnetycznym lub optycznym wygląda następująco. Pliki przechowywane są (zwykle) na dyskach magnetycznych.

Struktura logiczna dysków jest o wiele prostsza niż systemu plików. Dysk jest podzielony na sektory - jednostki tej samej wielkości. Wielkość sektorów jest (zwykle) potęgą 2 i przeważnie jest to 512 bajtów (ze względów historycznych). Z punktu widzenia systemu operacyjnego, pojedynczy dysk można traktować jak liniową tablicę sektorów. Implementacja systemu plików ma architekturę warstwową, zbliżając stopniowo proste urządzenia, jakimi są dyski, do złożonego systemu plików. Wyróżniamy następujące warstwy: (1) sterownik dysku;

(2) podstawowy system plików; (3) moduł organizacji plików; (4) Iogiczny system plików.

Piśmiennictwo: Silberschatz A. S.6.1., Stencel K. S.12.1.

1.3.3.ROZPROSZONY SYSTEM PLIKÓW I REPLIKACJA

1.3.3.10. Wyjaśnienie. Sieciowe systemy plików często nazywa się również rozproszonymi systemami plików, ponieważ udostępniane przez nie pliki i katalogi mogą fizycznie znajdować się na rożnych komputerach w sieci domowej, akademickiej lub korporacyjnej. Przykładem sieciowego systemu plików jest NFS (Network File System), który został opracowany przez firmę Sun we wczesnych latach 80, ubiegłego wieku, od tamtego czasu był wielokrotnie udoskonalany i obecnie jest dostępny dla wszystkich, systemów Unix/Linux, a nawet istnieje oprogramowanie dla systemu Windows (wykonane przez dostawców niezależnych od firmy Microsoft).

1.3.3.20. Wyjaśnienie. Specyfikacje systemu NFS były dostępne niedługo po opublikowaniu informacji o pierwszej wersji, dzięki czemu NFS stał się faktycznym standardem rozproszonych systemów plików. Protokół NFS umożliwia serwerom plików eksportowanie centralnych zbiorów plików i katalogów do wielu systemów klienckich. Dobrym przykładem plików i katalogów, które warto udostępnić w formie zasobu centralnego z jednoczesnym dostępem wielu użytkowników, są katalogi domowe użytkowników, zestawy narzędzi programistycznych i scentralizowane zasoby danych, takie jak kolejki poczty i katalogi wykorzystywane do przechowywania internetowych forów dyskusyjnych.

1.3.3.30. Wyjaśnienie. Replikacja plików to proces dotyczący rozproszonego systemu plików, gdzie poszczególne pliki, są prowadzone w postaci równolegle aktualizowanych kopii danego pliku i polega na bieżącego powielaniu wprowadzanych do jednej kopii pliku modyfikacji na pozostałe kopie. Wikipedia rozróżnia trzy rodzaje replikacji:

1. Replikacja migawkowa (snapshot replication) — dane rozprowadzane są w stanie z pewnego określonego momentu. Taki rodzaj replikacji znajduje głównie zastosowanie przy danych,

które nie są często modyfikowane. Jednak takie modyfikacje mogą być znaczne. Wszelkie zmiany pomiędzy migawkami nie są monitorowane.

2. Replikacja transakcyjna lub przyrostowa (transaction replication) — dane rozprowadzane są na podstawie logów transakcji. Umożliwia zachowanie zasady ACID18, ponieważ dane zmieniane są tylko na głównym serwerze.

3. Replikacja dwukierunkowa lub łącząca (merge replication) — dwukierunkowe rozprowadzanie danych, zarówno od serwera, jak i od klientów, które mogły być również przeprowadzone bez połączenia pomiędzy serwerami. W czasie synchronizacji może dojść do konfliktu, który musi być rozwiązany przez osobę przeprowadzającą aktualizację.

Piśmiennictwo: Silberschatz A. S.6.1., Stencel K. S.12.1.

Outline

Powiązane dokumenty