1. Co to jest plik, jakie ma atrybuty, jakie są podstawowe operacje plikowe? Z jakich podstawowych części składa się system plików?
*Plik jest jednostką magazynowania informacji w pamięci podręcznej/ zbiorem danych o skończonej długości, co określa twórca pliku i jego użytkownik.
*Atrybuty plików:
- Nazwa- ciąg znaków czytelny dla człowieka;
-Identyfikator- nazwa pliku w postaci nieczytelnej dla człowieka, w postaci liczbowej, jedyna w systemie;
-Typ;
-Lokalizacja- ścieżka dostępu, gdzie plik jest położony;
-Rozmiar- zawiera bieżący rozmiar pliku, może go ograniczać;
-Ochrona-kto może czytać plik, zapisywać, wykonywać itd.;
-Czas, data, identyfikator użytkownika;
*Podstawowe operacje plikowe:
- Tworzenie pliku (nazwanie pliku i informacja o jego położeniu);
-Zapisywanie pliku (podanie nazwy pliku i informacji, która ma być zapisana);
- Czytanie pliku (podanie nazwy pliku i lokalizacji);
-Zmiana pozycji w pliku/przemieszczenie w pliku(nadanie określonej wartości wskaźnikowi bieżącego położenia pliku);
-Usuwanie pliku(zwolnienie miejsca i likwidacja danego wpisu katalogowego);
-Skracanie pliku(ponowne ustawienie zerowej długości pliku przy niezmienionych pozostałych atrybutach);
-Dopisywanie(na końcu pliku);
-Przemianowywanie(istniejącego pliku);
*Części systemu plików:
-Zbiór plików;
-Struktura katalogów(do organizowania i udostępniania informacji o plikach w systemie);
-partycje(do wyodrębniania wielkich zasobów katalogów);
2. Do czego służy tablica otwartych plików, jak jest najczęściej realizowana w systemach wielodostępnych i jakie są jej główne elementy?
*Tablica otwartych plików przechowuje informacje o otwartych plikach, takie jak rozmiar pliku, jego właściciel, prawa dostępu, położenie bloków pliku na dysku, odległość w pliku albo wskaźniki do rekordów zawierających te informacje. Jest po to, aby uniknąć ciągłego przeszukiwania.
*W systemach wielodostępnych:
Istnieją 2 poziomy tablic otwartych plików:
-Procesowa- informacje o plikach otwartych w procesie;
Ogólnosystemowa- informacje o wszystkich otwartych plikach w systemie(lokalizacja, data dostępu, rozmiar, licznik otwarć)
*Elementy tablicy otwartych plików:-wskaźnik plikowy –wskaźnik bieżącej pozycji w pliku;-licznik otwarć pliku- służy do nadzorowania liczby otwarć i zamknięć pliku, zeruje się po ostatnim zamknięciu pliku;
-położenie pliku na dysku- aby nie wczytywać z dysku podczas każdej operacji plikowej jest w pamięci operacyjnej;
-prawa dostępu- system może pozwalać lub nie wykonywać operacji;
3. Wymienić przykładowe typy plików, scharakteryzować struktury pliku oraz opisać metody dostępu do pliku.
*Przykładowe typy plików:
-Wykonywalny(exe);
-wynikowy (obj, o)
-kod źródłowy ( c, c++)
-wsadowy(bat,sh,csh)
-tekstowy(txt, doc)
-plik edytora tekstu(doc, rtf, wp, tex)
-biblioteka(lib, a, so, dll)
-druk lub obraz (div, PS, PDF, JPG)
-archiwalny (arc, zip, tar)
-multimedialny ( mpeg, mov, rm mp3)
*Struktury pliku:
-Minimalna struktura- plik jako ciąg bajtów lub słów; każdy program posiada kod interpretujący plik wejściowy jako odpowiednią strukturę.
-plik wykonywalny –struktura, która ma na celu ładowanie i wykonywanie programów;
-wewnętrzna struktura pliku:
#blok(rekord fizyczny) –jednostka fizycznej pamięci dyskowej, wszystkie bloki są tego samego rozmiaru;
#rekord logiczny –logiczna jednostka informacji; różnią się rozmiarem od rekordów fizycznych i mogą być różnej długości;
*Metody dostępu do pliku:
-dostęp sekwencyjny – informacje w pliku są przetwarzane sekwencyjnie, jeden rekord za drugim, najpowszechniejszy rodzaj dostępu; będąc w pozycji bieżącej można wrócić do początku lub czytać/pisać do końca.
-dostęp bezpośredni – plik składa się z rekordów logicznych o stałej długości, które mogą być przetwarzane bez jakiegokolwiek porządku;
-dostęp indeksowy- z plikiem związany jest indeks zawierający wskaźnik do bloków pliku; dla dużych plików wprowadza się podwójne indeksowanie, tzn. pierwotny indeks zawiera wskaźnik do wtórnego indeksu, a ten do danych.
4. Co to jest, do czego służy i jak realizowana jest struktura katalogowa?
*Struktura katalogowa, graf katalogów, drzewiasta struktura danych, której węzły odwzorowują katalogi, a krawędzie określają hierarchiczne podporządkowania katalogów.
*Struktura katalogowa służy do odnajdywania pliku, tworzenia pliku, usuwana pliku, wyprowadzania katalogu, przemianowywania pliku, obchodu systemu plików.*Jest realizowana poprzez:
-katalog jednopoziomowy – jeden katalog dla wszystkich plików;
-katalog dwupoziomowy – oddzielny katalog dla każdego użytkownika (Główny katalog plików>>katalog plików użytkownika): możliwe te same nazwy plików różnych użytkowników; nazwa użytkownika i nazwa pliku definiuje nazwę ścieżki, nie można grupować plików ani użytkowników;
-katalogi o strukturach drzewiastych - 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. Użytkownicy mogą mieć dostęp do plików innych użytkowników. Nazwy ścieżek mogą być: Bezwzględne – biegnie od korzenia aż do danego pliku (podkatalogu). Względne – od bieżącego (lub domowego) katalogu do pliku (podkatalogu).
5. Na czym polega montowanie systemu plików (podać przykłady)? Czego dotyczy i jak realizowana jest ochrona systemu plików?
*Montowanie systemu plików polega na tym, że podajemy nazwę urządzenia, które chcemy zamontować oraz punkt montażu. Później SO sprawdza czy urządzenie zawiera właściwy system plików, czyli format. Później SO zaznacza w strukturze katalogowej zamontowanie w tym wybranym punkcie.*Przykłady montowania systemu plików:-Macintosh –automatycznie wykrywa i montuje system plików oraz tworzy na ekranie ikonę;
- MS Windows od 95 do7- urządzenia i partycje są oznaczone literką napędu, urządzenia są wykrywane automatycznie i montowane.
-System UNIX- urządzenia można montować automatycznie podczas rozruchu lub wykonać montowanie ręczne.
*Ochrona systemu plików dotyczy kontrolowania dostępu do plików. Polega to na tym, że z każdym plikiem są związane prawa dostępu określające, jakie operacje mają prawo wykonywać dani użytkownicy. Sprawdza się operacje: czytania, pisania, wykonywania, dopisywania, usuwania, opisywania.
*Ochrona systemu plików jest realizowana poprzez:
-poprzez listę kontroli dostępów-sprawdza się każdego użytkownika, jakie ma dozwolone działania;
-poprzez tworzenie klas użytkowników(właściciel/ grupa/ wszechświat) i przypisanie dozwolonych działań każdej klasie.
- Identyfikacje właściciela, który przydziela atrybuty -atrybuty. Są one albo do poszczególnych użytkowników, gdzie każdy użytkownik ma swój identyfikator. Lub identyfikator grupowy gdzie użytkownicy są wpisani do pewnej grupy, która ma dostęp lub nie ma do jakiegoś pliku lub katalogu.
6. Jak realizuje się dzielenie plików oraz związaną z tym semantykę spójności?
*Dzielenie plików realizuje się poprzez atrybuty przypisane każdemu plikowi, a później SO sprawdza czy dany użytkownik jest wpisany do atrybutu czy nie. Systemy umożliwiają użytkownikom wspólne korzystanie z plików.
*Semantyka spójności określa czy jednoczesny dostęp do pliku jest możliwy przez wielu użytkowników. W systemie UNIX, jeśli kilka użytkowników ma otwarty w tym samym czasie jakiś plik i jeden z nich zrobi w nim jakąś zmianę, to wszyscy natychmiast widzą tą zmianę, podobnie jest ze wskaźnikiem bieżącego położenia pliku.
-semantyka sesji:, jeśli kilka użytkowników ma otwarty w tym samym czasie jakiś plik i jeden z nich zrobi w nim jakąś zmianę, to nikt nie widzi tej zmiany natychmiast tylko dopiero po jego zamknięciu i ponownym otwarciu.
-semantyka stałych plików dzielonych:, jeśli twórca pliku zaznaczy, że plik jest dzielony to nie wolno go modyfikować, można jedynie czytać.
7. Omówić budowę systemu plików w oparciu o schemat warstwowy.
System plików utrzymywany jest na dyskach. Składa się z czterech warstw. Warstwa najniższa steruje urządzeniami wejścia/wyjścia. Przesyła informacje między pamięcią operacyjną a systemem dyskowym. Następnie jest warstwa podstawowego systemu plików, która wydaje instrukcje czytania i pisania poszczególnych bloków na dysku dla urządzenia. Trzecią warstwą jest moduł organizacji pliku, który zajmuje się przydziałem miejsca dla pliku i jego położeniem. Dodatkowo tłumaczy adresy logiczne na adresy fizyczne bloków. Najwyższą warstwą jest logiczny system plików, który używa strukturę katalogową, dostarcza informacje modułowi organizacji pliku oraz zapewnia ochronę i bezpieczeństwo.
Użytkownik wywołuje to tak: program użytkowy>> logiczny system plików >> moduł organizacji pliku >> podstawowy system plików >> sterowanie wejściem/wyjściem >> urządzenia.
8. Przedstawić implementację systemu plików opisując najważniejsze struktury utrzymywane na dysku oraz w pamięci operacyjnej. Co to jest wirtualny system plików (VFS)?
*Struktury utrzymywane na dysku:
-blok sterujący rozruchem – ma informacje potrzebne do rozruchu z danej partycji;
-blok sterujący partycji- zawiera dane partycji: rozmiar, liczbę i wskaźniki do bloków;
-struktura katalogowa- używana do organizowania plików;
-blok kontrolny pliku- szczegóły dotyczące pliku;
*Struktury utrzymywane w pamięci operacyjnej:
-tablica partycji- informacje o partycjach;
-struktura katalogowa- informacje o ostatnio odwiedzanych katalogach
-ogólnosystemowa tablica otwartych plików- kopia bloku FCB każdego otwartego pliku i inne.
-procesowa tablica otwartych plików- ma wskaźnik do odpowiedniego wpisu w ogólnosystemowej tablicy otwartych plików i inne.
-bufory – przechowują bloki systemu plików podczas ich czytania lub zapisu na dysku.
* wirtualny system plików (VFS) – dodatkowa warstwa(nierzeczywista) na fizyczny systemowy system plików, pośrednicząca między danymi na dysku a danymi w pamięci. System VFS jest warstwą abstrakcji oferującą ujednolicony interfejs dostępowy.
...
blejt14