Na czym polega zjawisko interferencji procesów, kiedy może wystąpić, czy można go uniknąć.
Procesy interferują ze sobą jeżeli jeden proces ingeruje w środowisko drugiego np. jeden proces wpływa na drugi przez zmianę stanu części wspólnej ich środowiska np. obszaru pamięci.
Procesy P1 i P2 nie interferują jeżeli:
- są zależne
- nie są współbieżne
- korzystają z rozłącznych zasobów
Jeżeli nie ma interferencji proces jest zdeterminowany.
Podaj przykład zasobu niewywłaszczalnego, uzasadnij występowanie tej cechy, co wynika z faktu niewywłaszczalności.
Zasób niewywłaszczalny:
Jest to zasób dla którego nie jest możliwe utworzenie tzw. Symulatora zasobu ( Fantomu wg. Grzesia ), lub jeżeli jest to zbyt drogie (?). Przykładem takich zasobów mogą być modem lub drukarka.
Symulator zasobu (Fantom) - stan zasobu wykorzystywanego przez jakiś proces w momencie przekazywania zasobu innemu procesowi, tworzony w celu późniejszego odtworzenia stanu zasobu po zwróceniu zasobu pierwszemu procesowi.
Zasoby niewywłaszczalne mogą powodować zaistnienie blokady wzajemnej.
Wywłaszczenie procesu - odebranie procesowi jednostki centralnej i przydzielenie jej innemu procesowi.
Wykaż, że w przypadku stosowania hierarchizacji zasobów blokada wzajemna procesów nie może wystąpić.
Technika Havendera - hierarchii grupowej.
Każdemu zasobowi przyporządkowywana jest liczba całkowita i wymagane jest aby procesy zamawiały zasoby we wzrastającym porządku ich numeracji. Wówczas proces może zamówić zasób Zj jeśli nie posiada (lub zwolnił) zasoby Zi takie że i>=j. Zasoby powinny być uporządkowane zgodnie ze zwykłym porządkiem ich używania w systemie. Zasoby najcenniejsze powinny mieć największe numery. (Zgodnie z wykładami Grzesia G. porządek numeracji zasobów może być dowolny tzn. na początku najbardziej lub najmniej używane, ale preferuję się tą drugą metodę).
Co to jest semafor, podaj przykład zastosowania.
Semafor - jest jednym z mechanizmów wspomagających synchronizację i komunikację między procesami.
Jest to zmienna całkowita. Po nadaniu semaforowi wartości początkowej jedynymi dozwolonymi operacjami na nim są: V - przydział i P - zwolnienie. W danej chwili dostęp do semafora ma tylko jeden proces.
Semafory znajdują zastosowanie w rozwiązywaniu problemów sekcji krytycznej i innych problemów synchronizacji(np. wzajemnego wykluczania, problem konsumenta-producenta).
Semafory ustawia się w roli „strażników” przez zasobami niepodzielnymi. Mogą one być pomocne przy zapobieganiu blokadzie wzajemnej, ale same przed nią nie chronią.
Synchronizacja - pozwala na realizację kilku procesów na raz. Wprowadza zależności procesów przez korzystanie z semaforów.
Kiedy (w jakiej sytuacji) wykorzystuje się priorytet procesu w gospodarce czasem jednostki centralnej ?
Każdemu zadaniu przydziela się pewien priorytet, a procesor przydziela się procesowi o najwyższym priorytecie. Procesy o równych priorytetach obsługiwane są według regulaminu FCFS (pierwszy przyszedł pierwszy obsłużony).
Priorytety procesów stosuje się wtedy kiedy konieczne jest zróżnicowanie znaczenia poszczególnych procesów. Mają one zastosowanie w systemach czasu rzeczywistego.
Priorytety mogą być statyczne (nadane raz na zawsze przy starcie systemu) i dynamiczne (priorytety zmieniają się w czasie).
Kiedy wystąpi sytuacja braku strony (pamięć stronicowana), w jaki sposób zostanie wykryta, jakiej reakcji należy oczekiwać ?
Sytuacja braku strony występuje gdy adres wchodzi do układu dynamicznej translacji adresu (DTA) i okazuję się że żądanej strony nie ma. Następuje wtedy wygenerowanie przerwania „brak strony” ( niemożliwość odwzorowania nr ramki na nr strony ? ). Strona musi zostać sprowadzona z dysku do PaO. Na czas jej sprowadzania proces jest zawieszany niezależnie od priorytetu. Sprowadzając ramkę musimy zrobić jej miejsce usuwając inna z pamięci. Przy zwalnianiu ramki testujemy jej bit dostępu i zwalniamy ramkę z nieużywaną stroną. ( Jeśli nie ma wolnej ramki to najprawdopodobniej następuje wywłaszczanie zasobów jakiegoś innego procesu, ale pewne to nie jest).
Co to jest fragmentacja pamięci operacyjnej, kiedy może wystąpić ?
Fragmentacja pamięci operacyjnej:
zewnętrzna : sytuacja w której ilość wolnej pamięci w systemie jest mniejsza niż rozmiar maksymalnego bloku, który można przydzielić procesowi (w skutek czego nie jest możliwe uruchomienie procesu mimo iż całkowity rozmiar wolnej pamięci na to pozwala). Występuje ona wtedy gdy pamięć jest przydzielana i zwalniana procesom według potrzeb. Tworzy się wtedy wiele wolnych obszarów pamięci, które nie są spójne.
wewnętrzna : występuję przy używaniu stronicowania (pamięć przydzielana procesowi jest w stronach - proces może dostać tylko pamięć o wielkości równej całkowitej wielokrotności strony).
Co to jest kartoteka i jaką funkcję pełni w Systemie Zbiorów ?
Kartoteki plików stanowią logiczną organizacje plików na wszystkich urządzeniach, każda pozycja w katalogu plików opisuje logiczne własności pliku (ich ilość zależy od konkretnej implementacji): nazwa pliku, lokalizacja, rozmiar, ochrona, licznik użycia, czas, data.
Zaproponuj technikę gospodarki zasobami zapewniającą brak możliwości wystąpienia blokady wzajemnej procesów.
Metody zapobiegania wystąpieniu wzajemnej blokady procesów:
wszystko albo nic: proces musi zamówić wszystkie zasoby, z których będzie korzystał, zanim rozpocznie działanie. System operacyjny jeśli nie będzie mógł mu przydzielić wszystkich zasobów, to nie przydzieli żadnego
proces może zamówić zasoby tylko wówczas, gdy nie ma żadnych zasobów (zwolnił wszystkie, które posiadał)
gdy proces mający jakieś zasoby zgłasza zapotrzebowanie na inny zasób, który nie może być natychmiast przydzielony, wówczas dotychczasowe zasoby są zwalniane i dopisywane do listy zasobów na które proces oczekuje. Proces zostaje wznowiony gdy można mu przydzielić wszystkie zasoby, na które oczekuje.
jeśli proces zamawia jakieś zasoby, które nie są dostępne, to sprawdza się czy dane zasoby nie są przydzielone innemu procesowi, który czeka na dodatkowe zasoby. Jeśli tak, to odbiera mu się te zasoby i przydziela aktualnie zamawiającemu. Jeśli zasoby nie są przetrzymywane przez czekający proces, to proces zamawiający też musi czekać. Podczas czekania proces może utracić zasoby których ząda inny proces. Proces może być wznowiony gdy otrzyma zamawiane zasoby i zasoby utracone podczas oczekiwania.
Na czym polega składowanie zawartości systemu zbiorów, jakie strategie składowania się stosuje ?
Składowanie jest to kopiowanie danych z dysku na inny nośnik w celu zabezpieczenia się przed awarią sprzętu lub oprogramowania. Można składować wybrane pliki, katalogi lub całe dyski.
Strategie:
składowanie pełne
różnicowe
przyrostowe
Co to jest współbieżność, przez co jest ograniczana ?
Współbieżność jest to wykonywanie kilku procesów w tym samym czasie. W systemach obsługujących współbieżność pojawia się wiele nowych problemów takich jak:
podział czasu procesora dla różnych procesów
gospodarka zasobami (w celu uniknięcia interferencji)
ochrona procesów
unikanie blokady
Ograniczenia:
rozmiar pamięci (zbyt dużo uruchomionych procesów w zbyt małej ilości pamięci może spowodować że system będzie zużywał wiele czasu na wymianę stron z PaO do PaD przez co spadnie jego wydajność)
ilość zasobów (jeżeli procesy intensywnie wykorzystują zasoby to przy dużej ilości procesów może wystąpić zjawisko oczekiwania przez niektóre procesy na zasoby używane przez inne procesy co również prowadzi do spadku wydajności systemu)
Które ze zjawisk interferencja oraz blokada mogą wystąpić w systemie operacyjnym MS-DOS - uzasadnij i/lub podaj przykład ?
System MS-DOS ma ze współbieżnością wspólnego niewiele lub jeszcze mniej i z tego powodu zjawiska takie jak interferencja lub blokada wzajemna wystąpić nie mogą. (o ile mam rację).
Jakie warunki muszą być spełnione by współbieżne uruchomionie dwóch procesów obliczeniowych było niedopuszczalne (zabronione) ?
Jeżeli procesy są zależne to nie mogą być współbieżne. Możliwe, że chodzi tu również o niektóre strategie dostępu do zasobów. Przykładowo dla strategii wszystko albo nic, jeżeli procesy korzystają z tego samego niewywłaszczalnego zasobu (np. drukarka, modem itp.) nie mogą działać równolegle.
Co to jest zależność procesów, w jaki sposób się ją organizuje na poziomie systemu operacyjnego ?
Procesy zależne są to procesy, które nie są współbieżne. Proces P2 zależy od P1 jeśli P2 może zacząć się dopiero wtedy gdy P1 się skończy. Nie mam pojęcia jak jest to realizowane w systemie operacyjnym.
W jakim celu przeprowadza się defragmentację danych na dysku, na czym ona polega ?
Na czym polega ochrona danych przed nieuprawnionym użyciem, w jaki sposób się ją osiąga?
Ochrona dostępu do danych może polegać na ograniczeniu dostępu do zasobów dyskowych na podstawie identyfikatora użytkownika logującego się do systemu (oczywiście jedynie dla systemów pozwalających na rozróżnienie użytkowników z nich korzystających). Można wyróżnić dwie metody ograniczania dostępu do zasobów:
tzw. wykazy dostępów czyli po mojemu prawa na poziomie użytkowników (dla każdego z zasobów określamy listę użytkowników mających do nich dostęp wraz z ewentualnymi ograniczeniami)
tzw. dostępy grupowe czyli prawa na poziomie zasobów (np. w systemie UNIX dla każdego zasobu określono 3 klasy użytkowników (właściciel, grupa będąca właścicielem, cała reszta) i dla każdej z nich ustawiamy oddzielne prawa dostępu)
W jaki sposób można zmniejszyć czas wykonania sekwencji operacji dostępu do danych na dysku ?
Operacje wprowadzania danych na drukarkę są zwykle buforowane, dlaczego i w jaki sposób jest to realizowane?
Dzięki wydzieleniu pamięci bufora, który przechowuję dane gotowe do wysłania, urządzenie nie musi czekać na wyprodukowanie danych (pobiera dane z bufora), a proces może przekazywać dane do bufora mimo zajętości urządzenia. Dane mogą być wytwarzane asynchronicznie a bufor niweluje zmiany prędkości transmisji. Bufor może także dokonywać zmian typu urządzenia (ze znakowego na blokowe i odwrotnie) oraz dodawać sumy kontrolne.
Koszty buforowania:
czas tracony na wielokrotne kopiowanie
zajętość pamięci przez bufor
wrażliwość na awarie
W jaki sposób przebiega odwzorowanie nazwy zbioru w fizyczną lokalizację zbioru w Systemie Zbiorów (w dowolnym, wskazanym systemie operacyjnym) ?
W pozycjach kartoteki znajdują się nazwa pliku i informacje potrzebne do odwzorowania nazwy w położenie. Dla Unixa jest to numer i-węzła, który już zawiera tablicę bloków zajętych przez plik, a dla Dosa jest to numer pierwszego bloku pliku, a następnie bloki są znajdowane na podstawie tablicy FAT.
Zdefiniuj pojęcie przerwanie, w jaki sposób i w jakim zakresie reaguje na nie system operacyjny?
Przerwanie jest to operacja polegająca na zawieszeniu wykonywania bieżącego procesu, zapamiętaniu wszystkich informacji o stanie zawieszonego procesu i skok do programu obsługi przerwania na skutek pojawienia się sygnału zgłoszenia przerwania. Przerwania umożliwiają natychmiastową reakcję procesora na zaistnienie pewnego zdarzenia wymagającego natychmiastowej obsługi.
Klasyfikacja;
awarie sprzętu
we/wy
zewnętrzne
błędy programowe
usługi systemowe
Przedstaw koncepcję i mechanizm funkcjonowania skrzynek pocztowych, podaj przykład zastosowania tego mechanizmu.
Skrzynki pocztowe są zasobami tworzonymi na żądanie procesu. Służą do komunikacji między procesami, niwelują ograniczenia wspólnego środowiska procesów. Skrzynka musi znajdować się poza środowiskiem obu komunikujących się procesów. Dla każdej skrzynki pocztowej dostępne są następujące operacje:
SEND( adres id, *treść )
RECEIVE( adres id, bufor )
CREATE_MBOX( identyfikator, pojemność )
DESTROY( id )
TEST_MBOX( id )
Skrzynki mogą mieć kilka różnych rozmiarów:
zero : bezpośrednia komunikacja procesów ( tzw. skrzynka „rendez-vouz” ) - proces wysyłający czeka na odbiór danych przez proces odbierający
ograniczona: komunikacja działa, dopóki skrzynka nie jest zapełniona (może wystąpić przypadek, w którym w wyniku przepełnienia kasowane są najstarsze wiadomości)
nieograniczona
Aby zapobiec przetrzymywaniu w skrzynce wiadomości przeznaczonych dla nieistniejącego już procesu ustala się maksymalny czas życia komunikatów po którym są one kasowane.
Przy pomocy skrzynek pocztowych można, między innymi, zrealizować:
synchronizacje
kolejkowanie
Jakie cechy charakteryzują algorytm priorytetowy z priorytetami względnymi (bez wywłaszczania)?
Jest to najlepszy z algorytmów pod względem wydajności, opracowany najdawniej. Nie stosując wywłaszczenie zyskujemy na czasie, gdyż czas przełączania się między procesami z wywłaszczaniem jest większy niż bez wywłaszczania. Dodatkową korzyścią jest wyeliminowanie możliwości blokady wzajemnej. Opiera się na liście o elementach PCB (process control block). Zadania są wykonywane w kolejności umieszczenia w liście.
W danym momencie tylko dwa procesy mogą być „używane” przez pojedynczy CPU:
jeden liczony i jeden blokowany
dwa blokowane
Wymień wady i zalety stosowania techniki sekcji stałych w gospodarce pamięcią operacyjną.
Sekcje stałe. Są tworzone podczas inicjacji systemu operacyjnego, ma stałą długość a więc ich ilość w systemie jest stała, co ma bezpośredni wpływ na maksymalną ilość procesów obecnych w pamięci. Rozmiar największej sekcji ogranicza maksymalny rozmiar programu. Małe programy powodują fragmentacje wewnętrzną gdyż pozostała część przydzielonych im sekcji nie może być wykorzystana przez inne procesy.
Sekcje zmienne. Sekcje są tworzone na żądanie procesu z obszarów wolnych. System utrzymuje listy sekcji wolnych i zajętych (wolne sekcje przylegające są łączone w jedną) i przydziela je w miarę możliwości oczekującym procesom. Proces dostaje wiele sekcji składających się na całą potrzebną mu przestrzeń. Występuje tu fragmentacja zewnętrzna - proces nie dostaje ciągłego obszaru.
Są trzy algorytmy wyszukiwania i przydziału wolnych sekcji:
pierwszy pasujący - najszybszy
najlepszy pasujący (najmniejszy obszar pozwalający utworzyć sesję)
najgorszy pasujący (największy obszar wolny)
Sekcje ruchome. Wolny obszar zawsze jest jednolity, po zwolnieniu sekcji następne są „przesuwane”, co dodatkowo zajmuje czas.
Algorytm bliźniaków jest jedną z metod radzenia sobie z fragmentacją występującą przy sekcjonowaniu. Pamięć jest podzielona na obszary o długościach będących całkowitymi potęgami dwójki. Efektem jest łatwiejsze łączenie obszarów, bo ich początki znajdują się w znanych miejscach. Jest to sekcjonowanie „best fit” (?). Sekcje muszą być spisane w tablicy.
Na czym polega fragmentacja zbiorów w pamięci dyskowej, w wyniku czego się pojawia?
Fragmentacja zbiorów w pamięci dyskowej ma miejsce wtedy gdy jeden zbiór jest zapisany na dysku w postaci wielu kawałków (nie jest spójny). Ma ona miejsce w przypadku gdy wielokrotnie zapisujemy na dysk i usuwamy z niego pliki. Występowanie fragmentacji zbiorów może znacznie obniżyć wydajność całego systemu.
Kiedy może wystąpić blokada wzajemna procesów (WK), na czym to zjawisko polega?
Wzajemna blokada.
Blokada nastąpi w systemie gdy procesy czekają na przydzielenie zasobów, a czekając nie zwalniają już posiadanych.
Warunki konieczne wystąpienia blokady (warunki CES): (wersja grzesiowa, jest tez wersja z 4 warunkami o lekko odmiennej treści)
istnieją zasoby niewywłaszczalne ( co najmniej 2 ? )
proces który nie dysponuje pełnym środowiskiem jest zablokowany
zasób może być zwolniony tylko przez dysponenta
Muszą być spełnione wszystkie warunki jednocześnie.
Przedstaw ideę regulaminu cyklicznego, wielokolejkowego, co stanowi jego podstawową zaletę?
Rozdziela się kolejkę procesów na osobne kolejki wg jakichś ustalonych kryteriów. Procesy zostają na stałe przypisane do jednej z kolejek. Każda kolejka ma własny algorytm. Planowanie między kolejkami jest stało priorytetowe, wywłaszczające. Kolejka o wyższym priorytecie ma bezwzględne pierwszeństwo przed kolejką o niższym priorytecie. Gdy pierwsza kolejka jest pusta, to procesor dołączamy do drugiej kolejki dając jednocześnie większy kwant czasu. Z każdą kolejką kwant czasu dla procesu jest zwiększany. Jest on wstawiany do pewnego licznika, od którego odejmujemy impulsy zegara, a gdy okaże się, ze przewidziany czas na realizację procesu się skończył, a proces jeszcze nie, to proces jest odstawiany na koniec swojej kolejki.
Pamięć stronicowana - wyjaśnij koncepcję, przedstaw techniki gospodarki taką pamięcią.
Stronicowanie polega na podziale pamięci fizycznej na niewielkie bloki o stałej długości zwane stronami. Proces nie może wygenerować numeru ramki do której nie ma dostępu ponieważ nie dopuści do tego układ DTA (nie może dojść do interferencji). Ponadto dzięki DTA odległe obszary pamięci mogą być widziane jako sąsiednie. Występuje jedynie fragmentacja wewnętrzna - część ostatniej ramki przydzielonej dla procesu jest prawie zawsze niewykorzystana. jeśli układ DTA nie potrafi wykonać odwzorowania to patrz ad. 6.
Przedstaw ideę techniki odkurzacza przy obsłudze dostępów do dysku przez System Wejścia/Wyjścia.
Technika odkurzacza: ruch roboczy głowicy jest od małych do dużych adresów, a powrót błyskawiczny - dyski mają techniczną możliwość przesunięcia głowicy do miejsca parkowania.
Technika windy kiedy głowica idzie w kierunku rosnącym, zatrzymuje się na zebranych zgloszeniach az do ostatniego; potem przesuwa się w dół i też odczytuje zamówione dane
Na czym polega kompresja danych, w jakich sytuacjach się ją stosuje, jakie to daje zyski i jakim kosztem?
Rozróżnia się wiele różnych metod kompresji danych, można je podzielić na dwie grupy:
metody bezstratne, pozwalają na dokładne odtworzenie skompresowanej informacji
algorytmy słownikowe
algorytmy probabilistyczne (Huffmana, kompresja arytmetyczna)
z tych metod korzystają programy takie jak arj, pkzip
metody stratne, algorytmy te stosuje się głównie do kompresji obrazów, dźwięku, sekwencji wideo. Algorytmy te za cenę pewnej niedokładności dają o wiele większe współczynniki kompresji.
W różnych systemach operacyjnych również zaczęto wbudowywać programy pozwalające na kompresje „w locie” danych zapisywanych na dysk (doublespace, drivespace). Programy te przed zapisem informacji na dysk dokonują szybkiej i na ogół niezbyt wyrafinowanej kompresji przez co powiększają efektywną pojemność dysku, za cenę obniżenia ogólnej wydajności systemu.
Do czego stosuje się DHCP?
usługa wykorzystywana do dynamicznego przydzielania stacjom roboczym numerów IP
Co to jest strojenie systemu, kiedy i dlaczego się je przeprowadza?
W określonych okolicznościach na posiadanych sprzęcie trzeba tak ustawić parametry systemu (wielkość buforów, priorytety) aby były one optymalne według jakiegoś kryterium np. średniego lub maksymalnego czasu wykonywania jakichś zadań.