SO-Odp, WSTI Pawia 55, Semestr 4, dr inż. Zbigniew Suski


1. Co to jest system operacyjny ? Jest to program, który pośredniczy pomiędzy użytkownikiem a sprzętem. Jego zadaniem jest stworzenie środowiska w którym użytkownik może wykonywać programy,.

2. Co jest głównym zadaniem systemu operacyjnego ? Zarządza i koordynuje wykorzystanie zasobów przez wiele programów użytkowych różnych użytkowników

3. Jakie elementy funkcjonalne można wyróżnić w systemie operacyjnym i jakie funkcje one realizują? Zażądanie: procesorem, -ami na poziomie zadań i procesów, pamięcią operacyjną ,podręczną, systemem we/wy, systemem informacją (plikami), ochrona i interpretacją poleceń. zarządzanie procesorem - zarządzanie pamięcią operacyjną zarządzanie pamięcią pomocniczą - sterowanie sys. we/wy system plików - system ochrony interpreter poleceń

4. Na czym polega podział zasobów systemu? Na: przydziale, planowaniu dostępu, ochronie i autoryzacji dostępu , odzyskiwaniu zasobów i rozliczaniu.

5. Jakie podstawowe zasoby znajdują się pod kontrolą systemu operacyjnego ? Procesor, Pamięć, urządzenia we-wy, informacje (system plików)

6. Co to jest maszyna wirtualna? W podejściu warstwowym do systemów operacyjnych - jest system operacyjny dla innych systemów operacyjnych. Daje poczucie systemom że są izolowane. Każdy proces otrzymuje (wirtualną) kopię komputera będącego podstawą systemu; każda wirtualna maszyna jest identyczna z rzeczywistym sprzętem, więc każda może wykonywać dowolny system operacyjny; np. VM dla dużych komputerów firmy IBM

7. Co to są systemy wsadowe? System wsadowy - realizuje zadania w postaci gotowych dużych paczek - wsadów nawiesza wada brak pracy równoległej.

8. Co to są systemy interaktywne? System jest (musi być) dostępny on-line dla użytkownika realizując jego zlecenia dostępu do danych lub programów.

9. Co to są systemy rozproszone? Rozłożone na wiele maszyn obliczenia realizowane przez wiele fizycznych maszyn lub wiele procesorów. Realizowane z wykorzystanie zazwyczaj WAN lub LAN. Najczęściej w architekturze klient-server i peer-to peer

10. Co to jest struktura warstwowa systemu operacyjnego? Struktura warstwowa - każda warstwa spełnia funkcje zależne tylko od warstwy poniżej (T.H.E., RC-4000, VMS); w Multicsie odmiana struktury warstwowej - zespół koncentrycznych pierścieni. Makrojądro - wszystkie warstwy są uprzywilejowane Struktura warstwowa systemu T.H.E.; 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

11. Co to jest język sterowania pracami? Jest to język jaki wykorzystuje dane urządzenie do sterowania zadaniami, np. język wysokiego poziomu lub asembler.

12. Na czym polega współbieżność? Polega na jednoczesnym istnieniu i działaniu np. kilku procesów w celu przyśpieszenia pracy i poprawienia wydajności wykonywanych zadań.

13. Na czym polega metoda podziału czasu ? Polega na odpowiednim podzieleniu zadań (procesów), w zależności od ich zapotrzebowania na czas potrzebny do wykonania zadania.

14. Co to jest proces i jakie są jego podstawowe składowe Proces to wykonujący się program. Pełni on rolę podstawowej jednostki pracy systemu operacyjnego. Proces zawsze wykonuje się w swoim kontekście. Jeśli proces wywoła funkcję systemową, to kod jądra realizujący tę funkcję również wykona się w kontekście bieżącego procesu. Procesor przerywa wykonywanie kodu bieżącego procesu w sytuacji, gdy: a. wystąpi przerwanie z czasomierza informujące o wykorzystaniu przydzielonego kwantu czasu procesora, b. wystąpi dowolne przerwanie sprzętowe lub programowe (pułapka), c. proces wywoła funkcję systemową.

15. W jakich podstawowych stanach może znajdować się proces ? Nowy, gotowy, wykonywany, oczekujący, zakończony

16. Jakich planistów można wyróżnić w systemie operacyjnym i jakie funkcje realizują? planowanie długoterminowe (planowanie zadań), planowanie krótkoterminowe (planowanie przydziału procesora), planowanie średnioterminowe (wymiana procesów). Planowanie długoterminowe polega na wyborze procesów do wykonania i załadowaniu ich do pamięci. Stosowane jest przede wszystkim w systemach wsadowych do nadzorowania stopnia wieloprogramowości. W systemach wielozadaniowych (z podziałem czasu) w zasadzie nie jest stosowane. Planowanie krótkoterminowe polega na wyborze jednego procesu z kolejki procesów gotowych do wykonania i przydzieleniu mu dostępu do procesora. Ten typ planowania dominuje w systemach z podziałem czasu, takich jak Unix, Linux, Windows NT. Planowanie średnioterminowe polega na okresowej wymianie procesów pomiędzy pamięcią operacyjną i pomocniczą, umożliwiając w ten sposób czasowe zmniejszenie stopnia wieloprogramowości. Stanowi pośredni etap w planowaniu procesów, często stosowany w systemach wielozadaniowych.

17. Co oznacza termin: „procesy zorientowane na wejście/wyjście"? Spędzają więcej czasu na operacjach wejścia-wyjścia niż na obliczeniach , wiele krótkich odcinków czasu zapotrzebowania na procesor.

18. Co oznacza termin: „procesy zorientowane na obliczenia"? Spędzają więcej czasu na obliczeniach , wiele stosunkowo długie odcinki czasu zapotrzebowania na procesor.

19. Na czym polega przełączanie kontekstu? Na zapamiętaniu stanu starego procesu i załadowania stanu nowego procesu.

20. 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

21. Co to są funkcje systemowe ? Są to funkcje tworzące interfejs między programem, a systemem operacyjnym.

22. W jaki sposób powoływane są w systemie operacyjnym UNIX nowe procesy? Proces macierzysty tworzy procesy potomne, które z kolei tworzą inne procesy; powstaje w ten sposób drzewo procesów. Współdzielenie zasobów: proces potomny i macierzysty współdzielą wszystkie zasoby; potomkowie dzielą część zasobów przodka; przodek i potomkowie nie dzielą żadnych zasobów Wykonanie: współbieżnie lub przodek czeka na zakończenie potomków Przestrzeń adresowa: potomek jest kopią przodka lub potomek ładuje nowy program Unix: fork, exec

23. Jakie podstawowe informacje zawiera blok kontrolny procesu nazywany również deskryptorem procesu? (PCB) zawiera informacje związane z procesem: stan procesu · licznik rozkazów ;rejestry procesora; informacje o szeregowaniu przez procesor; informacje o pamięci zajętej przez proces; informacje rozliczeniowe; informacje o stanie wejścia-wyjścia

24. Jakie elementy tworzą kontekst procesu? Kontekst procesu obejmuje zawartość logicznej przestrzeni adresowej procesu, rejestrów sprzętowych oraz struktur danych jądra związanych z procesem. W systemach Unix i Linux można wyróżnić trzy poziomy kontekstu: - kontekst poziomu użytkownika, na który składa się: a. obszar kodu (instrukcji), b. obszar danych, c. obszar stosu, d. obszary pamięci dzielonej, - kontekst poziomu rejestru zawierający: e. licznik rozkazów, f. rejestr stanu procesora, g. wskaźnik stosu, h. rejestry ogólnego przeznaczenia, - kontekst poziomu jądra zawierający: i. struktury danych jądra opisujące proces, stos jądra.

25. Jaki jest podstawowy element różniący w zakresie wartości kontekst procesu potomnego powołanego funkcja fork od kontekstu jego procesu macierzystego

26. Czy proces macierzysty i potomny współdzielą pewne obszar pamięci? Wątki dzielą dostęp do wszystkich danych z wyjątkiem licznika rozkazów, rejestrów procesora i stosu. Dzięki temu tworzenie i przełączanie wątków odbywa się znacznie szybciej niż tworzenie i przełączanie kontekstu procesów tradycyjnych. Mcierzystym współ dzieli z innymi wątkami :przestrzeń adresową, zasoby systemowe - otwarte pliki, sygnały

27. Co to są wątki? Wątek jest obiektem w procesie „cieżkim” - macierzystym współdzieli z innymi wątkami :przestrzeń adresową, zasoby systemowe - otwarte pliki, sygnały. Ma niezależne : liczniki rozkazów, zbiory rejestrów stos, stan, wątki potomne.

28. W jaki sposób mogą być realizowane wątki w systemie operacyjnym ? Istnieją trzy modele implementacji wątków: a. wątki poziomu użytkownika, b. wątki poziomu jądra, c. wątki mieszane, tworzące dwupoziomowy system wątków. d. Wątki użytkownika realizowane są przez funkcje biblioteczne w ramach procesu i nie są widoczne dla jądra. Jądro systemu obsługuje tylko tradycyjne procesy. Przełączanie kontekstu między wątkami powinno być zrealizowane w procesie. e. Wątki jądra, zwane również procesami lekkimi, realizowane są przez jądro systemu. Jądro zajmuje się planowaniem wątków i przełączaniem kontekstu podobnie jak dla procesów tradycyjnych. Wątki mieszane łączą cechy obydwu realizacji. Jądro zarządza wątkami jądra, które zawierają w sobie wątki użytkownika.

29. W jaki sposób mogą być realizowane wątki w systemie operacyjnym? Jakie funkcje umożliwiają operowanie watkami w systemie UNIX? pthread_create - tworzenie wątku, pthread join - oczekiwanie na koniec wątku , pthreadself -identyfikator wątku pthread_detach - odłaczenie od wątku pthread_exit - zakończenie wątku

30. Co oznacza termin: „proces niezależny"? to taki proces którego działanie zalezy jedynie od danych wejściowych, nie wpływa na innse procesy oraz inne procesy nie wpływają na niego. Można go w dowolnej chwili właczyć i wyłączyć bez szkody

31. Co oznacza termin: „proces współpracujący"? Wynik jego pracy zleży od innych procesów nie da się z góry określić jaki będzie rezultat działania a takiego procesu. Wynik może nie być taki sam dla takich samych danych wejściowych (możliwa interakcja z innymi procesami) 32. Co oznacza paradygmat „producent-konsument"? Proces producent wytwarza dane dla procesu konsumenta.

33. Co to jest sekcja a krytyczna? To obszar, w którym proces przebywa przez określony czas na współdzielonej z innymi procesami przestrzeni danych. Zapewnia to możliwość np.. wymiany danych, synchronizacji

34. Jakie są warunki rozwiązania problemu sekcji krytycznej? W sekcji krytycznej może działać tylko jeden proces, który blokuje proces próbujący się do niej dostać.

35. Na czym polega wzajemne wyłączanie procesów? W sekcji krytycznej przebywa tylko jeden proces.

36. Na czym polega synchronizacja procesów? Polega na stosowaniu odpowiednich mechanizmów w celu zachowania spójności i zapewnienia odpowiedniej kolejności wykonania współpracujących procesów.

37. Co to są semafory? Są to zmienne całkowito liczbowe, którym można nadać wartość początkową + 38.

38. Jakie podstawowe operację realizowane są na semaforach? dwie operacje - czekać (P) - wait lub sygnalizować - (V)- signal

39. Jakie funkcje systemowe umożliwiają operowanie semaforami w systemie operacyjnym UINX? 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

40. Co tą są zamki i zmienne warunkowe? Zamek jest mechanizmem wzajemnego wykluczania, służącym do ochrony danych wspólnych dla wątków przed jednoczesnymi zmianami. Zmienne warunkowe są mechanizmami synchronizacji umożliwiającymi zawieszenie działania i zwolnienie procesora do momentu spełnienia warunku.

41. Jakie funkcje umożliwiają operowanie zamkami i zmiennymi warunkowymi w systemie UNIX? Dla zamków funkcja pthread_mutex_t, dla zmiennych warunkowych pthread_cond_t.

42. Na czym polega komunikacja bezpośrednia pomiędzy procesami? Polega na tym aby procesy się nawzajem jednoznacznie identyfikowały, wtedy między parą procesów tworzy się automatycznie dokładnie jedno łącze komunikacyjne.

43. Na czym polega komunikacja pośrednia pomiędzy procesami? Komunikaty są kierowane i odbierane za pośrednictwem skrzynek pocztowych (inaczej portów). Procesy komunikują się jeśli tylko mają wspólną skrzynkę.

44. 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).

45. 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).

46. Na czym polega buforowanie? Polega na czasowym przebywaniu pewnej ilości komunikatów w kanale komunikacyjnym.

47. Jakie podstawowe funkcje systemowe umożliwiają zarządzanie pamięcią dzieloną (IPC) w systemie operacyjnym UNIX? To funkcje shmget, shmctl, shmat, shmdt.

48. Czy mechanizm pamięci dzielonej (IPC) wyposażony jest w wewnętrzne mechanizmy synchronizacji dostępu? Tak, zawarte są one w funkcji shmget.

49. Kto ponosi odpowiedzialność za prawidłową organizację synchronizacji podczas komunikacji procesów poprzez pamięć dzieloną (IPC)? semafory i komunikaty.

50. Jakie podstawowe funkcje systemowe umożliwiają operowanie kolejkami komunikatów (IPC) w systemie operacyjnym UNIX? msgget, msgctl, msgbuf, msgsnd, msgrcv

51. 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.

52. 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.

53. Co oznacza skrót IPC? Komunikacja między procesowa (Inter-Process Communication (IPC))

54. Jakie podstawowe funkcje systemowe umożliwiają operowanie łączami nienazwanymi (pipę) 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

55. Jakie są podstawo we właściwości łączy nienazwanych (pipę) w systemie operacyjnym UNIX? Są specjalnymi plikami, służącymi do komunikacji międzyprocesowej. Posiadają swój węzeł bloki z danymi (ograniczona ilość) na otwartych łączach można na nich dokonywać sekwencyjny zapis i

