Wykladp, Administracja, Administracja, Administracja i samorząd, Polityka spoleczna, informatyka


System operacyjny jest programem, który działa jako pośrednik między użytkownikiem komputera a sprzętem komputerowym. Jego zadanie jest stworzenie środowiska, w którym użytkownik może wykonywać programy. Dzięki niemu system komputerowy ma być wygodny i efektywny.

Elementem systemu komputerowego są:

Historia systemów operacyjnych.

Na początku był sprzęt komputerowy:

Klasyfikacja systemów operacyjnych

Elementy funkcyjne systemu operacyjnego:

Zarządzanie procesami

Zarządzanie pamięcią operacyjną

Zarządzanie pamięcią pomocniczą

Zarządzanie systemem wejścia/wyjścia

Zarządzanie plikami

System ochrony

Interpretator poleceń

Funkcje systemowe tworzą interfejs między programem a systemem operacyjnym. Są wywołane w programie.

Przekazywanie parametrów odbywa się:

Klasy funkcji systemowych:

Nadzorowanie procesów

Operacje na plikach

Operacje na urządzeniach

Utrzymywanie informacji

Komunikacja

Kategorie programów, systemów

0x01 graphic

Warstwa jest implementacją abstrakcyjnego obiektu - wyizolowanym zbiorem danych i operacji, które mogą tymi danymi manipulować.

Każda warstwa może używać tylko warstw niższych poziomów.

PROCES to wykonywany program. Zwykle potrzebuje pewnych zasobów, takich jak;

Sam program jest obiektem pasywnym. Proces jest obiektem aktywnym.

0x01 graphic

Blok kontrolny procesu

Dlaczego procesy współbieżne?

0x01 graphic

Proces może tworzyć nowe procesy za pomocą funkcji systemowej. Proces tworzący nazywamy procesem macierzystym. Procesy utworzone nazywamy procesami potomnymi.

Zasoby procesu potomnego mogą:

UNIX

Proces w momencie zakończenie może przekazać dane do procesu macierzystego (również przez wywołanie funkcji systemowej).

Zakończenie kaskadowe - wszystkie procesy potomne są kończone, jeżeli kończy działanie proces macierzysty.

UNIX

Proces niezależny nie może wpływać na zachowanie innych procesów, ani inne procesy nie mogą oddziaływać na niego.

Właściwości:

Proces, który nie dzieli żadnych danych z żadnym innym procesem jest w istocie procesem niezależnym.

Proces współdziałający może wpływać na zachowanie innych procesów lub sam może ulegać wpływom innych procesów.

Właściwości:

Dowolny proces, który dzieli jakiejkolwiek dane z innymi procesami jest procesem współdziałającym.

Kryteria oceny algorytmów planowania

W systemach interakcyjnych może być pożądane minimalizowanie wariancji czasu odpowiedzi.

Metoda FCFS - pierwszy nadszedł, pierwszy obsłużony (First Come, First Served)

Metoda SJF - najpierw zadania najkrótsze (Shorted Job First). Pod uwagę brana jest długość najbliższej fazy procesora, oszacowana zwykle na podstawie faz poprzednich

Metoda priorytetowa - każdemu procesowi przypisuje się priorytet. Wybieranie wg wartości priorytetu.

Metoda rotacyjna - (Round Robin) cykliczny przydział określonego kwantu czasu.

Metody wielopoziomowe - kolejka procesów gotowych dzielona jest na kilka kolejek (np. pierwszo- i drugoplanowe). Każda kolejka ma swój algorytm planowania.

Planowanie międzykolejkowe ma zwykle charakter priorytetowy.

Stronicowanie jest również metodą walki z fragmentacją zewnętrzną. Dopuszcza ona nieciągłość obszaru pamięci procesów.

0x01 graphic


Rozmiar strony jest określany przez sprzęt.

Stronicowanie eliminuje fragmentację zewnętrzną. Natomiast pozostaje fragmentacja wewnętrzna. Im mniejsze strony tym będzie ona mniejsza. Zwiększa się jednak koszt związany z wpisem to tablicy stron.

Tablicę stron można zaimplementować jako zbiór rejestrów specjalnych (zwykle w ograniczonej treści). Duże tablice stron organizuje się w pamięci operacyjnej. Zwiększa to ilość kontaktów z pamięcią i opóźnia proces.....???

Współczynnik trafień - jest to procentowa ilość numerów stron odnajdywanych w rejestrach asocjacyjnych.

Efektywny czas dostępu:

Te = w(Ta+Td ) + (1-w)(2Td+Ta)

w - współczynnik trafień

Ta - czas przeglądanie pamięci asocjacyjnej

Td - czas dostępu do pamięci głównej

Współczynnik trafień zależy od ilości rejestrów. Przy 16÷5/2 rejestrach można osiągnąć współczynnik 80+90%.

Stronicowanie umożliwia dzielenie kodu przez kilka procesów. Musi to być tzw. kod czysty - wznawialny, czyli taki, który siebie nie modyfikuje. Tablicowanie stron poszczególnych procesów będą odwzorowywać adresy na tą samą ramkę (stronę fizyczną).

Ochrona odbywa się zwykle metodą klucza i zamka oraz przy pomocy odpowiednich bitów ochrony przypisanych do każdej ramki.

Pamięć wirtualna - jest techniką, która umożliwia wykonanie procesu bez potrzeby przetrzymywania go w całości w pamięci operacyjnej. Główne zalety:

Pamięć wirtualna może być zrealizowana w systemie segmentacji, stronicowanej segmentacji. Najczęściej wykorzystuje się stronicowanie na żądanie.

Procesy rezydują w pamięci pomocniczej. Ten, który ma być wykonywany zostaje wprowadzony do pamięci głównej, jednak nie cały, lecz niezbędne strony.

Procedura wymiany będzie operować wszystkimi, całymi procesami. Procedura zmieniania stron („pager”) zajmuje się poszczególnymi stronami procesu.

Każda pozycja w tablicy stron jest uzupełniana o bit poprawności odniesienia, określający czy strona znajduje się w pamięci głównej czy na dysku. Wykonanie procesu przebiega normalnie (tak jakby cały znajdował się w PAO) dopóki działa na stronach znajdujących się w PAO. Jeżeli proces próbuje użyć stronę nieobecną to musi ją ściągnąć do pamięci. Jeżeli zostanie ściągnięta zła strona to powstaje błąd strony i należy go skorygować:

  1. Sprawdzić tablicę stron procesu aby określić, czy odwołanie jest dozwolone.

  2. Jeżeli odwołanie jest niedozwolone to następuje koniec procesu. W przeciwnym przypadku należy sprawdzić stronę.

  3. Znaleźć wolną ramkę (stronę fizyczną)

  4. Zainicjować czytanie z dysku potrzebnej strony do ramki

  5. Zmodyfikować tablicę stron procesu.

W przypadku błędu strony występuje następujący ciąg zdarzeń:

  1. Pułapka w systemie operacyjnym

  2. Przechowywanie rejestrów użytkownika i stanu procesu

  3. Rozpoznanie, że przerwanie było spowodowane błędem strony

  4. Sprawdzenie dopuszczalności odwołania i określenie położenia strony na dysku

  5. Wydanie polecenia czytania do ramki: