scharakteryzować algorytm MIN stosowany podczas wymiany stron. (algorytm optymalny) zastąpienie strony, która najdłużej nie będzie używana. Wymaga wiedzy o przyszłej postaci ciągu odwołań. Używany jest w studiach porównawczych, przy ocenie innych algorytmów
scharakteryzować algorytm LRU stosowany podczas wymiany stron. zastępowanie stron najdłużej nieużywanych. Jest to postępowanie takie, jak w algorytmie optymalnym (MIN), ale wstecz. Wymaga wspomagania sprzętowego.
scharakteryzować podstawowe algorytmy przybliżające algorytm LRU. ‐ algorytm dodatkowych bitów odniesienia - w ustalonych odstępach czasu rejestruje się stan bitów odniesienia poszczególnych stron. Można w ten sposób tworzyć historię wykorzystania stron. ‐ algorytm drugiej szansy - po zrealizowaniu algorytmu FIFO sprawdza się dodatkowo bit odniesienia. Jeżeli jest on ustawiony, to jest zerowany i algorytm FIFO realizuje się powtórnie. Czas pobrania strony ustawiany jest na nowo. ‐ ulepszony algorytm drugiej szansy - ulepszenie polega na uwzględnieniu bitu modyfikacji. W celu redukcji kosztów unika się po prostu wymiany stron modyfikowanych, które muszą dodatkowo być zapisane na urządzeniu wymiany ‐ algorytm LFU - zastępowanie stron najmniej używanych. Prowadzony jest licznik odwołań do każdej strony. Algorytm dość kosztowny, słabo przybliżający algorytm optymalny. ‐ algorytm MFU - zastępowanie strony najczęściej wykorzystywanej. Uwagi jak wyżej. ‐ algorytmy ad hoc - wykorzystują pulę wolnych ramek (bufor ramek przed ich usunięciem) istniej możliwość szybkiego odzyskania ramek.
Na czym polega buforowanie? kanał komunikacyjny charakteryzuję się pewną pojemnością określającą ilość komunikatów, które mogą w nim czasowo przebywać
Na czym polega technika buforowania wielokrotnego?
Jądro próbuje minimalizował częstość operacji dyskowych przez utrzymywanie puli wewnętrznych buforów zawierających ostatnio używane bloki dyskowe, Bufor składa się z nagłówka i danych. Blok dyskowy może się równocześnie znajdował tylko w jednym buforze. Nagłówek bufora zawiera: - logiczny numer urządzenia (systemu plików) - numer bloku - wskaźnik do tablicy danych - pole stanu: bufor jest zablokowany, bufor zawiera aktualne dane, trzeba zapisał zawartość bufora na dysk przed przydzieleniem bufora dla innego bloku (opóźniony zapis), jądro właśnie czyta/pisze zawartość bufora, proces czeka na zwolnienie bufora- wskaźniki
Na czym polega zewnętrzna fragmentacja pamięci? suma wolnych obszarów w pamięci wystarcza na spełnienie żądania, lecz nie stanowi spójnego obszaru
Na czym polega wewnętrzna fragmentacja pamięci ? przydzielona pamięć może być nieco większa niż żądana. Różnica między tymi wielkościami znajduje się wewnątrz przydzielonego obszaru, lecz nie jest wykorzystywana
Jakie metody pozwalają rozwiązać problem fragmentacji zewnętrznej? Redukowanie fragmentacji zewn. Poprzez upakowanie
Jakie podstawowe funkcje systemowe umożliwiają operowanie łączami nienazwanymi ( pipe) w systemie operacyjnym UNIX?
pipe(deskryptor) - otwiera (podłącza do istniejącego deskryptora łącza) deskryptor[0] - do czytania, deskryptor[1] - do zapisu. Funkcje czytania/zapisu z pipe - read/write
Jakie są podstawowe właściwości łączy nienazwanych ( pipe) w systemie operacyjnym UNIX? ‐ są plikami specjalnymi, służącymi do komunikacji pomiędzy procesami ‐ mają kilka cech typowych dla plików zwykłych, czyli posiadają swój i‐węzeł, posiadają bloki z danymi, na otwartych łączach można wykonywać operacji odczytu i zapisu - tylko sekwencyjnie ‐ odczyt powoduje usunięcie danych ‐ nie mają dowiązania w systemie plików i nie można ich identyfikować przez nazwę ‐ istnieją tak długo, jak długo pozostają otwarte
w jaki sposób są implementowane łącza nienazwane ( pipe) w systemie operacyjnym UNIX?
Najprostsza z możliwych implantacja plikowa za pomocą specjalnych plików, służącymi do komunikacji między procesowej. Posiadają swój węzeł bloki z danymi (ograniczona ilość) na otwartych łączach można na nich dokonywać sekwencyjny zapis i odczyt.
Jakie podstawowe funkcje systemowe umożliwiają operowanie łączami nazwanymi (kolejkami FIFO) w systemie operacyjnym UNIX?
Otwarcie do odczytu/zapisu - fh = Open („\path”, O_RDONLY) / fh= Open („\path”, O_WRONLY) Czytanie read (fh, bufor,len); Zapis write(fh, bufor,len);
Jakie są podstawowe właściwości łączy nazwanych (kolejek FIFO) w systemie operacyjnym UNIX? ‐ są plikami specjalnymi, służącymi do komunikacji pomiędzy procesami ‐ mają kilka cech typowych dla plików zwykłych, czyli posiadają swój i‐węzeł, posiadają bloki z danymi, na otwartych łączach można wykonywać operacji odczytu i zapisu - tylko sekwencyjnie ‐ odczyt powoduje usunięcie danych ‐ mają dowiązania w systemie plików (plik w jakimś katalogu) i można je identyfikować przez nazwę ‐ po zamknięciu deskryptorów łącze nazwane dalej istnieje - dalej przydzielony jest jego i‐węzeł, natomiast zwalniane są wszystkie bloki dyskowe
scharakteryzować algorytm FIFO stosowany podczas wymiany stron. z każdą stroną jest skojarzony jej czas załadowania do pamięci. Do usunięcia wybiera się stronę „najstarszą”.
w jaki sposób są implementowane łącza nazwane (kolejki FIFO) w systemie operacyjnym UNIX?
Najprostsza z możliwych implantacja plikowa za pomocą zwykłych plików, służącymi do komunikacji między procesowej. Otwieranych w jednym procesie trybie zapisu a w drugim w trybie odczytu. Posiadają swój węzeł bloki z danymi (ograniczona ilość) na otwartych łączach można na nich dokonywać sekwencyjny zapis i odczyt.
Jakie podstawowe funkcje systemowe umożliwiają zarządzanie pamięcią dzieloną (IPC) w systemie operacyjnym UNIX?
To funkcje shmget, shmctl, shmat, shmdt.
czy mechanizm pamięci dzielonej (IPC) wyposażony jest w wewnętrzne mechanizmy synchronizacji dostępu? Tak, zawarte są one w funkcji shmget.
Kto ponosi odpowiedzialność za prawidłową organizację synchronizacji podczas komunikacji procesów poprzez pamięć dzieloną (IPC)? semafory i komunikaty.
Jakie podstawowe funkcje systemowe umożliwiają operowanie kolejkami komunikatów (IPC) w systemie operacyjnym UNIX?
msgget, msgctl, msgbuf, msgsnd, msgrcv
czy mechanizm kolejek komunikatów IPC wymaga zastosowania zewnętrznego w stosunku do kolejek mechanizmu synchronizacji dostępu?
TAK. Komunikat nie znika wraz zakończeniem procesu ale jest przechowywany przez jądro systemu.
Kto ponosi odpowiedzialność za prawidłową organizację synchronizacji podczas komunikacji procesów poprzez kolejki komunikatów IPC?
Komunikaty mogą być zapisywane do kolejki komunikatów przez wiele procesów jednocześnie, podobnie jak do kolejki FIFO, natomiast odczyt (również przez wiele procesów) musi odbywać się inaczej niż FIFO. Komunikaty odczytywane są według wartości typu komunikatu.
co oznacza skrót IPC?
Komunikacja między procesowa (Inter-Process Communication )
co to jest pamięć wirtualna? umożliwia wykonywanie procesów, pomimo, że nie są one w całości przechowywane w pamięci operacyjnej tylko w pamięci pomocniczej (pamięć masowa)
Na czym polega błąd strony w pamięci wirtualnej? w przypadku wystąpienia błędu braku strony, system : ‐ sprawdza, (w PCB) czy odwołanie było legalne (jeżeli nie, to zakończenie procesu) ‐ znajduje wolną ramkę ‐ sprowadza stronę z dysku do wyznaczonej ramki ‐ uaktualnia bit poprawności odniesienia („strona w pamięci”) ‐ restartuje instrukcję, która spowodowała błąd ‐ gdy nie ma wolnej ramki: wymiana stron (page replacement) - SO wybiera w pamięci stronę i usuwa ją na dysk
Kiedy jest realizowane zastępowanie stron w pamięci wirtualnej? w przypadku braku wolnej ramki, przed sprowadzeniem żądanej strony należy zwolnić dla niej ramkę.
Jakich planistów można wyróżnić w systemie operacyjnym i jakie funkcje realizują ? długoterminowy - wybiera, które procesy powinny zostać załadowane do kolejki procesów gotowych krótkoterminowy - wybiera proces, który zostanie wykonany jako następny i przydziela mu procesor szeregowanie średnioterminowe - wymiana (swapping) czyli masowe usuwanie zadania w całości z pamięci głównej do pomocniczej
Jaką rolę pełni w systemie operacyjnym proces planisty krótkoterminowego (ang. scheduler) i kiedy jest on aktywowany?
Wybiera spośród procesów gotowych i umieszczonych w pamięci jeden i przydziela mu procesor Decyzję podejmuje się gdy proces: 1. przechodzi ze stanu wykonywany do stanu oczekujący 2. przechodzi ze stanu wykonywany do stanu gotowy
3. przechodzi ze stanu oczekujący do stanu gotowy 4. kończy się
co oznacza termin "planowanie procesora" i jakie są podstawowe kryteria oceny algorytmów planowania procesora? Kryteria: ‐ wykorzystanie procesora - dąży się do tego, aby procesor był nieustannie zajęty pracą ‐ przepustowość ‐ jest to liczba procesów kończonych w jednostce czasu ‐ czas cyklu przetwarzania - jest to czas upływający między chwilą nadejścia procesu do systemu a chwilą jego zakończenia
‐ czas oczekiwania na przydzielenie procesora ‐ czas odpowiedzi - jest to czas upływający między przedłożeniem zamówienia a pojawieniem się pierwszej odpowiedzi (bez uwzględnienia czasu potrzebnego na jej wyprowadzenie)
co jest cechą charakterystyczną planowania przydziału procesora metodą priorytetów ? każdemu procesowi przypisuje się priorytet. Wybieranie wg wartości priorytetu Problem: zagłodzenie Rozwiązanie: wzrost priorytetu z upływem czasu (proces się starzeje.)
co jest cechą charakterystyczną planowania przydziału procesora metodą FcFs? Procesy są wykonywane w kolejności przybywania Pierwszy nadszedł - Pierwszy obsłużony First Come - First Saved, First In - First Out
co jest cechą charakterystyczną planowania przydziału procesora metodą SJF? Najpierw zadanie najkrótsze (Shortet Job First). Pod uwagę brana jest długość najbliższej fazy procesora, oszacowana zwykle na podstawie faz poprzednich.
co jest cechą charakterystyczną planowania przydziału procesora metodą rotacyjną ? (Round Robin) cykliczny przydział określonego kwantu czasu
Na czym polegają wielopoziomowe metody planowania procesora? Kolejka procesów gotowych dzielona jest na kilka kolejek (np. pierwszoplanowe i drugoplanowe). Każda kolejka ma swój algorytm planowania. Planowanie międzykolejkowe ma zwykle charakter priorytetowy.
Scharakteryzować metodę planowania procesora w systemie Linux (jądro 2.6). ‐ stosowany jest algorytm rotacyjny z wywłaszczaniem, oparty na priorytetach dynamicznych ‐ wyróżnia 140 poziomów priorytetu związanych z 3 klasami (politykami) szeregowania: SCHED_OTHER - polityka szeregowania zwykłych zadań SCHED_FIFO - polityka szeregowania zadań czasu rzeczywistego zgodnie z zasadą FIFO SCHED_RR - polityka szeregowania zadań czasu rzeczywistego w sposób rotacyjny ‐ większa wartość oznacza niższy priorytet ‐ brak okresowego przeliczania priorytetów - tylko po upływie kwantu czasu lub zablokowaniu procesu
Scharakteryzować metodę planowania procesora w systemach Windows XP/2003. ‐ szeregowaniu podlegają wątki, stanowiące obiekty w obrębie procesu ‐ stosowany jest algorytm rotacyjny z wywłaszczaniem, oparty na priorytetach dynamicznych ‐ wyróżnia się 32 poziomy priorytetu: 0 - bezczynność (poziom systemowy, niedostępny) 1 do 15 - priorytety dynamiczne 16 do 31 - priorytetu czasu rzeczywistego ‐ większa wartość (poziom) oznacza wyższy priorytet
co to jest plik? ‐ abstrakcyjny obraz informacji gromadzonej i udostępnianej przez system komputerowy ‐ podstawowa jednostka logiczna magazynowania informacji w systemie komputerowym, widoczna dla użytkownika ‐ nazwany zbiór powiązanych ze sobą informacji, zapisany w pamięci pomocniczej
co to jest system plików?
Metoda przechowywania plików, zarządzania plikami, informacjami o tych plikach, tak by dostęp do plików i danych w nich zgromadzonych był łatwy dla użytkownika systemu; także: wolumin.
co oznacza termin integralność systemu plików? W wyniku awarii systemu zawartość podręcznej pamięci buforowej może nie zostać zapisana na dysku lub może zostać zapisana tylko częściowo. Skutkiem w/w awarii może być pozostawienie systemu plików w stanie niespójnym. Większość systemów operacyjnych dostarcza odpowiednich narzędzi do sprawdzania integralności systemu plików, uruchamianie w ramach restartu systemu po awarii.
co oznacza termin semantyka spójności systemu plików? określa sposób postrzegania zmian zawartości pliku, dokonywanych przez współbieżnie działające procesy
Jakie podstawowe zadania spełnia system plików? ‐ przydział miejsca na dysku
‐ zarządzanie wolną przestrzenią ‐ implementacja katalogu ‐ przechowywanie podręczne ‐ integralność systemu plików ‐ semantyka spójności
co to jest katalog plików?
Katalog jest tablica kojarzącą nazwy plików z wisami katalogowymi
co to jest deskryptor pliku?
Jest to klucz do przechowywanej przez jądro struktury danych zawierającej informacje o wszystkich otwartych plikach. W POSIX ta struktura danych jest nazwana tablicą deskryptorów plików i jest odrębna dla każdego procesu. Aplikacja użytkownika przekazuje klucz do jądra za pomocą wywołania systemowego, a jądro zajmuje się w imieniu aplikacji operacjami związanymi z dostepem do pliku. Aplikacja nie może czytać z i pisać do tablicy deskryptorów plików bezpośrednio.
Jakie operacje wykonywane są przez funkcję systemową otwórz plik? ‐ odnalezienie adresu bloku dyskowego, zawierającego fragment pliku, którego odczytu zażądano ‐ skopiowanie zawartości tego bloku do bufora w pamięci podręcznej systemu plików (jeśli ten blok jeszcze się tam nie znajduje) ‐ skopiowanie żądanego fragmentu z bufora do przestrzeni adresowej procesu
Jakie są podstawowe metody dostępu do pliku? patrz pkt 131
scharakteryzować podstawowe metody dostępu do pliku. ‐ dostęp sekwencyjny - informacje w pliku przetwarzane są rekord po rekordzie, tzn. po wykonaniu operacji na określonym rekordzie system przygotowuje się do wykonania operacji na kolejnym rekordzie w pliku ‐ dostęp bezpośredni - swobodny - lokalizacja rekordu do przetwarzania podawana jest jako parametr odpowiedniej operacji ‐ dostęp indeksowy - rekord, na którym ma być wykonana operacja identyfikowany jest przez klucz, odwzorowywany na konkretny rekord w pliku stowarzyszonym poprzez plik indeksowy
Jakie elementy składają się na implementację systemu plików?
Przydziału miejsca na dysku, zarządzania wolną przestrzenia, implementacja katalogów, przechowywanie podręczne, integralności systemu plików, semantyka spójności
Jakie metody zarządzania wolnymi obszarami dyskowymi są stosowane w implementacjach systemów plików? ‐ wektor bitowy, lista powiązana, grupowanie, zliczanie
Jakie są podstawowe zadania pamięci podręcznej systemu plików?
Służy głownie do przechowywania najczęściej używanych bloków dyskowych - przyspieszając dostęp do nich. Najpierw przeszukiwana jest pamięć a następnie szukany jest dysk.
Na czym polega i jakie są właściwości ciągłego przydziału miejsca na dysku? cały plik zajmuje ciąg kolejnych bloków ‐ efektywność - minimalna ilość operacji dyskowych ‐ przydział określony za pomocą adresu początku i ilości bloków ‐ prosta implementacja dostępu sekwencyjnego i bezpośredniego ‐ trudno znaleźć miejsce na nowy plik ‐ trudno rozszerzać plik ‐ kompresja
Na czym polega i jakie są właściwości listowego przydziału miejsca na dysku? bloki listu tworzą listę powiązaną ‐ przydział określony za pomocą adresu pierwszego i ostatniego bloku ‐ łatwe tworzenie i rozszerzanie pliku, nie ma fragmentacji zewnętrznej ‐ niepotrzebna kompresja ani deklarowanie rozmiaru pliku ‐ dostęp praktycznie tylko sekwencyjny ‐ stosunkowo dużo miejsca zajmują wskaźniki ‐ mechanizm podatny na awarie
Na czym polega i jakie są właściwości indeksowego przydziału miejsca na dysku? bloki z danymi wskazywane są przez bloki indeksowe, które mogą być zorganizowane w schematy: listowy, wielopoziomowy, kombinowany; ‐ przydział określony za pomocą adresu bloku indeksowego ‐ pozycja o numerze i w tym bloku wskazuje i‐ty blok pliku
‐ prosta implementacja dostępu sekwencyjnego i bezpośredniego ‐
Na czym polega i jakie są właściwości metody wektora bitowego w zarządzaniu wolnymi obszarami dyskowymi? każdy blok reprezentowany przez jeden bit (0 ‐> blok wolny). Względnie szybko można odszukać n kolejnych bloków. Mało wydajne, gdy nie można przechowywać mapy w pamięci głównej.
Na czym polega i jakie są właściwości metody listy powiązanej w zarządzaniu wolnymi obszarami dyskowymi? każdy wolny blok zawiera wskaźnik do następnego wolnego bloku. Mało wydajna - aby przejrzeć listę, trzeba odczytać każdy blok
Na czym polega i jakie są właściwości metody grupowania w zarządzaniu wolnymi obszarami dyskowymi? np. UNIX przechowuje w superbloku n adresów wolnych bloków; n‐ty wolny blok zawiera kolejne n adresów itd.
Na czym polega i jakie są właściwości metody zliczania w zarządzaniu wolnymi obszarami dyskowymi? zamiast listy wolnych adresów dyskowych przechowuje się adres bloku i liczbę wolnych bloków, która występuje bezpośrednio za nim.
co to jest proces i jakie są jego podstawowe składowe? obiekt systemu oper. który wykonuje program i udostępnia mu środowisko wykonania. Na środowisko składa się przestrzeń adresowa i punkt sterowania. Proces jest elementarną jednostką pracy podlegającą szeregowaniu. Składowe: program, dane, zbiór zasobów tworzących środowisko wykonawcze, blok kontrolny procesu (PCB, deskryptor). A także: licznik programu, stos, sekcja danych
co oznacza termin: "procesy zorientowane na wejście/wyjście"? (ograniczane przez we/wy) spędzają więcej czasu wykonując wejście/wyjście niż obliczenia. Wiele krótkich odcinków czasu zapotrzebowania na procesor
co oznacza termin: "proces niezależny"? nie może wpływać na zachowanie innych procesów, ani inne procesy nie mogą oddziaływać na niego
Co oznacza termin: "proces współpracujący"? może wpływać na zachowanie innych procesów, lub sam może ulegać wpływom innych procesów
co oznacza termin: "procesy zorientowane na obliczenia"? (ograniczane przez procesor) spędzają więcej czasu wykonując obliczenia. Stosunkowo długie odcinki czasu zapotrzebowania na CPU
Na czym polega wzajemne wyłączanie procesów? w sekcji krytycznej działa tylko jeden proces
Na czym polega synchronizacja procesów? procesy wykonują się współbieżnie, nie korzystają ze wspólnych zasobów
Na czym polega komunikacja bezpośrednia pomiędzy procesami? procesy muszą się nawzajem jednoznacznie identyfikować (komunikaty send, receive)
Na czym polega komunikacja pośrednia pomiędzy procesami? komunikaty są kierowane i odbierane za pośrednictwem skrzynek pocztowych (mailboxes) lub inaczej portów: ‐ każda skrzynka ma unikalny identyfikator ‐ procesy mogą się komunikować tylko jeśli mają wspólną skrzynkę
co to jest sekcja krytyczna? problem sekcji krytycznej polega na skonstruowaniu protokołu, który mógłby posłużyć do organizowania współpracy procesów
Jakie są warunki rozwiązania problemu sekcji krytycznej? ‐ wzajemne wyłączanie - w sekcji krytycznej działa tylko jeden proces ‐ postęp - jeżeli żaden proces nie działa w sekcji krytycznej oraz istnieją procesy, które chcą do niej wejść, to tylko procesy nie wykonujące swoich reszt mogą kandydować do wejścia do sekcji krytycznej ‐ ograniczone czekanie - musi istnieć wartość graniczna liczby wejść innych procesów do sekcji krytycznych po tym, gdy dany proces zgłosił chęć wejścia do swojej sekcji krytycznej i zanim uzyskał zezwolenie
Jakie elementy adresowe należy określić w sposób jawny przy komunikacji bezpośredniej procesów ?
Elementy send (P,msg) i recive (Q,msg).
Jakie elementy adresowe należy określić w sposób jawny przy komunikacji pośredniej procesów ?
Elementy send (A,msg) i recive (A,msg).
Jak funkcję pełni w systemie operacyjnym proces dyspozytora ( ang. dipatcher) i kiedy jest on aktywowany?
Przekazuje procesor procesowi wybranemu przez proces szeregujący; obowiązki: przełączanie kontekstu; przełączenie do trybu użytkownika; wykonanie skoku do odpowiedniego adresu w programie użytkownika w celu wznowienia wykonania programu
Na czym polega wymiana procesów? na odsyłaniu procesu z pamięci głównej do pamięci pomocniczej i z powrotem w celu kontynuowania działania
Jaki jest cel stosowania wymiany procesów? proces o niższym priorytecie jest przemieszczany na dysk (do pamięci pomocniczej) po to, aby proces o wyższym priorytecie mógł być załadowany do pamięci i wykonany
w jakich podstawowych stanach może znajdować się proces ? nowy, wykonywany, oczekujący, gotowy, zakończony
co oznacza pojęcie zbioru roboczego procesu? (working‐set) - zbiór stron, które zostały zaadresowane w ciągu ostatnich Δ odniesień do pamięci (w tzw. oknie zbioru roboczego)
co to są semafory? zmienna całkowita S, na której oprócz nadania wartości początkowej, mogą być wykonane dwie operacje: ‐ operacja P (czekaj, wait) Jeżeli S>0 to S:=S‐1, w przeciwnym razie wstrzymaj działanie procesu wykonującego tę operację ‐ operacja V (sygnalizuj, signal) S:=S+1. Jeżeli są procesy wstrzymane w wyniku operacji P, to wznów jeden z nich Operacje P i V są operacjami atomowymi (niepodzielnymi)
Jakie funkcje systemowe umożliwiają operowanie semaforami w systemie operacyjnym UNIX?
semget - tworzy semafor lub podpina pod istniejący , semctl - ustawia semafor, semop - wykonuje operacje na semaforze. Może mieć dodatkowe parametry jak IPC_NOWAIT- nie czekaj na zakończenie operacji
Co to jest sygnał w systemie operacyjnym UNIX? zdarzenie generowane przez system (jądro) w odpowiedzi na powstanie pewnych okoliczności (niektóre błędy, nielegalne instrukcje, mogą być generowane przez powłokę, programy obsługi terminala)
Jakie podstawowe funkcje systemowe umożliwiają operowanie mechanizmem sygnałów w systemie operacyjnym UNIX?
#include <signal.h>
int (*signal (int sygnał, void (*funkcja) (int))) (int)
signal (SIGUSR1, SIG_IGN);
signal (SIGUSR1, SIG_DFL);
extern void obsługa();
if (signal (SIGINT, SIG_IGN) != SIG_IGN)
signal (SIGINT, obsługa);
Na czym polega ignorowanie i blokowanie sygnałów?
wybiera, które procesy powinny zostać załadowane do kolejki procesów gotowych
co to jest system operacyjny ? program, który pośredniczy między użytkownikiem a sprzętem komputerowym.
Co jest głównym zadaniem systemu operacyjnego ? stworzenie środowiska, w którym użytkownik może wykonywać programy lub zarządzanie zasobami systemu komp. I stworzenie użytkownikowi środowiska łatwiejszego do zrozumienia
Jakie elementy funkcjonalne można wyróżnić w systemie operacyjnym i jakie funkcje one realizują ? sprzęt - obejmuje podstawowe zasoby (procesor, pamięć, urządzenia we/wy), system operacyjny - zarządza i koordynuje wykorzystanie zasobów przez wiele programów użytkowych różnych użytkowników, programy użytkowe - kompilatory, edytory tekstu, inne programy narzędziowe, systemy baz danych, gry, programy biznesowe, użytkownicy - ludzie, maszyny, inne komputery
Na czym polega podział zasobów systemu?
Na: przydziale, planowaniu dostępu, ochronie i autoryzacji dostępu , odzyskiwaniu zasobów i rozliczaniu.
Jakie podstawowe zasoby znajdują się pod kontrolą systemu operacyjnego ? procesor, pamięć, urządzenia we/wy, informacja (system plików)
co to są systemy wsadowe?
System wsadowy - realizuje zadania w postaci gotowych dużych paczek - wsadów nawiesza wada brak pracy równoległej.
co to są systemy interaktywne? (interakcyjne) zapewniona jest bezpośrednia komunikacja (on‐line) między użytkownikiem a systemem, system musi być dostępny on‐line dla użytkowników potrzebujących dostępu do programów i danych
co to s systemy rozproszone? rozdzielenie obliczeń na wiele fizycznych maszyn,
co to jest struktura warstwowa systemu operacyjnego ?
Struktura warstwowa - każda warstwa spełnia funkcje zależne tylko od warstwy poniżej. Wszystkie warstwy są uprzywilejowane Struktura warstwowa systemu: poziom 5: programy użytkowników
poziom 4: buforowanie urządzeń wejścia-wyjścia; poziom 3: program obsługi konsoli operatora; poziom 2: zarządzanie pamięcią; poziom 1: planowanie przydziału procesora; poziom 0: sprzęt
co to są funkcje systemowe ? tworzą interfejs między programem a systemem operacyjnym. Są wywoływane w programie. Przekazywanie parametrów odbywa się: w rejestrach jednostki centralnej; w bloku pamięci, którego adres przekazywany jest w rejestrze jednostki centralnej; poprzez stos
czego dotyczą strategie rozmieszczania (ang. placement policies)? strategii wyboru wolnego obszaru: pierwszy pasujący (first fit), następny pasujący (next fit), najlepiej pasujący (Best fit), najgorzej pasujący (worst fit)
Na czym polega algorytm realizacji strategii rozmieszczania metod najlepszego dopasowania? przydziela się najmniejszy z dostatecznie dużych wolnych obszarów; wymaga przeszukania całej listy (o ile nie jest uporządkowana wg rozmiaru)
Na czym polega algorytm realizacji strategii rozmieszczania metod najgorszego dopasowania? przydziela się największy wolny obszar; wymaga przeszukania całej listy
Na czym polega algorytm realizacji strategii rozmieszczania metod pierwszego dopasowania? przydziela się pierwszy wolny obszar o wystarczającej wielkości
Na czym polega algorytm realizacji strategii rozmieszczania metod następnego dopasowania? szukanie rozpoczyna się od miejsca, w którym ostatnio zakończono szukanie; z reguły krótszy czas szukania
Na czym polega stronicowanie? ‐ pamięć fizyczna jest dzielona na bloki jednakowego rozmiaru zwane ramkami (rozmiar jest potęgą 2, zwykle między 0,5 KB a 8 KB) ‐ logiczna przestrzeń adresowa procesu jest podzielona na bloki zwane stronami ‐ strony przebywają w pamięci pomocniczej i są sprowadzane do pamięci głównej oraz umieszczane w wolnych ramkach
Jakie elementy wpływają na wydajność mechanizmu stronicowania na żądanie? p = współczynnik błędów braku strony 0≤p≤1.0 p = 0 → nie ma błędów braku strony p = 1 → każde odwołanie powoduje błąd braku strony e = efektywny czas dostępu
d = czas dostępu do pamięci s = czas obsługi błędu braku strony i = czas obsługi przerwania w = czas wysłania strony na dysk z = czas sprowadzenia strony z dysku c = czas wznowienia obliczeń e = (1 - p) × d + p × s s = i + [w] + z + c
Jakie są podstawowe strategie szeregowania dostępu do dysku? FCFS, SSTF, SCAN, C‐SCAN, LOOK, C‐LOOK
Na czym polega i jakie są właściwości metody FCFS szeregowania da dostępu do dysku? obsługa w kolejności przybywania żądań ‐ prosta implementacja ‐ sprawiedliwa (brak głodzenia) ‐ akceptowalna przy małym obciążeniu; przy dużym daje długi średni czas obsługi, choć małą wariancję
Na czym polega i jakie s właściwości metody SSTF szeregowania da dostępu do dysku? do obsługi wybiera żądanie z najmniejszym czasem przeszukiwania względem bieżącej pozycji głowicy ‐ przepustowość lepsza niż przy FCFS; średni czas obsługi krótszy dla średniego obciążenia, ale wariancja większa ‐ nie jest optymalny ‐ możliwe zagłodzenie; skrajne ścieżki są dyskryminowane ‐ akceptowalny w systemach wsadowych, ale nie akceptowalny w systemach interakcyjnych
Na czym polega i jakie są właściwości metody SCAN szeregowania dostępu do dysku? głowica startuje od jednego końca dysku i przemieszcza się w kierunku przeciwnego, obsługując żądania do mijanych ścieżek, aż dotrze do drugiego końca. Wówczas zmienia kierunek ruchu. ‐ mniejsza wariancja niż dla SSTF ‐ z chwilą gdy głowica zmienia kierunek, tuż przed głowicą będzie stosunkowo mało żądań do obsłużenia ‐ najczęściej spotykana w praktyce strategia ‐ dobra z punktu widzenia trzech miar (przepustowość, średni czas obsługi, wariancja czasu obsługi), choć skrajne ścieżki nadal nieco dyskryminowane
Na czym polega i jakie są właściwości metody C‐SCAN szeregowania dostępu do dysku? jak SCAN, ale żądania są obsługiwane tylko podczas ruchu głowicy w jednym kierunku (dysk traktowany jak powierzchnia cykliczna) ‐ mniejsza wariancja czasu oczekiwania ‐ żadne ścieżki nie są dyskryminowane ‐ badania symulacyjne wykazały, że najlepiej połączyć SCAN (przy małym obciążeniu) z C‐SCAN (przy dużym obciążeniu)
Na czym polega upakowanie pamięci? przemieszczenie całej wolnej pamięci do jednego bloku;
Kiedy możliwa jest realizacja upakowania ? możliwe tylko w przypadku, gdy adresy są wiązane w czasie wykonania; upakowanie a operacje wejścia/wyjścia - blokowanie procesów oczekujących na zakończenie transmisji - transmisja tylko do buforów SO
co to s wątki? obiekt w obrębie procesu ciężkiego, posiadający własne sterowanie i współdzielący z innymi wątkami tego procesu przydzielone (procesowi) zasoby: przestrzeń adresową (segment kodu i danych); zasoby systemowe (tablica otwartych plików i sygnałów)
w jaki sposób mogą być realizowane wątki w systemie operacyjnym? ‐ w przestrzeni użytkownika - dobra wydajność, możliwość stosowania różnych algorytmów planowania, kłopotliwa realizacja blokowanych odwołań do systemu; ‐ w przestrzeni jądra gorsza wydajność, niepotrzebny system wykonawczy, implementacja nie wymaga „sztuczek”; ‐ podejście hybrydowe (np. Solaris)
Jakie funkcje umożliwiają operowanie wątkami w systemie UNIX? pthread_create - tworzenie wątku pthread_join - oczekiwanie na koniec wątku pthread_self - pobranie identyfikatora wątku pthread_detach - odłączenie wątku pthread_exit - zakończenie wątku
Na czym polega zakleszczenie procesów (ang. deadlock)? Zbiór procesów jest w stanie zakleszczenia, jeżeli każdy z nich czeka na zdarzenie, które może zostać spowodowane wyłącznie przez jakiś inny proces z tego zbioru, np.: ‐ zwolnienie zasobu, podniesienie semafora, zwolnienie zamka
Jakie są warunki konieczne wystąpienia zakleszczenia procesów? ‐ wzajemne wyłączanie - przynajmniej 1 zasób jest niepodzielny, tzn. że zasobu może używać w danej chwili tylko jeden proces. Następny zamawiający zostanie opóźniony ‐ przetrzymywanie i oczekiwanie - musi istnieć proces mający przydzielony jakiś zasób i oczekujący na zasób, który jest przetrzymywany przez inny porces ‐ brak wywłaszczeń - zasoby nie podlegają wywłaszczaniu, tzn. mogą być zwalniane tylko z inicjatywy przetrzymującego je porcesu ‐ czekanie cykliczne - musi istnieć zbiór czekających procesów {P0, …, Pk} takich, że P0 czeka na zasób przetrzymywany przez P1, P1 na zasób przetrzymywany przez P2, … Pk czeka na zasób przetrzymywany przez P0 WATUNKI TE MUSZĄ BYĆ SPEŁNIONE JEDNOCZEŚNIE
Jakie informacje są niezbędne aby można było stosować algorytmy unikania zakleszczeń procesów? Metoda ta wymaga dodatkowej informacji o tym, jak będzie następowało zamawianie zasobów. System bierze pod uwagę zasoby bieżąco dostępne, zasoby przydzielone każdemu z procesów oraz przyszłe zamówienia i zwolnienia. Algorytm unikania zakleszczenia dynamicznie sprawdza stan przydziału zasobów, aby zagwarantować, że nie dojdzie do spełnienia warunków czekania cyklicznego
Kiedy w systemie potrzebna jest procedura wykrywania zakleszczeń procesów?
Jeżeli w systemie nie stosuje się algorytmów zapobiegania ani unikania zakleszczeń, czyli zezwala się na zaistnienie zakleszczenia, to powinny funkcjonować
Jaki model systemu jest wykorzystywany dla potrzeb analizy zakleszczenia procesów?
System składa się z zasobów typu Z1, Z2, . . ., Zm (np. cykle procesora, przestrzeń adresowa pamięci, urządzenia WE/WY)
-Każdy zasób typu Zi ma Wi egzemplarzy.
-O zasoby rywalizują procesy ze zbioru P1, P2, ..., Pn
-Z punktu widzenia problemu zakleszczenia, zasoby można sklasyfikować następująco :
-zasoby odzyskiwalne (zwrotne, trwałe)
-zasoby nieodzyskiwalne (zużywalne, niezwrotne)
Jakie działania są zwykle realizowane podczas wychodzenia ze stanu zakleszczenia?
-Wychodzenie przez usuwanie procesów powoduje odzyskanie wszystkich zasobów przydzielonych usuwanym procesom.
-Wychodzenie przez wywłaszczanie polega na stopniowym odbieraniu zasobów jednym procesom i przydzielaniu innym, aż pętla zakleszczenia zostanie przerwana.
-Problemy:
-wybór ofiary,
-wycofanie i wznowienie procesu,
-głodzenie procesów.
Jakie są podstawowe cechy metody ciągłej alokacji pamięci? ‐ przydział pojedynczego obszaru dla procesu ‐ pamięć podzielona na dwa obszary: dla rezydującego systemu operacyjnego i dla użytkownika ‐ do ochrony i dynamicznej translacji adresów logicznych na fizyczne służą rejestry: bazowy (relokacji) i graniczny Przydzielanie obszarów dla kolejnych procesów ‐ dziura - blok dostępnej pamięci; dziury różnych rozmiarów są rozproszone w całej pamięci - fragmentacja ‐ gdy przybywa proces z zapotrzebowaniem na pamięć, poszukuje się dla niego wystarczająco pojemnej dziury i przydziela się pamięć w niezbędnej ilości ‐ system operacyjny utrzymuje informacje o: obszarach przydzielonych; obszarach wolnych (dziurach)
Na czym polega anomalia Belady'ego? współczynnik błędu może strony wzrastać ze wzrostem ilości wolnych ramek (przy algorytmie FIFO)
Co oznacza termin "dynamiczne łączenie"? łączenie opóźniane do czasu wykonania; cecha ta dotyczy zazwyczaj bibliotek systemowych (dynamic linked libraries)
Co oznacza termin "dynamiczne ładowanie"? podprogram jest wprowadzany do pamięci dopóty, dopóki nie zostanie wywołany
Na czym polega głodzenie procesów? na nieskończonym wstrzymywaniu procesów - procesy o niskich priorytetach mogą oczekiwać w nieskończoność
Omówić procedurę konstruowania grafu przydziału zasobów. ‐ w wyniku zamówienia jednostki zasobu Zj przez proces Pi w grafie pojawia się krawędź zamówienia Pi ‐> Zj. ‐ realizacja zamówienia może nastąpić wówczas, gdy są wolne jednostki żądanego zasobu, a jej wynikiem jest zmiana kierunku krawędzi żądania, tym samym zamiana na krawędź Zj ‐> Pi. ‐ w wyniku zwolnienia jednostka zasobu jest odzyskiwana przez system a krawędź przydziału znika.
Jakie elementy występują w hierarchicznym modelu pamięci? pamięć I rzędu (primary): ‐ rejestry; pamięć podręczna; pamięć główna; pamięć II rzędu (secondary): dysk magnetyczny; taśma | dysk optyczny i inne
co to jest jednostka zarządzania pamięcią i jakie funkcje realizuje? (MMU) - jest to urządzenie sprzętowe, które przekształca adresy logiczne (wirtualne) na adresy fizyczne ‐ w najprostszym schemacie zarządzania z jednostką MMU, wartość rejestru relokacji jest dodawana do każdego adresu generowanego przez proces użytkownika ‐ program użytkownika operuje adresami logicznymi; program użytkownika nigdy nie „widzi” rzeczywistych adresów fizycznych
Co to jest język sterowania pracami? Jest to język jaki wykorzystuje dane urządzenie
Jakie metody są stosowane w implementacjach katalogów? lista liniowa, tablica haszowa, struktura indeksowa
co to jest maszyna wirtualna? koncepcja maszyny wirtualnej jest logicznym skutkiem podejścia warstwowego. Traktuje ona sprzęt i jądro systemu operacyjnego tak, jakby stanowiły ten sam poziom (sprzętowy)
Co oznacza termin "nakładkowanie"? przechowywanie w pamięci tylko tych instrukcji i danych, które są niezbędne w danym czasie
Na czym polega ochrona pamięci przy użyciu rejestru bazowego i granicznego?
Rejestr bazowy (relokacji) i graniczny służą do ochrony oraz do dynamicznej translacji adresów logicznych na fizyczne Np. IBM PC: BIOS (programy sterujące urządzeń) w ROMie (górne adresy), SO w RAMie (dolne adresy)
co oznacza paradygmat "producent‐konsument"? proces producent wytwarza informację dla procesu konsumenta: ‐ nieograniczony bufor - dysponujemy buforem, którego rozmiar praktycznie nie jest ograniczony ‐ ograniczony bufor - zakładamy określony, stały, ograniczony rozmiar bufora (konsument musi czekać, jeżeli wszystkie bufory są puste; producent musi czekać, jeżeli wszystkie bufory są pełne
Na czym polega metoda podziału czasu ? procesor wykonuje na przemian wiele różnych zadań, przy czym przełączenia następują tak często, że użytkownicy mogą współdziałać z programem podczas jego wykonania
Na czym polega przełączanie kontekstu? przełączanie procesora do innego procesu wymaga przechowania stanu starego procesu i załadowania przechowywanego stanu nowego procesu
co to jest przestrzeń adresowa i jakie jej rodzaje wyróżniamy? To zbiór wszystkich dopuszczalnych adresów w pamięci; ‐ przestrzeń fizyczna - zbiór adresów (fizycznych) przekazywanych do układów pamięci głównej (fizycznej) ‐ przestrzeń logiczna - zbiór adresów (logicznych, wirtualnych) generowanych przez procesor w kontekście aktualnie wykonywanego programu ‐ adresy logiczne i fizyczne są: takie same - gdy adresy wiąże się w czasie kompilacji i ładowania różne - gdy adresy wiąże się w czasie wykonania
Na czym polega segmentacja? na podzieleniu pamięci programu na segmenty: program główny; procedura, funkcja; stos; tablica symboli i inne tablice; zmienne lokalne i globalne;
określić semantykę parametrów funkcji main w języku c.
. main (int argc, char *argv[], char *envp[]) int argc - liczba napisów będących argumentami char *argv[] - tablica wskaźników do napisów char *envp[] - tablica wskaźników do napisów określających zmienne środowiskowe
co oznacza termin wiązanie adresów i kiedy jest ono realizowane? (konsolidacja) - wiązanie instrukcji i danych z adresami w pamięci może się odbywać w czasie: ‐ kompilacji: jeśli są znane a priori adresy w pamięci, to generuje się kod absolutny; zmiana położenia kodu w pamięci wymaga jego rekompilacji; ‐ ładowania: kompilator powinien generować kod przemieszczalny; ‐ wykonania: jeśli proces może się przemieszczać w pamięci podczas wykonania, to trzeba wiązać adresy dynamicznie; wymaga specjalnego sprzętu;
Na czym polega współbieżność ? proces potomny i macierzysty wykonują zadania w tym samym czasie
co to są zamki i zmienne warunkowe? ‐ zamek (mutex) - mechanizm wzajemnego wykluczania (MUTual EXclusion) służący do chronienia danych wspólnych dla wątków przed jednoczesnymi modyfikacjami i stosowany do implementacji sekcji krytycznych i monitorów ‐ zmienna warunkowa (condition variables) - mechanizm synchronizacji umożliwiający zawieszenie działania i zwolnienie procesora do momentu, w którym zostanie spełniony warunek