odczyt. Odczyt powoduje usunięcie danych. Nie mają nazwy wiec nie można ich identyfikować przez nazwę w systemie plików. Po zamknięciu wszystkich połączeń są usuwane a deskryptory kasowane.

56. W jaki sposób są implementowane łączy nienazwane (pipę) 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.

57. 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);

58. Jakie są podstawowe właściwości łączy nazwanych (kolejek FIFO) w systemie operacyjnym UNIX? Łącza nazwane są plikami, 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. Odczyt powoduje usunięcie danych. Mają nazwy wiec można je znaleźć przez nazwę w systemie plików. Po zamknięciu wszystkich połączeń są usuwane zwalniane są tylko bloki dyskowe przydzielone do nich. Same deskryptory zostają..

59. W jaki sposób są implementowane łączy 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.

60. Co to jest sygnał w systemie operacyjnym UNIX?

Sygnałem nazywamy 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).

61. 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);

62. Na czym polega ignorowanie i blokowanie sygnałów?

BLOKOWANIE - blokowanie sygnałów oznacza, że proces nie będzie reagował na sygnał danego typu, ale informacja o tym, że on nadszedł jest pamiętana i zostanie on obsłużony w momencie, gdy go odblokujemy.

IGNOROWANIE - jeśli ustawione jest ignorowanie, to proces zostanie obudzony dopiero po zakończeniu ostatniego procesu potomnego.

63. 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ę

64. 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

65. Co oznacza termin „planowanie procesora" i jakie są podstawowe kryteria oceny algorytmów planowania procesora?

Są to zasady przydzielania procesora do procesów w systemie wieloprogramowym. Kryteria:

- Wykorzystanie procesora - powinno być jak największe.

- Przepustowość - mierzona ilością procesów kończonych w jednostce czasu.

- Czas cyklu przetwarzania - mierzony od momentu nadejścia procesu do systemu do momentu zakończenia procesu.

- Czas oczekiwania - czas spędzany w kolejce procesów gotowych.

- Czas odpowiedzi - czas między zgłoszeniem zamówienia a pojawieniem się odpowiedzi

66. Co jest cechą charakterystyczną planowania przydziału procesora metodą priorytetową? Z każdym procesem jest związany priorytet (liczba całkowita) CPU przydziela się procesowi z najwyższym priorytetem, FCFS gdy priorytety równe (zwykle mała liczba - wysoki priorytet) Z wywłaszczaniem lub bez wywłaszczania SJN jest strategią szeregowania priorytetowego (priorytet - przewidywana długość następnej fazy CPU) Problem: zagłodzenie Rozwiązanie: wzrost priorytetu z upływem czasu (proces się starzeje.)

67. Co jest cechą charakterystyczną planowania przydziału procesora metodą FCFS? Procesy są wykonywane w kolejności przybywania Brak wywłaszczania Efekt konwoju: krótkie procesy wstrzymywane przez długie Zalety: sprawiedliwy, niski narzut systemowy Wady: długi średni czas oczekiwania i wariancja czasu oczekiwania, nieakceptowany w systemach z podziałem czasu

68. Co jest cechą charakterystyczną planowania przydziału procesora metodą SJF? Procesor przydziela się temu procesowi, który ma najkrótszą najbliższą fazę zapotrzebowania na CPU (gdy równe, to FCFS) Z wywłaszczaniem (SRTF) lub bez Zalety: optymalny Wady: wymaga określenia długości przyszłej fazy CPU (można próbował oszacował np. jako .średnią wykładniczą poprzednich

69. Co jest cechą charakterystyczną planowania przydziału procesora metodą rotacyjną ? Każdy proces otrzymuje kwant czasu CPU.Po upływie kwantu proces zostaje wywłaszczony i idzie na koniec kolejki procesów gotowych jeżeli w kolejce procesów gotowych jest n procesów, a q to wielkość kwantu, to każdy proces dostaje 1/n czasu procesora w odcinkach długości co najwyżej q. żaden proces nie czeka na następny kwant dłużej niż (n-1)×q jednostek czasu Cechy: zwykle wyższy średni czas obrotu niż dla SRTF, lecz lepszy czas reakcji

70. Na czym polegają wielopoziomowe metody planowania procesora? Kolejka procesów gotowych jest podzielona na odrębne kolejki. Każda kolejka ma własny algorytm szeregowania Szeregowanie pomiędzy kolejkami:; Stały priorytet, np. obsługuj najpierw wszystkie procesy pierwszoplanowe, potem drugoplanowe; możliwość zagłodzenia procesy pierwszoplanowe - strategia karuzelowa; procesy drugoplanowe - kolejka prosta Kwant czasu - każda kolejka otrzymuje ustaloną część czasu CPU do podziału pomiędzy swoje procesy, np. 80% dla pierwszoplanowych z RR, 20% dla drugoplanowych z FCFS

71. Charakteryzować metodę planowania procesora w systemie Linux (jądro 2.6). Szeregowanie procesów. Strategia karuzelowa, wielopoziomowa, ze sprzężeniem zwrotnym, kolejki priorytetowe. Do wykonania wybiera się proces o najwyższym priorytecie spośród procesów gotowych do wykonania i załadowanych do pamięci Dwie klasy priorytetów: systemowe i użytkowe - procesy z priorytetami użytkowymi są wywłaszczane tuż przed powrotem z trybu jądra do trybu użytkowego - procesy z priorytetami systemowymi otrzymują priorytety w chwili zasypiania

72. Na czym polega zapobieganie zakleszczeniom procesów?

Zapobieganie polega na zapewnieniu, aby przynajmniej jeden z warunków koniecznych zakleszczenia nie był spełniony.

73. Jakie informacje są niezbędne aby można było stosować algorytmy unikania zakleszczeń procesów?

Informacje 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 wolnienia.

74. 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ć.

75. Jaki model systemu jest wykorzystywany dla potrzeb zakleszczeń 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)

