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.
9. Omówić podstawowe metody przydziału miejsca na dysku oraz wymienić ich zalety i wady
*Przydział ciągły- każdy plik ma swój niezmienny początek i rozmiar. Zajmuje kolejne bloki-jeden za drugim. Zaletami są: łatwy dostęp do pliku zarówno sekwencyjny jak i bezpośredni; minimalny ruch głowicy dysku w obrębie danego pliku. Wady: plik nie może rosnąć; fragmentacja zewnętrzna; trudny przydział miejsca dla nowego pliku;
*przydział listowy – plik jest listą powiązanych ze sobą bloków dyskowych, które są rozmieszczone gdziekolwiek. Bloki tworzące jeden plik są połączone w listę jednokierunkową. Każdy z bloków zawiera numer następnego bloku tworzącego plik. Zalety: łatwy sekwencyjny dostęp; brak fragmentacji zewnętrznej; plik może rosnąć dopóki są wolne bloki; Wady: słaby bezpośredni dostęp do pliku; wskaźniki zabierają miejsce na dysku; możliwość utraty fragmentu pliku;
*Tablica przydziału plików (FAT) - początek partycji jest zarezerwowany na tablicę FAT. Ta tablica ma po jednej pozycji na każdy blok dyskowy, jest indeksowana numerami bloków i zawiera nr następnego bloku pliku. Wolne bloki oznaczone są zerami. Wpis katalogowy ma numer pierwszego bloku pliku. Wada: Może powodować znaczny ruch głowic dyskowych między tablicą a blokami.
*Przydział indeksowy- każdy plik ma swój blok indeksowy (tablica adresów bloków dyskowych). Plik na dysku jest reprezentowany przez numer bloku indeksowego. Zaleta: Umożliwia dostęp bezpośredni; Wada: marnowanie dysku na bloki indeksowe.
Podrodzaje:
-schemat listowy- indeksy są połączone w listę (ostatnia pozycja bloku zawiera wskaźnik do następnego);
-indeks wielopoziomowy- blok pierwszego poziomu ma wskaźnik do bloku drugiego poziomu itd. Aż na ostatnim poziomie jest wskaźnik do bloków plików;
-schemat kombinowany- W systemie Unix pliki są reprezentowane przez tzw. i-węzły (ang. i-node). I-węzeł zawiera, powiedzmy, 13 numerów bloków dyskowych. Pierwszych 10 z nich, to numery pierwszych 10 bloków treści pliku. Jedenasty numer to numer bloku indeksowego (jednopoziomowego) do kolejnych bloków pliku. Dwunasty numer to numer bloku indeksowego dwupoziomowego do kolejnych bloków pliku. Ostatni (trzynasty) numer to numer do bloku indeksowego trójpoziomowego kolejnych bloków pliku. Dzięki takiemu podejściu, liczba operacji dyskowych potrzebnych do dostania się do dowolnego miejsca na pliku zależy od wielkości pliku i waha się od 1 do 4.
10. Jakie są podstawowe metody implementacji katalogu? Jakie są sposoby zarządzania wolną przestrzenią dyskową? Wymienić zalety i wady.
*podstawowe metody implementacji katalogu
-lista liniowa –lista nazw plików wraz ze wskaźnikami do bloków danych; do znalezienia pliku stosuje się przeszukiwanie liniowe, więc jest to łatwa metoda, lecz za wolna;
-tablica z haszowaniem- wpisy są na liście liniowej, ale wskaźniki do niej są na haszowanej strukturze danych. Dzięki temu jest szybkie przeszukiwanie, proste wstawianie i usuwanie wpisu. Problemem jest stały rozmiar tablicy i sytuacje kolizyjne.
*Sposoby zarządzania wolną przestrzenią dyskową:
-wektor bitowy- gdy blok jest wolny ma wartość 1 a gdy zajęty wartość 0. Zalety: proste i szybkie odnajdowanie wolnych bloków. Wady: mało wydajne dla dużych dysków.
-lista powiązana- wszystkie wolne bloki są ze sobą powiązane i wolne miejsce znajduje się poprzez wskaźnik do pierwszego wolnego bloku. Wada: Mało wydajne- trzeba przejść wszystkie bloki żeby znaleźć pierwszy wolny.
- Grupowanie: powiązana lista bloków pierwszy zawiera n adresów bloków gdzie n-1 to bloki wolne. N blok zawiera n kolejnych adresów bloków w tym samym schemacie.
-Zliczanie: dla przylegających wolnych bloków przechowuję się adres pierwszego wolnego bloku i liczbę wolnych bloków następujących po sobie.
11. Od czego zależy efektywność systemu plików i jak można poprawiać jego wydajność?
*Efektywność zależy od:
-Algorytmów przydziału miejsca na dysku i algorytmów obsługiwania katalogów;
-typów danych przechowywanych we wpisie katalogowym pliku(wolniejszy system, gdy jest dużo informacji o danym pliku i gdy są częste aktualizacje; zaś, gdy jest dużo wskaźników zwiększa się długość pliku i marnuje się dysk na wskaźniki)
*Metody poprawienia wydajności:
-pamięć podręczna bloków dyskowych- specjalne miejsce dla często używanych bloków;
-wczesne zwalnianie i czytanie z wyprzedzeniem- techniki do optymalizacji dostępu sekwencyjnego;
-dyski wirtualne(RAM –DYSKI) - część pamięci operacyjnej, na której wykonuje się operacje dyskowe;
**ram dysk jest pod nadzorem użytkownika natomiast pamięć podręczna bloków dyskowych pod SO;
12. Na czym polega rekonstrukcja systemu plików i co to są systemy plików ze strukturą dziennika?
*rekonstrukcja systemu plików polega na:
-sprawdzeniu spójności( w dyskowej pamięci podręcznej mogą być nowsze informacje niż zapisane na dysku; gdyby komputer się popsuł to też coś może być niespójne z teraźniejszym stanem. Do sprawdzenia tego i usunięcia niezgodności służy program sprawdzania niespójności)
-składowaniu(backup) i odtwarzaniu: (pliki można składać na innych nośnikach pamięci żeby ich nie stracić na skutek awarii sprzętu. Pierwsze robi się pełny backup a w następnych dniach przyrostowy-czyli te pliki, które zostały zmienione. Później te skopiowane dane można odtworzyć)
* co to są systemy plików ze strukturą dziennika
Wszystkie zmiany zapisuje się po kolei w dzienniku (transakcja). Gdy zapiszą się zmiany może nastąpić powrót do procesu użytkownika. Zarejestrowane wpisy są odtwarzane w rzeczywistych strukturach systemu. Po zakończeniu zmian uaktualniany jest wskaźnik pokazujące co jest zakończone a co nie. Po zakończeniu transakcji usuwa się ją z dziennika.
1. Przedstawić strukturę dysku magnetycznego oraz omówić podstawowe kwestie planowania dostępu do dysku.
*Struktura dysku magnetycznego: Dysk składa się z bloków logicznych, które są odwzorowaniem sektorów dysku. Sektor 0 to pierwszy sektor na pierwszej ścieżce najbardziej zewnętrznego cylindra. Później idzie w głąb następnych cylindrów.
-cylindry-liczba sektorów jest stała dla grupy na danej ścieżce
-ścieżki – współśrodkowe okręgi logiczne utworzone na płytce
-sektory- mniejsze jednostki logiczne
-jednostki alokacji (klastry) tutaj są zapisywane rzeczywiste kody programu
*Planowanie dostępu do dysku: (ma być szybki dostęp i szybkie przesyłanie danych)
Składniki czasu dostępu:
-czas wyszukiwania – czas na przemieszczenie się głowicy w cylindrze z danym sektorem;
-opóźnienie obrotowe – czas użyty na obrót dysku do pozycji, w której sektor trafia pod głowicę dysku.
-szerokość pasma – liczba wszystkich przesłanych bajtów podzielona przez czas
2. Scharakteryzować podstawowe algorytmy planowania dostępu do dysku oraz omówić kwestie wyboru odpowiedniego algorytmu dla danego systemu.
*Algorytm FCFS- idzie po kolei, za kolejką. Jest sprawiedliwy, ale nie zapewnia najszybszej obsługi.
*Algorytm SSTF – sprawdza gdzie jest najkrótszy czas przeszukiwania( nie idzie za koleją tylko sprawdza, co ma najbliżej startu głowicy itd.) Zwiększona jest przepustowość, głowica przechodzi przez 3 krotnie mniej cylindrów.
*Algorytm SCAN (windy) – algorytm realizuje zamówienia, które napotka po drodze jadąc od góry do dołu i z powrotem. Złe jest to, że głowica musi dojść do ostatniego ,,piętra” gdy jedzie w górę i na sam dół gdy jedzie w dół.
*Algorytm C-SCAN – idzie do góry aż do końca i gdy osiągnie maksimum wraca do 0. Głowica działa tylko w jedną stronę.
*Algorytm LOOK i C-LOOK- podobny do poprzedniego, ale przejeżdża do ostatniego zamówienia i cofa się do pierwszego zamówienia. Nie musi dochodzić do skrajnych wartości.
*Kwestia wyboru odpowiedniego algorytmu:
-SSTF jest powszechny i wygląda naturalnie.
-SCAN i C-SCAN odpowiednie dla systemów gdzie jest dużo zamówień na operacje dyskowe.
-SSTF i LOOK może być algorytmem dobieranym domyślnie.
-Wydajność każdego algorytmu zależy przede wszystkim od liczby i rodzaju zamówień.
-Zamówienia na usługi dyskowe mogą w znacznym stopniu zależeć od metod przydziału pliku
-Ważna jest także lokalizacja katalogów i bloków indeksowych - przechowywanie podręczne może znacznie przyspieszyć dostęp.
-Algorytm przydziału miejsca na dysku powinien być napisany, jako oddzielny moduł systemu operacyjnego, aby można go było łatwo zastąpić innym - w razie potrzeby.
3. Na czym polega formatowanie dysku i jaka jest rola bloku rozruchowego?
*Formatowanie dysku:
Formatowanie dysku(niskiego poziomu/fizyczne) polega na tym, że dysk dzieli się na sektory, które sterownik dysku potrafi czytać i zapisywać.
Sektor składa się z nagłówka, obszaru danych i zakończenia. Nagłówek i zakończenie zawiera informacje o numerze sektora i kod korygujący(ECC; jest samo korygujący).
Większość dysków na niskim poziomie formatują producenci. Aby go używać SO musi zapisać takie struktury danych jak: 1. Podział dysku na jedną lub więcej grup cylindrów 2. Formatowanie logiczne, czyli utworzenie początkowych struktur danych systemu plików tj. tablica FAT lub i-węzły oraz początkowy, pusty katalog.
*Rola bloku rozruchowego:
Poprzez blok rozruchowy włącza się program rozruchowy, który ustawia stan początkowy wszystkich elementów systemu, a następnie uruchamia system operacyjny.
Większość systemów przechowuje w rozruchowej pamięci ROM malutki ładowacz programu rozruchowego, którego jedynym zadaniem jest sprowadzenie pełnego programu rozruchowego z dysku. Pełny program rozruchowy jest przechowywany w partycji zwanej blokami rozruchowymi w ustalonym miejscu na dysku.
Dysk z partycją rozruchową nazywa się dyskiem rozruchowy lub dyskiem systemowym.
4. Omówić zarządzanie obszarem wymiany i przedstawić przykłady jego realizacji w systemach UNIX BSD i Solaris.
*Zarządzanie obszarem wymiany:
-stosuje się to, aby osiągnąć jak najlepszą przepustowość w systemowej pamięci wirtualnej.
-Wykorzystuje się to do: 1. Przechowywania całych procesów w systemach implementujących wymianę. 2. Przechowywania stron usuniętych z pamięci głównej w systemach stronicujących 3. Rozmiar obszaru zależy od rozmiaru pamięci fizycznej, rozmiaru pamięci wirtualnej oraz sposobu jej wykorzystania. 4. Lepiej mieć za dużo obszaru wymiany niż za mało 5. UNIX umożliwia stosowanie wielu obszarów wymiany
-Umiejscowienie obszaru wymiany: 1. W obrębie systemu plików 2. W osobnej partycji dysku
*UNIX BSD
Uruchamianemu procesowi przydziela się obszar wymiany w chwili startu. W pamięci pomocniczej rezerwuje się tyle miejsca ile wystarcza na pomieszczenie programu, tzw. segmentu tekstu, i segmentu danych procesu. Przy starcie procesu strony jego tekstu sprowadzane są z systemu plików, a następnie w razie potrzeby są odsyłane do obszaru wymiany i z niego czytane. Strony segmentu danych są czytane z systemu plików lub są tworzone i podlegają zapisywaniu/czytaniu w obszarze wymiany, stosownie do potrzeb. Jądro systemu korzysta z dwu procesowych map wymiany(mapa wymiany segmentu tekstu [512KB, 512KB…1KB]; Mapa wymiany segmentu danych[każdy następny blok jest 2 razy większy od poprzedniego])
*Solaris
Solaris 1( SunOS)
-Podczas wykonywania procesu segmenty tekstu są sprowadzane z systemu plików do pamięci głównej, skąd są usuwane - jeśli zachodzi potrzeba.
-Powtórne czytanie strony z systemu plików jest wydajniejsze niż zapisywanie jej w obszarze wymiany i czytanie jej stamtąd.
-Obszar wymiany jest używany tylko, jako zaplecze dla stron pamięci anonimowej, czyli pamięci przydzielonej na stos, niezainicjowane dane procesu.
Solaris 2
-wymiana może być dokonywana w partycji wymiany lub w przestrzeni systemu plików – określa administrator;
-Obszar wymiany przydzielany jest, gdy strona jest usuwana z pamięci fizycznej a nie podczas pierwszego tworzenia strony pamięci wirtualnej.
5. Co to jest i do czego służy struktura RAID? Jakie są podstawowe poziomy RAID?
*Co to jest RAID i do czego służy:
Nadmiarowa macierz niezależnych dysków – polega na współpracy dwóch lub więcej dysków twardych w taki sposób, aby zapewnić dodatkowe możliwości, nieosiągalne przy użyciu jednego dysku jak i kilku dysków podłączonych, jako oddzielne.
*RAID używa się w następujących celach:
-zwiększenie niezawodności (odporność na awarie),
-zwiększenie wydajności transmisji danych,
-powiększenie przestrzeni dostępnej, jako jedna całość.
*Rodzaje RAID:
-Odbicie lustrzane lub tworzenie cienia utrzymywanie dodatkowej kopii każdego dysku
-Przeplatanie bloków parzystości: mały obszar dysku wykorzystywany do przechowywania bitów parzystości
-Paskowanie dysku(przeplot)- grupa dysków jest traktowana jako jedna jednostka pamięci. Każdy blok danych jest jeszcze podzielony. Każdy podblok jest pamiętany na innym dysku.
*POZIOMY RAID
p0: tablice dysków z paskowaniem na poziomie bloków, ale bez jakiejkolwiek nadmiarowości.
p1: nadmiarowość przez lustrzane odbicie dysku.
P2: organizacja korygowania błędów na wzór pamięci operacyjnej, przy użyciu kodu Hamminga
p3: organizacja parzystości w przeplocie bitów - ulepszenie p2 przez wykorzystanie możliwości sterowników dysków do wykrywania błędnych sektorów;
p4: organizacja parzystości w przeplocie bloków - paskowanie na poziomie bloków z dodatkowym blokiem parzystości dla bloków z N dysków danych.
p5: rozproszona parzystość w przeplocie bloków, parzystość każdego bloku przechowywana jest na jednym z N dysków, a pozostałe N- 1 dysków przechowuje go dane
p6: schemat nadmiarowości P + Q, zawiera dodatkową informację nadmiarową by chronić przed awarią wielu dysków;
RAID 0 + 1 lub 1 + 0: kombinacja poziomów 0 (wydajność) i 1 (niezawodność).
6. Jakie są metody podłączania pamięci dyskowej i czym się charakteryzują?
*Pamięć podłączona do komputera macierzystego
-Osiągalna przez lokalne porty wejścia-wyjścia;
-Różnorodne urządzenia pamięciowe:dyski twarde,tab RAID,CD/DVD, przewijaki taśmy.
-Polecenia WE/WY to czytanie i pisanie logicznych bloków danych, kierowane do specjalnie identyfikowanych jednostek pamięci;
*Pamięć podłączona do sieci
-System pamięci specjalnego przeznaczenia osiągany zdalnie przez sieć danych.
-Klient uzyskuje dostęp do NAS przez interfejs zdalnego wywołania procedury;
-Jednostka NAS jest zwykle tablicą RAID z oprogramowaniem realizującym interfejs zdalnych wywołań procedur (RPC).
*Sieć pamięciowa (storage-area network - SAN)
-Jest siecią prywatną (używa protokołów pamięci, a nie protokołów sieciowych) rozpiętą między serwerami i jednostkami pamięci oddzielnie od sieci LAN lub WAN łączących serwery z klientami.
-Jej zaletą jest elastyczność - do jednej sieci SAN można podłączyć wiele komputerów i wiele tablic pamięci; pamięć może być podłączana dynamicznie.
7. Jak implementowana jest pamięć trwała i jak wygląda w tym przypadku usuwanie skutków awarii?
Pamięć trwała - pamięć, która nigdy nie traci przechowywanych w niej informacji.
Do implementacji przybliżenia takiej pamięci należy zastosować zwielokrotnienie informacji na wielu urządzeniach pamięci, niezależnych od siebie pod względem awaryjności.
Zapisywanie uaktualnień powinno być skoordynowane tak, aby awaria pojawiająca się w trakcie aktualizacji nie powodowała uszkodzenia wszystkich kopii.
Operacja pisania na dysku kończy się na 1 z 3 sposobów:
-Pomyślne zakończenie-dane zapisane poprawnie;
-Awaria częściowa-część sektorów zapisana poprawnie;
-Awaria całkowita-uszkodzenie przed rozpoczęciem pisania, poprzednie wartości są OK;
Usuwanie skutków awarii:
Usuwając skutki awarii sprawdza się każdą parę bloków fizycznych:
-Jeśli oba bloki są identyczne i nie udało się w nich wykryć błędów, to dalsze działania nie są potrzebne.
-Blok, w którym wykryto błąd, zastępuje się zawartością drugiego bloku.
-Jeśli oba bloki nie zawierają wykrywalnych błędów, lecz ich zawartości się różnią, to zawartość pierwszego bloku zastępuje się zawartością drugiego bloku.
8. Omówić główne elementy pamięci trzeciorzędnej.
Pamięć trzeciorzędna – nośniki wymienne;
*Dyski wymienne:
-Dyskietki – są z cienkich tarcz z materiału magnetycznego i ochraniane plastikiem; mieszczą ok. 1MB info. Są prawie tak samo szybkie jak dyski twarde, ale są narażone na uszkodzenia;
-dyski magnetooptyczne- dane są zapamiętywane na twardej płytce powleczonej materiałem magnetycznym. Zapis i odczyt przy pomocy lasera; ma dużą odporność na awarie głowicy.
-dysk optyczny –zapisywanie przy pomocy lasera tworzącego jasne i ciemne plamki, każda z nich to bit;
#dyski zmiennofazowe –zmienia fazę przy oziębianiu –krystalizuje/przechodzi w stan bezpostaciowy, także wykorzystany jest laser, można zapisywać i odczytywać wiele razy, np. CD-RW, DVD-RW
-dyski jednokrotnego zapisu i wielokrotnego czytania:
#stare: folia aluminiowa obłożona płytkami, laser wypala dziurki
#dyski z barwnego polimeru-pod wpływem światła z lasera tworzą się grudki do zapisu info. Np. CD-R i DVD-R
-dyski tylko do czytania- zapisane w wytwórni; CD-ROM i DVD
*Taśmy:
-Taśma magnetyczna wymienny nośnik informacji, który może mieścić więcej danych niż dysk optyczny lub magnetyczny; dobra do kopii zapasowych i olbrzymich danych;
- Pamięć flash - nieulotna pamięć typu EEPROM, która jest kasowana i programowana dużymi blokami;
#pamięć NOR-długie czasy zapisu i kasowania, ale ma bezpośredni dostęp;
#pamięć NAND krótsze czasy zapisu i kasowania, większa gęstość zapisu, większa wytrzymałość, dostęp sekwencyjny;
Są to: karty pamięci, pendrive, SSD( dyski oparte o pamięć NAND o poj. 1TB);
9. Jakie są ewentualne przyszłe technologie odnośnie urządzeń pamięci?
*pamięć holograficzna –duża szybkość przesyłania, światło lasera do zapisywania fotografii holograficznych;
*mechaniczne systemy mikroelektroniczne-pomysł dostosowania technologii wytwarzania układów elektronicznych do produkcji małych maszyn przechowujących dane;
*układy memrystorowe- (memrystor to rezystor z pamięcią)
-Mogą stanowić nieulotną pamięć RAM, tzw. NVRAM, o niezwykle wysokiej pojemności i o porównywalnej szybkości, co DRAM.
-Znaczna redukcja powierzchni z niespotykaną pojemnością pamięci dla konstrukcji przyszłych układów scalonych.
-Potencjalna możliwość zastąpienia dzisiejszej hierarchicznej struktury pamięci pojedynczą nieulotną pamięcią zintegrowaną z CPU (rejestry).
-Inne zastosowania: obróbka sygnałów, sieci neuronowe, systemy kontrolne.
10. Jakie są główne zadania systemu operacyjnego wobec pamięci trzeciorzędnej?
*Interfejs aplikacji:
-Większość SO obsługuje dyski wymienne prawie tak samo jak dyski stałe
-Taśmy są zwykle traktowane, jako surowy nośnik pamięci, ale otwiera cały przewijak taśmy jako urządzenie surowe.
-Przewijak taśmy jest rezerwowany na wyłączny użytek danej aplikacji, do czasu aż zakończy ona z niego korzystać.
-Taśma zapisana danymi może być użyta tylko przez program, który ją stworzył.
-Przewijaki taśm: -Podstawowe operacje dla taśmy różnią się od podst. operacji dla dysku: znajdź ,czytaj położenie ,odstęp ; -Przewijaki taśmy są urządzeniami tylko do dopisywania. -Dopis realizowany przez umieszczanie znacznika końca taśmy po zapisanym bloku. -Przewijak nie pozwala na przechodzenie poza znacznik EOT, ale umożliwia jego znalezienie i rozpoczęcie za nim pisania.
*Nazwanie plików:
Problem z nazwą jest jedynie z kasetowym nośnikiem informacji; SO pozostawia sposób dostępu do nośników aplikacjom i użytkownikom. Dyski CD /DVD są standardowe i każdy system używa ich w ten sam sposób.
11. Co to jest hierarchiczny system pamięci i jak wygląda zarządzanie nim?
*Hierarchiczny system pamięci jest rozwinięciem hierarchii pamięci poza pamięć podstawową i pomocniczą, obejmującym pamięć trzeciorzędną.
-Pamięć trzeciorzędna jest zwykle implementowana za pomocą robota kasetowego z taśmami lub dyskami wymiennymi - Jest to większy i tańszy poziom pamięci. - Najczęściej powolniejszy! Zazwyczaj pamięć trzeciorzędna jest stosowana, jako rozszerzenie systemu plików.
*Hierarchiczne zarządzanie pamięcią spotykane w centrach komputerowych i innych z olbrzymimi ilościami danych
12. Przedstawić podstawowe zagadnienia wydajności dla pamięci trzeciorzędnej.
*Szybkość:
-szerokość pasma (bajty/sekundę) 1. Przepustowość stała –średnia szybkość przesyłania danych; określa szybkość danych podczas przepływu strumienia. 2. Przepustowość efektywna- jest ogólną szybkością przesyłania danych uzyskiwaną w danym urządzeniu
-opóźnienie – czas potrzebny do zlokalizowania danych
*Niezawodność
-Wymienne dyski magnetyczne są bardziej narażone na różne szkodliwe czynniki niż dyski stałe,
-Kasety z dyskami optycznymi posiadają warstwy ochronne bardziej niezawodne niż dyski magnetyczne lub taśmy
-Niezawodność taśm magnetycznych zależy od rodzaju napędu;
-awaria dysku twardego niszczy wszystko, a taśm i dysku optycznego nie.
*Koszt
-Cena pamięci dyskowej systematycznie spada względem ceny pamięci DRAM i pamięci taśmowej.
-Pamięć operacyjna jest dziś ok. 100 razy droższa niż pamięć dyskowa.
-Pamięć taśmowa obecnie stosowana jest głównie do kopii zapasowych wobec pamięci dyskowej i do magazynowania archiwalnego w olbrzymich taśmotekach
1. Co to jest bezpieczeństwo systemu komputerowego? Na czym polegają naruszenia bezpieczeństwa? Jakie są podstawowe poziomy bezpieczeństwa?
Bezpieczeństwo systemu komputerowego wymaga uwzględnienia środowiska zewnętrznego, w którym on działa i zapewnienia ochrony przed: nieupoważnionym dostępem, złośliwymi uszkodzeniami lub zmianami, przypadkowym wprowadzeniem niespójności.
Naruszenia bezpieczeństwa systemu mogą być złośliwe(czytanie, modyfikacja lub niszczenie danych bez upoważnienia, uniemożliwienie sensownego użytkowania systemu) lub przypadkowe (błędy sprzętowe, błędy ludzkie, zdarzenia losowe.
Poziomy bezpieczeństwa:
1.Fizycznym: Miejsca rozlokowania systemów komputerowych muszą być zabezpieczone fizycznie przed wtargnięciem intruzów.
2.Ludzkim: Użytkownicy muszą być starannie sprawdzani w celu minimalizowania szans upoważnienia użytkownika.
3.Systemu operacyjnego: System operacyjny musi chronić sam siebie przed przypadkowymi lub celowymi naruszeniami.
4.Sieciowym: Przechwycenie danych przesyłanych liniami komunikacyjnymi (np. telefonicznymi) może być równie niebezpieczne jak włamanie do komputera.
2. Jakie są i na czym polegają typowe zagrożenia programowe systemów komputerowych?
Koń trojański - segment kodu nadużywający swojego środowiska.
Wykorzystuje mechanizm pozwalający użytkownikom wykonywanie programów napisanych przez innych użytkowników.
Np. program naśladujący program login, którego celem jest przechwytywanie identyfikatora użytkownika oraz jego hasła.
Boczne wejście - Sprytne boczne wejścia mogą być instalowane w kompilatorze: kompilator będzie generował kod wynikowy oraz boczne wejście, które jest trudne do wykrycia (wymaga analizy kodu źródłowego kompilatora).
Przepełnienie stosu i bufora - najpospolitszy sposób napaści spoza systemu, siecią lub połączeniem telefonicznym, w celu uzyskania dostępu do upatrzonego systemu.
Zapisuje prosty fragment kodu w dalszym obszarze stosu, zawierający polecenie, które atakujący ma zamiar wykonać, np. rozmnożenie powłoki.
Bomba logiczna - program który inicjuje incydent naruszenia bezpieczeństwa tylko w pewnych okolicznościach, w przeciwnym wypadku działa normalnie nie wykazując żadnych luk bezpieczeństwa, przez co jest trudny do zdemaskowania.
Wirusy - fragment kodu osadzonego w poprawnym programie, którego celem jest sianie spustoszenia w systemie.
3. Omówić zagrożenia systemowe komputerów oraz sieci komputerowych.
Robaki - procesy używające mechanizmu rozmnażania do paraliżowania działania systemu.
Sprawdzanie portów - nie jest to atak, ale raczej środek dla włamywacza do wykrycia słabości systemu w celu przeprowadzenia ataku.
Odmowa świadczenia usług - przeciążenie systemu będącego celem ataku i uniemożliwienie mu wykonywania użytecznej pracy.
Rootkits - programy i pliki, które starają się ukryć swoją obecność w systemie.
Zapora ogniowa - jedno z rozwiązań służące do oddzielania systemów zaufanych od niegodnych zaufania.
4. Na czym polega uwierzytelnianie kryptograficzne? Omówić podstawowe algorytmy uwierzytelniania.
Uwierzytelnianie - ograniczanie zbioru potencjalnych nadawców komunikatów. Algorytm uwierzytelniania umożliwia odbiorcy komunikatu sprawdzenie, że komunikat został utworzony przez komputer posiadający pewien klucz. Występuje w dwóch odmianach.
Kod uwierzytelniający komunikatu - znajomość V(k) i S(k) jest równoważna - jedną funkcję można wyprowadzić z drugiej ! V(k) należy chronić tak jak się chroni S(k)!
Podpis cyfrowy - nie jest możliwe wyprowadzenie S(k) z V(k) za pomocą oblicze" - Vjest funkcją jednokierunkową, czyli V(k) nie musi być utrzymywana w sekrecie!
5.Na czym polega szyfrowanie? Omówić podstawowe algorytmy szyfrowania.
Szyfrowanie służy do ograniczania kręgu możliwych odbiorców komunikatów - zatem jest komplementarne do uwierzytelniania.
Algorytm szyfrowania umożliwia nadawcy komunikatu wymuszenie, że tylko komputer posiadający pewien klucz zdoła ten komunikat odczytać.
A. s. symetrycznego: funkcja E(k) może być wyprowadzona z D(k) i na odwrót ! tajność E(k) musi być tak samo chroniona jak tajność D(k)!
A. s. asymetrycznego lub szyfrowanie z kluczem publicznym: wyprowadzenie D(k) z E(k) jest obliczeniowo niewykonalne!
6.Jak najczęściej realizowane jest uwierzytelnianie użytkownika w systemach operacyjnych? Jakie są słabości haseł oraz metody ich ochrony?
Podstawowym problemem bezpieczeństwa w systemach operacyjnych jest uwierzytelnianie użytkownika. Najpopularniejszą metodą sprawdzania tożsamości użytkowników jest operowanie hasłami.
Słabości haseł:
Hasła mogą być łamane (odgadnięcie, przypadkowe lub celowe ujawnienie).
Intruz może odgadnąć hasło na podstawie pewnych informacji o użytkowniku lub metodą siłową przez sprawdzenie wszystkich możliwych kombinacji znaków.
Hasło może być ujawnione wskutek podglądania: zwykłego lub elektronicznego - monitory do „węszenia” haseł.
Ochrona przed łamaniem haseł:
Wymaganie dłuższych i trudniejszych do odgadnięcia haseł.
Wymuszanie zmian haseł w regularnych odstępach czasu.
Ograniczanie liczby błędnych prób dostępu oraz ich rejestrowanie.
Generowanie haseł przez system - zwykle trudniejsze do zapamiętania.
7.Omówić różne sposoby realizacji haseł jednorazowych oraz biometryczne metody uwierzytelniania.
Hasła dobrane parami - System przechowuje zbiór par haseł.
Hasła algorytmiczne: Jako hasło używany jest algorytm, np. funkcja całkowitoliczbowa.
Hasła algorytmiczne z tajemnicą: System i użytkownik dzielą tajemnicę, której nigdy nie przesyła się środkami komunikacji grożącymi ujawnieniem.
Biometria
Czytniki dłoni - porównują zapamiętane parametry (np. długość palców, rysunek dłoni) z tym co jest czytane z ich podkładek analizujących dłoń.
Czytniki odcisków palców - czytają wzory linii papilarnych palca umieszczonego na specjalnej podkładce i zamieniają je na sekwencję liczb, a następnie porównują tę sekwencję z zapamiętanym wzorcem.
Skanery siatkówki oka - duża precyzja identyfikacji, łatwość w użyciu.
8. Jakie mogą być rozwiązania zabezpieczające oraz metody wykrywania włamań i zapobiegania włamaniom w systemach komputerowych?
Śledzenie podejrzanych zachowań i próby wykrywania naruszenia bezpieczeństwa.
Prowadzenie dziennika kontroli: zapisywanie czasu, nazwy użytkownika i rodzajów wszystkich dostępów do obiektów.
Okresowe przeglądanie systemu pod kątem luk w bezpieczeństwie.
Wykrywanie włamań - dokładanie starań, aby usiłowane lub udane włamania do systemów komputerowych były wykrywane i aby odpowiednio na nie reagowano.
Wykrywanie oparte na sygnaturach - wejście do sytemu lub ruch w sieci bada się pod kątem występowania specyficznych wzorców zachowań o których wiadomo, że znamionują atak.
Wykrywanie anomalii - techniki, w których podejmuje się próby wykrycia nienormalnego zachowania w obrębie systemów komputerowych.
Do wykrywania włamań używają metod podobnych jak IDS, tzn. analizy sygnaturowej i wykrywania anomalii statystycznych.
IPS działają często jako rutery przepuszczając strumień danych aż do wykrycia ataku - wtedy przepływ danych jest blokowany.
9. Omówić klasyfikację poziomów bezpieczeństwa według Ministerstwa Obrony USA.
Ministerstwo Obrony USA wyróżniło cztery działy bezpieczeństwa systemów komputerowych:
Dział D - minimum bezpieczeństwa; systemy nie spełniające wymagań żadnej z innych klas, np. MS-DOS, Windows 3.1.
Dział C - wyższy stopień bezpieczeństwa -> dwa poziomy:
Klasa C1 - systemy, które zawierają środki kontroli umożliwiające użytkownikom ochronę informacji na tym samych poziomach uwrażliwienia.
Klasa C2 - posiada indywidualny poziom kontroli dostępu, administrator może śledzić wybiórczo działania dowolnego użytkownika lub grupy, TCB ochrania samą siebie przed modyfikacjami.
Dział B - wszystkie właściwości klasy C2, ponadto każdy obiekt może posiadać własną kategorię uwrażliwienia:
Klasa B1 - dla każdego obiektu w systemie TCB utrzymuje etykietę bezpieczeństwa;
Klasa B2 - etykiety uwrażliwienia przypisywane są wszystkim zasobom;
Klasa B3 - możliwość tworzenia list kontroli dostępów zabraniających dostępu do poszczególnych obiektów użytkownikom i grupom;
Dział A - najwyższy poziom bezpieczeństwa:
Klasa A1 - funkcjonalnie równoważna klasie B3, ale używa formalnej specyfikacji projektu oraz technik weryfikacji gwarantujących wysoki poziom zaufania co do poprawnej implementacji TCB.
System wykraczający poza klasę A1 może być projektowany i realizowany w warunkach gwarantujących bezpieczeństwo i przez zaufany personel.
10. Przedstawić model bezpieczeństwa systemu MS Windows XP.
Podstawą modelu bezpieczeństwa jest pojęcie konta użytkownika - każdy użytkownik ma jednoznaczny identyfikator bezpieczeństwa.
Podczas rejestrowania użytkownika system tworzy dla niego żeton dostępu bezpieczeństwa zawierający identyfikatory bezpieczeństwa.
Do zapewnienia bezpieczeństwa dostępu używa koncepcji dziedziny. W jej skład wchodzi żeton dostępu oraz wykonywany program.
Prosta dziedzina - typowy program użytkowy.
Dziedzina serwera - proces w postaci chronionego serwera.
Każdy obiekt ma atrybuty bezpieczeństwa zdefiniowane przez deskryptor bezpieczeństwa.
Obiekty sklasyfikowane są jako pojemniki i niepojemniki.
Obiekty pojemniki np. katalogi, mogą zawierać w sobie logicznie inne obiekty;
Obiekty niepojemniki - nie dziedziczą żadnych pozwoleń;