76. Omówić procedurę konstruowania grafu przydziału zasobów.

Graf skierowany o zbiorze wierzchołków W i krawędzi K

-Zbiór W składa się z dwóch podzbiorów:

P = { P1, ... , Pn } - procesy (kółka)

Z = { Z1, ... , Zm } - typy zasobów (prostokąty)

-Egzemplarze danego zasobu reprezentowane przez kropki wewnątrz prostokąta

-Krawędź żądania - skierowana krawędź Pi -> Zk

-Krawędź przydziału - skierowana krawędź Zk -> Pi

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ź przydziału Zj -> Pi.

-W wyniku zwolnienia jednostka zasobu jest odzyskiwana przez system a krawędź przydziału znika.

77. 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.

78. Na czym polega głodzenie procesów?

Głodzenie procesów - może się zdarzyć, że cały czas będą nadchodzić krótsze procesy, a wtedy proces dłuższy nigdy nie zostanie wykonany.

79. Jakie elementy występują w hierarchicznym modelu pamięci?

Rejestry, Pamięć podręczna, Pamięć Główna, Dysk magnetyczny,(Taśma, Dysk optyczny i inne).

80. Co oznacza termin wiązanie adresów i kiedy jest ono realizowane?

To proces polegający na połączeniu skompilowanych modułów (plików zawierających kod obiektowy i/lub plików bibliotek statycznych) i utworzeniu pliku wykonywalnego lub rzadziej innego pliku obiektowego. Dodatkowo podczas konsolidacji do pliku wynikowego mogą być dołączone odpowiednie nagłówki i informacje charakterystyczne dla konkretnego formatu pliku wykonywalnego.

81. Co to jest przestrzeń adresowa jakie jej rodzaje wyróżniamy?

Przestrzeń adresowa to zbiór wszystkich dopuszczalnych adresów w pamięci.

Rodzaje:

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 procesu.

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

82. Co to jest jednostka zarządzania pamięcią i jakie funkcje realizuje?

Jednostka zarządzania pamięcią 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.

83. Co oznacza termin „dynamiczne łączenie"? Dynamiczne ładowanie - podprogram ładuje się do pamięci dopiero po wywołaniu.

84. Co oznacza termin „dynamiczne ładowanie"? Dynamiczne łączenie - łączenie opóźnione do czasu wykonania; zazwyczaj dotyczy bibliotek systemowych.

85. Co oznacza termin „nakładkowanie"? Nakładki - w pamięci przechowuje się tylko te części przestrzeni adresowej, które są niezbędne w danej chwili; umożliwia wykonywanie programów większych od przydzielonego im obszaru pamięci; implementowane przez użytkownika

86. Na czym polega wymiana procesów?

Proces może być tymczasowo wymieniany, tj. odsyłany z pamięci głównej do pamięci pomocniczej i z powrotem w celu kontynuowania działania.

87. Jaki jest cel stosowania wymiany procesów?

Zwalnianie zasobów głównej pamięci.

88. Na czym polega zewnętrzna fragmentacja pamięci? Fragmentacja zewnętrzna: suma wolnych obszarów w pamięci wystarcza na spełnienie żądania, lecz nie stanowi spójnego obszaru 89. Na czym polega wewnętrzna fragmentacja pamięci ? Fragmentacja wewnętrzna: 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

90. 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.

91. Czego dotyczą strategie rozmieszczania (ang. placement policies)

Przydzielania wolnego obszaru pamięci.

92. Na czym polega algorytm realizacji strategii rozmieszczania metodą najlepszego dopasowania? (best fit): przydziela się najmniejszy z dostatecznie dużych obszarów; wymaga przeszukania całej listy (o ile nie jest uporządkowana wg rozmiaru); pozostająca część obszaru jest najmniejsza

93. Na czym polega algorytm realizacji strategii rozmieszczania metodą najgorszego dopasowania? (worst fit): przydziela się największy obszar; wymaga przeszukania całej listy; pozostająca część obszaru jest największa

94. Na czym polega algorytm realizacji strategii rozmieszczania metodą pierwszego dopasowania? Pierwszy pasujący (first fit): przydziela się pierwszy obszar o wystarczającej wielkości (następny pasujący: szukanie rozpoczyna się od miejsca, w którym ostatnio zakończono szukanie); z reguły krótszy czas szukania

95. Na czym polega algorytm realizacji strategii rozmieszczania metodą następnego dopasowania?

96. 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)

97. Jakie metody pozwalają rozwiązać problem fragmentacji zewnętrznej?

98. Na czym polega upakowanie pamięci?

99. Kiedy możliwa jest realizacja upakowania ?

100. Na czym polega stronicowanie? Stronicowanie to sposób na zwiększenie fizycznej pamięci w postaci pliku wymiany, pamięć fizyczna komputera odzwierciedlana jest w pliku. Strona stanowi fragment pamięci który może być wymieniany pomiędzy plikiem dyskowym a pamięcią fizyczną. Ładowanie strony następuje gdy jest ona potrzebna - następuje odwołanie do adresu w pamięci który wskazuje na stronę. Pamięć fizyczna jest podzielona na bloki jednakowego rozmiaru, zwane ramkami (rozmiar jest potęgi 2, między 0.5 K bajtów a 8 K bajtów) ;Logiczna przestrzeń adresowa procesu jest podzielona na bloki o rozmiarze takim jak ramki, zwane stronami

101. Na czym polega segmentacja? Schemat zarządzania pamięcią zgodny ze sposobem widzenia pamięci przez użytkownika ;Program jest zbiorem segmentów. Segment jest jednostką logiczną, taką jak: program główny, procedura, funkcja, stos, tablica symboli, tablice, zmienne lokalne i globalne; Adres logiczny: (numer segmentu, przesunięcie)Tablica segmentów: każda pozycja zawiera fizyczny adres początku segmentu i rozmiar segmentu Rejestr bazowy tablicy segmentów zawiera adres tablicy Ochrona: z każdą pozycję w tablicy segmentów są związane bity ochrony

102.

Dzielenie: na poziomie segmentów jest bardziej naturalne niż na poziomie stron, ten sam adresów w różnych pozycjach tablic segmentów różnych procesów Przydział pamięci: pierwszy/najlepszy pasujący, fragmentacja zewnętrzna.

103. Jakie są podstawowe sposoby implementacji tablicy stron i na czym one polegają?

104. Czego dotyczą strategie wymiany (ang. replacement policies)!

105. Czego dotyczą strategie pobierania (ang. fetch policies)'?

106. Co to jest pamięć wirtualna? Pamięć wirtualna jest uzupełnieniem pamięci fizycznej poprzez plik, Fragmenty nie używane w danej chwili pamięci są zapisywane w pliku a do pamięci ładowana jest storna aktualnie potrzebna. Zwiększa to zasadniczo ilość dostępnej pamięci. Kosztem czasu operacji ładowania strony z dysku.

107. Jakie są najbardziej popularne algorytmy wymiany stron? FIFO Każda strona jest ładowana na określony czas najstarsza strona jest wycofywana do pliku - podatny na Anomalie Belaydiego.

MIN - optymalny analizowany jest ciąg odwołań do stron i usuwane są te które potencjalnie nie będą potrzebne .- nie występuje Anomalie Belaydiego. LRU - zastępowanie stron najdłużej nie używanych - wymaga wspomagania sprzętowego.

108. Na czym polegają strategie pobierania na żądanie?

109. Na jakich przesłankach opiera się przewidywanie w algorytmach realizacji strategii pobierania przewidującego?

110. Co oznacza pojęcie zbioru roboczego procesu? Ogólna (teoretyczna) koncepcja zbioru roboczego polega utrzymywaniu takiego zbioru dla każdego procesu. Strony, należące do zbioru roboczego, pozostawiane są w pamięci, natomiast ramki stron spoza zbioru roboczego są zwalniane. Zapotrzebowanie na ramki w systemie jest sumą mocy zbiorów roboczych wszystkich procesów. Jeśli liczba ta jest większa niż dostępna liczba ramek, może dojść do szamotania. Zadaniem zarządcy pamięci jest wówczas przeniesienie całego obrazu któregoś z procesów w obszar wymiany i odzyskanie jego ramek.

111. Na czym polega błąd strony w pamięci wirtualnej? Brak strony w aktywnym obszarze pamięci - taka stronę należy załadować z pliku wymiany.

112. Jakie elementy wpływają na wydajność mechanizmu stronicowania na żądanie?

113. Kiedy jest realizowane zastępowanie stron w pamięci wirtualnej?

114. Scharakteryzować algorytm FIFO stosowany podczas wymiany stron. Każda strona jest ładowana na określony czas najstarsza strona jest wycofywana do pliku - podatny na Anomalie Belaydiego

115. Scharakteryzować algorytm MIN stosowany podczas wymiany stron. Optymalny analizowany jest ciąg odwołań do stron i usuwane są te które potencjalnie nie będą potrzebne .- nie występuje Anomalie Belaydiego.

116. Scharakteryzować algorytm LRU stosowany podczas wymiany stron. Zastępowanie stron najdłużej nie używanych - wymaga wspomagania sprzętowego.

117. Na czym polega anomalia Belady'ego?

118. Scharakteryzować podstawowe algorytmy przybliżające algorytm LRU.

119. Na czym polega szamotanie procesów?

120. Jaka jest zależność stopnia wykorzystania procesora od stopnia wieloprogramowości? 121. 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

122. Co to jest plik? Plik to abstrakcyjny obraz informacji gromadzony przez system operacyjny udostępniany użytkownikowi, jest podstawową logiczna jednostką magazynującą informację, widoczną dla użytkownika, jest zbiorem powiązanych informacji przechowywanych w pamięci pomocniczej

123. 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.

124. Jakie podstawowe zadania spełnia system plików? Do najbardziej podstawowych wywołań systemowych należą: otwieranie pliku (open) zamykanie pliku (close) tworzenie pliku (create) usuwanie pliku (unlink) tworzenie katalogu (mkdir) usuwanie katalogu (rmdir) czytanie z pliku (read) pisanie do pliku (write)

125. Co to jest katalog plików? Katalog jest tablica kojarzącą nazwy plików z wisami katalogowymi

126. Co to jest deskryptor pliku? Ogólnie deskryptor pliku 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.

127. Jakie operacje wykonywane są przez funkcję systemową otwórz plik ?

128. Jakie są podstawowe metody dostępu do pliku? Sekwencyjny - rekord po rekordzie , bezpośredni lub swobodny - można sterować parametrem do jakiego się chce sięgnąć rekordu, indenowy najpierw czytany jest indeks a potem na jego podstawie odszukiwany jest plik.

129. Scharakteryzować podstawowe metody dostępu do pliku. Sekwencyjny - rekord po rekordzie , bezpośredni lub swobodny - można sterować parametrem do jakiego się chce sięgnąć rekordu, indenowy najpierw czytany jest indeks a potem na jego podstawie odszukiwany jest plik. 130. 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

131. Na czym polega i jakie są właściwości ciągłego przydziału miejsca na dysku? Cały plik zajmuje kolejne bloki. (sektory) Zalety: szybki Wady: trudno znaleźć miejsce na nowy plik. Trudno rozszerzać pliki

132. Na czym polega i jakie są właściwości listowego przydziału miejsca na dysku? Bloki pliku tworzą - łańcuszek powiązanych bloków. Zalety: łatwo znaleźć miejsce na nowy plik. łatwo rozszerzać pliki. Wady wolny dostęp tylko sekwencyjny.

133. Na czym polega i jakie są właściwości indeksowego przydziału miejsca na dysku? Istnieje tabele o parze blok - index. Dostęp odbywa się poprze index do bloku fizycznego,. Może być w strukturze schematu listwowego, wielopoziomowego lub kombinowanego. Zalety: łatwo znaleźć miejsce na nowy plik. łatwo rozszerzać pliki. Wady zawodność utrata bloku indenu - utrata danych. Cześć miejsca poświecona jest na tablice indenową.

134. Jakie metody zarządzania wolnymi obszarami dyskowymi są stosowane w implementacjach systemów plików?

135. Na czym polega i jakie są właściwości metody wektora bitowego w zarządzaniu wolnymi obszarami dyskowymi? Łatwo odszukać wolny blok (reprezentowany jako 0) najbardziej wydajny gdy da się wczytać cały wektor do pamieci.

136. Na czym polega i jakie są właściwości metody listy powiązanej w zarządzaniu wolnymi obszarami dyskowymi? Jest to typowa lista każdy blok zawiera wskazanie na następny blok (bardzo mało wydajne)

137. Na czym polega i jakie są właściwości metody grupowania w zarządzaniu wolnymi obszarami dyskowymi? a. W jednym miejscu w systemie UNIX (superbloku) przechowuje się adresy n -wolnych bloków. Ostatni adres wskazuje na następny super blok.

138. Na czym polega i jakie są właściwości metody zliczania w zarządzaniu wolnymi obszarami dyskowymi? Zlicza się i zbiera w listę wolne bloki i ilość miejsca bezpośrednio za nimi

139. Jakie metody są stosowane w implementacjach katalogów? Lista liniowa o budowie nazwa, atrybuty, Tablica haszowa lokalizacja pliku ustala jest na podstawie odpowiedniej funkcji tworzącej hash - mogą się pojawiać konflikty wpisów (potrzebna dodatkowa funkcja rozwiązująca je).

Indeksy - głownie drzewa binarne ułatwiające dotarcie do odpowiedniego pliku.

140. 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.

141. Jakie są podstawowe strategie szeregowania żądań dostępu do dysku? First Come First Serviced, Shortest Seek Time First, SCAN, C-SCAN

142. Na czym polega i jakie są właściwości metody FCFS szeregowania żądań dostępu do dysku? (First Come First Serviced) ierwszy przyszedł pierwszy został obsłużony. Prosta metoda , brak głodzenia, dobra dla małych obciążeń.

143. Na czym polega i jakie są właściwości metody FCFS szeregowania żądań dostępu do dysku? (First Come First Serviced) Pierwszy przyszedł pierwszy został obsłużony. Prosta metoda , brak głodzenia, dobra dla małych obciążeń.

144. Na czym polega i jakie są właściwości metody SSTF szeregowania żądań dostępu do dysku? (Shortest Seek Time First) Poszukiwanie najkrótszej ścieżki względem bieżącej pozycji, nie optymalny, możliwe głodzenie skrajnych ścieżek. Akceptowalny dla systemów wsadowych. 145. Na czym polega i jakie są właściwości metody SCAN szeregowania żądań dostępu do dysku? Winda głowica leci od jednego krańca do drugiego. Obsługując podłodze zadania. Najczęściej spotykana strategia. (najlepsze wyniki dla małych obciążeń)

146. Na czym polega i jakie są właściwości metody C-SCAN szeregowania żądań dostępu do dysku? Rozwiniecie windy - powierzchnia dysku traktowana jest jako cykliczna a ruch głowicy (logicznej) odbywa się po okręgu (najlepsze wyniki dla dużych obciążeń)

147. Co oznacza termin integralność systemu plików? System operacyjny dba by informacje były zapisane w odpowiednim miejscu. W czasie awarii, nie wszystkie dane mogą zdarzyć się zapisać. Wówczas system operacyjny próbuje przywrócić system plików do właściwej konsystencji.

148. Co oznacza termin semantyka spójności systemu plików? To zasady wspierające utrzymanie spójności plików. Przykład :zapis natychmiast widoczny dla innych procesów. Semantyka sesji zmiany są widoczne zaraz po zamknięciu sesji w której plik był zapisany. Stały plik dzielony - może być tylko odczytywany.



Wyszukiwarka

Podobne podstrony:
Pytania z odp 1, WSTI Pawia 55, Semestr 4, dr inż. Zbigniew Suski
Pytania z odp 2, WSTI Pawia 55, Semestr 4, dr inż. Zbigniew Suski
SO-Odpowiedzi, WSTI Pawia 55, Semestr 4, dr inż. Zbigniew Suski
Pytania z odp 3, WSTI Pawia 55, Semestr 4, dr inż. Zbigniew Suski
so, WSTI Pawia 55, Semestr 4, dr inż. Zbigniew Suski
Systemy Operacyjne, WSTI Pawia 55, Semestr 4, dr inż. Zbigniew Suski
cwiczenie10d2013, WSTI Pawia 55, Semestr I, Podstawy programowania (wyk, lab - L.Grad, Laboratoria
cwiczenie8d2013, WSTI Pawia 55, Semestr I, Podstawy programowania (wyk, lab - L.Grad, Laboratoria
cwiczenie13d2012, WSTI Pawia 55, Semestr I, Podstawy programowania (wyk, lab - L.Grad, Laboratoria
cwiczenie9d2013, WSTI Pawia 55, Semestr I, Podstawy programowania (wyk, lab - L.Grad, Laboratoria
cwiczenie11d2013, WSTI Pawia 55, Semestr I, Podstawy programowania (wyk, lab - L.Grad, Laboratoria
cwiczenie6d2013, WSTI Pawia 55, Semestr I, Podstawy programowania (wyk, lab - L.Grad, Laboratoria
Ćwiczenia nr 3 - Badanie układów zasilających, WSTI Pawia 55, Darken, Elektronika Olchowik, Sprawozd
przykładowe zad MD, WSTI Pawia 55, Darken, Matematyka dyskretna
gip (pyt. i odp.), Studia, Geodezja, VI SEMESTR, Geodezja Inż
Ćwiczenia nr 4 - Tranzystory i wzmacniacze, WSTI Pawia 55, Darken, Elektronika Olchowik, Sprawozdani

więcej podobnych podstron