Systemy sciaga teoria

2. Do czego służą funkcje systemowe 3. Blok kontrolny procesu - co to jest, składniki. 4. Semafor - co to jest, do czego służy? 5. Mechanizm stronicowania pamięci. 6. Przerwania - co to jest, do czego służą?

7. Metody przydziału miejsca na dysku - wymień i opisz.

8. Planiści, wymień i opisz czym się różnią? 9. Na czym polega odpytywanie wejścia/wyjścia. 10. Kolejki wielopoziomowe. 11. Wątki co to jest, czym się różnią od procesów. 12. Sekcja krytyczna. 13. Fragmentacja pamięci. 14. W jakim celu tworzy się pamięć wirtualną. 15. Typy urządzeń I/0 i przykłady. 16. Tryby pracy procesora. 17. Warunki wystąpienia blokady. 18. Co to jest program nakładkowy, gdzie ma zastosowanie. 19. Opisz stronicowanie na żądanie. 20. Opisz kryteria wyboru wolnego obszaru pamięci przy przydziale ciągłym21. Wymień i opisz algorytmy zastępowania stron.2. Do czego służą funkcje systemowe, przykłady

Funkcji systemowych

Funkcje systemowe tworzą interfejs pomiędzy wykonywanym programem a OS'em.

Poprzez funkcje systemowe użytkownik „daje polecenia” systemowi. Funkcje systemowe

mają następujące zadania:

• Nadzorowanie proces:

● Załadowanie lub wykonanie programu.

● Zaniechanie lub zakończenie procesu.

● Utworzenie lub zakończenie procesu (potomnego).

● Przydział i zwolnienie pamięci.

• Operacje na plikach:

● Utworzenie lub usunięcie pliku.

● Otwarcie lub zamknięcie pliku.

• Operacje na urządzenia:

● Zamówienie lub zwolnienie urządzenia.

● Pobranie lub ustawienie parametrów urządzenia.

● Logiczne przyłączanie lub odłączanie urządzeń.

• Utrzymywanie informacji:

● Pobranie lub ustawienie daty/czasu.

● Pobranie lub ustawienie danych systemowych.

● Pobranie atrybutów procesu, pliku lub urządzenia.

• Komunikacja:

● Przekazywanie informacji o stanie.

● Przyłączanie i odłączanie urządzeń zdalnych.

3. Blok kontrolny procesu - co to jest, składniki.

Jest to część odpowiedzialna za przechowywanie informacji o procesie. Składa się zwykle z

następujących części:

● Numer procesu.

● Aktualny stan procesu.

● Licznik rozkazów – adres następnego rozkazu do wykonania.

● Rejestry

● Adresy pamięci.

● Wykaz otwartych plików.

● Zarządzanie pamięcią.

● Informacje do rozliczeń.

● Informacje o stanie wejścia-wyjścia.

● Informacje do planowania przydziału procesora.

4. Semafor - co to jest, do czego służy?

Semafory są najczęściej stosowane do synchronizacji dostępu procesów do wspólnych zasobów (np. pamięci dzielonej, plików itp.)

Semafor to specjalna zmienna całkowita, początkowo rowna k. Specjalna, ponieważ (po zainicjowaniu)

można na niej wykonywać tylko dwie operacje:

P - Jeżeli semafor jest rny 0 (semafor jest opuszczony), to proces wykonujący tą

operację zostaje wstrzymany, dopi wartość semafora nie zwiększy się (nie

zostanie on podniesiony). Gdy wartość semafora jest dodatnia (semafor jest

podniesiony), to zmniejsza się o 1 (pociąg zajmuje jeden z k wolnych tor).

V - Wartość semafora jest zwiększana o 1 (podniesienie semafora). Jeżeli jakiś

proces oczekuje na podniesienie

11. Wątki co to jest, czym się różnią od procesów.

Watek jjest podstawowa jjednostka wykorzystania procesora. Jesttto czesc składowa procesu wielowatkowego. Wątek (proces lekki) jest podstawową jednostką wykorzystania procesora. Działanie

wątk przypomina działanie proces. Mogą być w stanach: gotowości, zablokowania,

aktywności, kończenia. Wątek może tworzyć wątki potomne, może się zablokować do czasu

wykonania wywołania systemowego. Jeśli jeden wątek jest zablokowany, może działać inny

wątek.

Watek składa się z:

• Licznika rozkaz.

• Zbioru rejestr.

• Obszaru stosu.

Takie elementy jak sekcja kodu, sekcja danych, czy zasoby systemu (otwarte pliki, sygnały)

są wspne dla kilku rnorzędnych wątk.

Różnica między procesem a wątkiem polega przede wszystkim na sposobie wykorzystania dostępnych zasobów. Każdy proces ma przydzielony odrębny obszar pamięci operacyjnej i współzawodniczy z innymi procesami o dostęp do zasobów węzłów systemu. Często takie rozgraniczenie między procesami nie jest potrzebne. Znacznie taniej jest wówczas wykonywać je we wspólnej przestrzeni adresowej, tworząc współbieżnie działające wątki.

12. Sekcja krytyczna.

Każdy ze wspłracujących proces posiada fragment kodu w ktym następuje zmiana

wspnych danych. Jest to sekcja krytyczna procesu. Jeśli jeden z proces znajduje się w

swojej sekcji krytycznej, inne nie mogą w tym czasie wejść do swoich krytycznych sekcji.

Każdy proces musi prosić (w sekcji wejściowej) o pozwolenie na wejście do swojej sekcji

krytycznej. Warunki poprawnego działania:

• Wzajemne wykluczanie: jeśli proces działa w swej sekcji krytycznej, to żaden inny

proces nie działa w swojej.

• Postęp: tylko procesy nie wykonujące swoich reszt mogą kandydować do wejścia do

sekcji krytycznych i wyb ten nie może być odwlekany w nieskończoność.

• Ograniczone czekanie: Musi istnieć graniczna ilość wejść innych proces

do ich sekcji krytycznych po tym, gdy dany proces zgłosił chęć wejścia do swojej sekcji

krytycznej i zanim uzyskał na to pozwolenie.

13. Fragmentacja pamięci.

• Fragmentacja zewnętrzna występuje, gdy suma wolnych obszar pamięci wystarcza na

spełnienie zamienia, ale nie tworzą one spnego obszaru. Fragmentację zewnętrzną

można zmniejszyć poprzez takie upakowanie proces, aby cała wolna pamięć znalazła

się w jednym dużym bloku. Jest to możliwe tylko wtedy, gdy ustalanie adres jest

wykonywane dynamicznie podczas działania procesu. Przetasowań proces nie można

robić podczas operacji we/wy.

• Fragmentacja wewnętrzna występuje, jeśli po przydzieleniu pamięci do procesu

pozostałby wolny obszar wielkości kilku bajt, to przydziela się go też do procesu, ale stanowi on „nieużytek" - nie będzie wykorzystany (ale zmniejszy się tablica „dziur").

22. Typy dostępu do pliku.

24. Zegary i czasomierze.

25. (DMA) 26. Zarządzanie wolną pamięcią na dysku. 27. Tablica stron prosta i odwrotna. 28.Poprawa wydajności systemów dyskowych

29. Opisz znane Ci metody przydziału procesora. 30. Co to jest wyjątek i do czego służy.

32. Wieloprocesory i wielokomputery, co to są i czym się różnią.33. Wymienić i opisać rodzaje przeźroczystości34. Co to są rozkazy niepodzielne. Gdzie maja zastosowanie?35. Wymień różnice pomiędzy odpytywaniem i wyjątkami.36. Atrybuty plików.37. Przełączanie kontekstu.

22. Typy dostępu do pliku.

• Dostęp sekwencyjny - informacje w pliku są przetwarzane kolejno, rekord po rekordzie.

• Dostęp bezpośredni - umożliwia czytanie z zapisywaniem blok w dowolnej

kolejności. Rekordy muszą być stałej długości. Używany jest tam, gdzie potrzebny jest

szybki dostęp do wielkich ilości informacji, np w bazach danych.

• Dostęp indeksowy (plik indeksowy w pamięci, lub na dysku).

24. Zegary i czasomierze.

Spełniają trzy podstawowe funkcje:

• podawanie bieżącego czasu,

• podawanie upływającego czasu,

• powodowanie wykonania określonej operacji w określonej chwili,

czasomierz programowalny - służy do pomiaru upływającego czasu i powodowania

wykonania operacji w zadanym czasie można go zaprogramować na określony czas, po

ktym generuje on przerwanie jest to te zegar systemowy do taktowania kwant czasu

(dla przydziału procesora).

25. Bezpośredni dostęp do pamięci (DMA).

DMA (ang. Direct Memory Access – bezpośredni dostęp do pamięci) – technika, w której inne układy (np. kontroler dysku twardego, karta dźwiękowa, itd.) mogą korzystać z pamięci operacyjnej RAM lub (czasami) portów we-wy pomijając przy tym procesor główny – CPU Wymaga to współpracy ze strony procesora, który musi zaprogramować kontroler DMA do wykonania odpowiedniego transferu, a następnie na czas przesyłania danych zwolnić magistralę systemową (przejść w stan wysokiej impedancji). Sam transfer jest już zadaniem wyłącznie kontrolera DMA. Realizacja cykli DMA może przez urządzenie być zrzucona na specjalny układ (np. w komputerach PC) lub być realizowana samodzielnie przez urządzenie.

DMA ma za zadanie odciążyć procesor główny od samego przesyłania danych z miejsca na miejsce (np. z urządzenia wejściowego do pamięci), procesor może w tym czasie zająć się 'produktywnym' działaniem, wykonując kod programu pobrany uprzednio z pamięci RAM do pamięci cache operujący na danych w tejże pamięci zgromadzonych. Specjalizowane układy wspomagające DMA (np. te spotykane w PC) potrafią też kopiować obszary pamięci dużo szybciej niż uczyniłby to programowo procesor

26. Zarządzanie wolną pamięcią na dysku.

• Mapa bitowa- w wektorze bitowym każdy wolny blok jest reprezentowany przez 1 a

zajęty - przez 0. Łatwość znalezienia wolnego bloku istnieje dzięki rozkazom procesora

pokazującym pozycje pierwszego niezerowego bitu w słowie. Metoda ta może być

stosowana dla małych dysk

• Lista powiązana -w pamięci przechowuje się położenie pierwszego wolnego bloku, a w

nim - położenie następnego itd. Metoda mało wydajna - aby przejrzeć listę wolnych

blok, należy wszystkie przeczytać

• grupowanie - w pierwszym wolnym bloku przechowywana jest lista n wolnych blok.

W n-tym wolnym bloku znajduje się lista następnych n blok itd.

• zliczanie - przechowuje się adres pierwszego wolnego bloku i liczbę n następujących po

nim wolnych blok. I tak dla każ

dej grupy. N jest zazwyczaj > 1

30. Co to jest wyjątek i do czego służy.

Pułapka (wyjątek) jest rodzajem przerwania generowanym przez oprogramowanie, a

spowodowanym przez błąd numeryczny (np. dzielenie przez zero) lub przez niewłaściwy

dostęp do pamięci, bądź też na specjalne zamienie użytkownika (wywołanie

procedury obsługiwanej przez system operacyjny).

32. Wieloprocesory i wielokomputery, co to są i czym się różnią.
Wieloprocesory:

Wieloprocesory (multiprocessors) - komputery mają wspólną pamięć; w wieloprocesorze istnieje pojedyncza fizyczna przestrzeń adresowa, współdzielona przez wszystkie procesory.
 -     system z pojedynczą szyną - szyna = wąskie gardło,
 -     system z przełącznikami - można dodawać     procesory, ale system złożony, wolny i kosztowny,
 -     programowanie łatwe: dostęp do wspólnej pamięci,     programowe mechanizmy synchronizacji procesów.¬
Wielokomputery:

Wielokomputery (multicomputers) - komputery nie mają wspólnej pamięci; każdy komputer ma własną prywatną pamięć fizyczną.
 -    łatwość budowy systemu,¬
-     rozwiązanie jest skalowalne,

-   programowanie trudne: komunikacja poprzez  przesyłanie komunikatów, problem gubionych     komunikatów, buforowania, zakładania blokad.

Pozostale roznice:

Skalowalność: wieloproc: nie, komp umiarkowana

Kopie OS’ow – wieloproc – jeden, komp tyle ile komputerow

33. Wymienić i opisać rodzaje przeźroczystości

transparentność, przezroczystość (ang. transparency) – własność systemu pozwalająca na postrzeganie systemu przez użytkownika jako całości, a nie poszczególnych składowych

Przezroczystość dostępu (access transparency) umożliwia dostęp do lokalnych i odległych zasobów za pomocą identycznych działań.

Przezroczystość położenia (location transparency) umożliwia dostęp do zasobów bez znajomości ich lokalizacji – użytkownik nie jest w stanie określić, gdzie znajdują się CPU, drukarki, pliki i bazy danych; nazwa zasobu nie może określać jego położenia,

Przezroczystość współbieżności (concurrency transparency) umożliwia wielu procesom niezakłócone działanie współbieżne z użyciem wspólnych zasobów, użytkownicy po prostu nie zauważają obecności innych użytkowników.

Przezroczystość zwielokrotnienia (replication transparency) pozwala na użycie wielu kopii obiektów informacji w celu zwiększenia niezawodności i wydajności bez wiedzy użytkowników (serwery same mogą decydować o zwielokrotnieniu dowolnego pliku, np. intensywnie eksploatowanego, bez powiadamiania użytkownika).

Przezroczystość wędrówki (migration transparency) pozwala na przemieszczanie zasobów z jednego miejsca na drugie, w obrębie systemu, bez wpływu na działania użytkowników lub programów użytkowych (bez zmiany ich nazw).

Przezroczystość wydajności umożliwia rekonfigurowanie systemu w celu poprawy działania przy zmianie obciążenia.

Przezroczystość skalowania umożliwia systemowi I jego zastosowaniom rozszerzenie skali bez zmiany struktury systemu lub algorytmów użytkowych.

Przezroczystość awarii umożliwia ukrywanie uszkodzeń, pozwalając użytkownikom i programom użytkowym na kończenie zadań pomimo awarii.

5. Mechanizm stronicowania pamięci.

Stronicowanie pomaga w racjonalnym wykorzystaniu wolnych miejsc w pamięci. Pamięć

fizyczną dzieli się na bloki o stałej długości (ramki) 2n (512 B do 16 MB). Pamięć logiczna

podzielona jest na strony o tym samym rozmiarze. Wolną pamięć obrazuje lista wolnych

ramek. Proces o wielkości N stron jest ładowany w N ramek (niekoniecznie kolejnych).

Tablica stron odwzorowuje adresy logiczne na fizyczne. W ten spos eliminuje się

fragmentację zewnętrzną, ale występuje fragmentacja wewnętrzna (zaokrąglenie w gę

wielkości procesu do wielokrotności rozmiaru ramki). Każdy adres wygenerowany przez

procesor dzieli się na dwie części: numer strony i odległość na stronie. Numer jest używany

jako indeks w tablicy stron, kta zawiera adresy bazowe wszystkich stron w pamięci

operacyjnej. Łącząc adres bazowy z odległością na stronie uzyskuje się fizyczny adres w

pamięci. Jeżeli rozmiar strony jest potęgą 2 oraz:

- rozmiar przestrzeni adresowej wynosi 2m

- rozmiar strony wynosi 2n,

to m-n bardziej znaczących bit adresu logicznego wskazuje nr strony (2m-n), n mniej

znaczących bit wskazuje odległość na stronie.

6. Przerwania - co to jest, do czego służą?

Jest to sygnał pochodzący od sprzętu lub programu,sygnalizujący wystąpienie zdarzenia.

Sygnały przerwań od sprzętu są wysyłane do procesora najczęściej przez szyny systemowe. Oprogramowanie może spowodowac przerwanie poprzez wykonanie wywołania systemowego.

Zdarzenia powodujące przerwania:

• Zakończenie operacji I/O.

• Dzielenie przez zero.

• Niedozwolony dostęp do pamięci.

• Zapotrzebowanie na usługę systemu.

Każdemu przerwaniu odpowiada procedura obsługi.

7 Metody przydziału miejsca na dysku - wymień i opisz.

Przydział ciągły - każdy plik zajmuje ciąg kolejnych blok na dysku.

Zalety: łatwość implementacji dostępu sekwencyjnego i bezpośredniego.

Wady: trudności ze znalezieniem wolnego miejsca (fragmentacja zewnętrzna)

Przydział listowy - istnieje lista powiązanych ze sobą blok dyskowych, stanowiących

dany plik. Bloki te mogą się znajdować w dowolnym miejscu na dysku.

Zalety: nie trzeba deklarować długości pliku (plik może rosnąć, dopi są wolne bloki).

Wady: w przypadku błędu jednego wskaźnika można wejść w obszar innego pliku.

Przydział indeksowy - jak przydział listowy, ale wskaźniki umieszczone w jednym miejscu - w tablicy indeks.

Zalety: jak w przydziale listowym,

Wady: wskaźniki bloku indeksowego zajmują zazwyczaj więcej miejsca niż wskaźniki

przy przydziale listowym.

Implementacje dla dużych plik:

- schemat listowy - jeśli lista blok jest dłuższa niż blok indeksowy, na ostatniej pozycji w bloku indeksowym podaje się adres bloku kontynuacji.

- indeks wielopoziomowy - pozycje bloku indeksowego wskazują na bloki

indeksowe poziomu drugiego.

- schemat mieszany - pierwsze kilka, kilkanaście pozycji wskazuje bezpośrednio na

bloki, a następne 2-3 na indeksy poziomu drugiego w indeksowaniu

2,3,4-poziomowym. Schemat ten zastosowany w systemie UNIX.

14. W jakim celu tworzy się pamięć wirtualną.

Pamięć wirtualna odseparowuje pamięć logiczną od jej fizycznej realizacji. Można ją

zaimplementować jako stronicowanie na żądanie lub segmentację na żądanie.

Zalety korzystania z pamięci wirtualnej:

• Program nie jest ograniczony wielkością pamięci fizycznej - można pisać ogromne

programy bez specjalnych „sztuczek" programistycznych

• Każdy program zajmuje w pamięci mniej miejsca niż program „kompletny". Można

więc w tym samym czasie wykonywać więcej zadań, polepszając wykorzystanie

procesora.

• Maleje liczba operacji wejścia-wyjścia koniecznych do załadowania program do

pamięci oraz do realizacji wymiany - programy powinny więc wykonywać się szybciej.

• Nie ma konieczności robienia nakładek przy małej pamięci operacyjnej.

15. Typy urządzeń I/0 i przykłady.

Trzy rodzaje urządzeń wejścia-wyjścia:

• Urządzenia pamięci (dyski, taśmy).

• Urządzenia przesyłania danych (karty sieciowe, modemy).

• Urządzenia komunikacji z człowiekiem (klawiatury, myszy, monitory).

Rżice miedzy urządzeniami we-wy:

• Urządzenie znakowe - przesyła bajty (znaki) z osobna jeden za drugim (terminal).

• Urządzenie blokowe - przesyła jednorazowo całe bloki (dysk).

• Dostęp sekwencyjny - dane przesyłane kolejno w spos uporządkowany (modem).

• Dostęp swobodny - mona miećddostępdo danych w rżych miejscach, niekoniecznie

kolejno (CD-ROM).

• Przesyłanie synchroniczne - taktowane zegarem (taśma).

• Przesyłanie asynchroniczne - w nieokreślonych chwilach czasu, sterowane startem i

stopem (klawiatura).

16. Tryby pracy procesora.

W nowoczesnych systemach rozrżiamy dwa tryby pracy procesora:

• Tryb użytkownika (user-mode) - jest to tryb ograniczony - nie można w nim

wykonywać niebezpiecznych dla systemu operacji uprzywilejowanych

• Tryb nadzorcy (kernel-mode) - tryb uprzywilejowany, w ktym wykonywane

są potencjalnie niebezpieczne dla systemu operacje. Użytkownik nie może samodzielnie

przełączyć procesora w tryb nadzorcy - może to zrobić jedynie sam system.

17. Warunki wystąpienia blokady.

• Wzajemne wykluczanie - co najmniej jeden zas musi być niepodzielny (w danym

czasie może go używać tylko jeden proces).

• Przetrzymywanie i oczekiwanie - przynajmniej jeden proces przetrzymuje jakiś

zas, ponieważ czeka na przydział dodatkowego innego zasobu, przetrzymywanego

przeważnie przez inny proces.

• Brak wywłaszczeń - zas może być zwolniony jedynie z inicjatywy przetrzymującego,

np. po zakończeniu procesu.

• Czekanie cykliczne - P1 czeka na zas przetrzymywany przez P2, P2 czeka na

oddanie przez P3....Pn czeka na zwolnienie zasobu przez P1.

18. Co to jest program nakładkowy, gdzie ma zastosowanie.

Nakładki są potrzebne jeśli proces jest większy niż ilość dostępnej pamięci. Program

nakładkowy nie potrzebuje specjalnego wsparcia ze strony systemu operacyjnego, ale

wymaga starannego programowania, ze znajomością rzeczy.

27. Tablica stron prosta i odwrotna.

• Tablica stron - Jest przechowywana w pamięci operacyjnej. Jej położenie wskazuje

rejestr bazowy tablicy stron. Rozmiar tablicy stron jest przechowywany w rejestrze

długości tablicy stron. Określa on na największy dopuszczalny adres. Przy korzystaniu z

tablicy stron, dostęp do pamięci wymaga dwukrotnego dostępu do pamięci. W celu

przyspieszenia dostępu do pamięci stosuje się rozwiązanie sprzętowe - małą, szybką

pamięć podręczną zwaną rejestrami asocjacyjnymi lub buforami translacji adres

stron. Bufory te zwierają od 8 do 2048 pozycji. Jeśli dany numer strony nie znajduje się

w buforach, to przeszukiwana jest cała tablica stron. Przy dobrze skonstruowanym

algorytmie, w buforach translacji znajduje się od 80 do 98 % potrzebnych numer

stron.

• Odwrona tablica stron ma po jednej pozycji dla każdej ramki w pamięci fizycznej

Każda pozycja zawiera numer procesu posiadającego ramkę oraz adres wirtualny strony

przechowywanej w ramce rzeczywistej pamięci. W systemie istnieje tylko jedna tablica

stron - ogranicza to zajętość pamięci, ale zwiększa czas przeszukiwania (trzeba

przeszukać całą tablicę). Stosowanie

28.Poprawa wydajności systemów dyskowych

• pamięć podręczna- przechowywanie całych ścieżek dysku w pamięci - prawdopodobnie

będą z nich w niedługim czasie czytane dane. Wykorzystana do tego celu specjalna

pamięć, lub nieużywana pamięć głna

• wczesne zwalnianie -usuwanie bloku z bufora natychmiast, gdy pojawia się zamienia

na następny (oszczędza pamięć)

• czytanie z wyprzedzeniem - z zamionym blokiem czyta się kilka następnych, gdy

prawdopodobnie zaraz będą potrzebne

• RAM-dysk - wszystkie operacje dyskowe przeprowadza się w pamięci Zawartość RAMdysku

jest pod kontrola uużytkownika Wada - zawartość ginie po wyłączeniu zasilania,

awarii.

29. Opisz znane Ci metody przydziału procesora.

• Planowanie metoda FCFS (pierwszy zgłoszony - pierwszy obsłużony).

▪ Średni czas oczekiwania bardzo zależy od kolejnosci zgłoszenia proces

▪ Efekt konwoju - małe procesy czekają na zwolnienie procesora przez jeden wielki proces

▪ Algorytm FCFS jest niewywłaszczający

▪ Algorytm ten jest nieużyteczny w systemach z podziałem czasu, w ktych procesy powinny dostawać procesor w regularnych odstępach czasu

• Planowanie metoda SJF (najpierw najkrsze zadanie)

▪ Mozna udowodnić, że planowanie ta metoda jest optymalne

▪ Umieszczenie krkiego procesu przed długim w większym stopniu zmniejsza czas oczekiwania krkiego procesu niż zwiększa czas oczekiwania procesu długiego

▪ Problem - nie można przewidzieć długości następnej fazy procesora, można ja tylko szacowac, najczesciej za pomoca sredniej wykładniczej z poprzednich faz procesora.

▪ Algorytm SJF może być wywłaszczajacy lub niewywłaszczający Gdy do kolejki dochodzi nowy proces, kty posiada fazę procesora krsza niż pozostały czas w bieżącym procesie, algorytm wywłaszczajacy odbiera procesor bieacemu procesowi i przekazuje go krszemu. Metoda ta nazywa się SRTF (shortest remaining time first)

34. Co to są rozkazy niepodzielne. Gdzie maja zastosowanie?

_ Sa to sprzetowe rozkazy składajace sie z kilku kroków, ale

wykonywane nieprzerwanie, np.:

function Testuj_i_Ustal (var znak:boolean):boolean;

begin

Testuj_i_Ustal:=znak;

znak:=true;

end;

Zastosowanie:

repeat

while Testuj_i_Ustal (wspolna) do nic_nie_rob;

sekcja krytyczna

wspolna:=false;

reszta

until false;

36. Atrybuty plików.
Atrybut pliku to cecha charakterystyczna danego pliku w komputerze.
Atrybutami mogą być:
rozmiar
nazwa
data utworzenia, modyfikacji, ostatniego dostępu, usunięcia itp.
właściciel i grupa pliku
prawa (zapisu, odczytu itd. - mogą być odmienne dla różnych grup użytkowników)
położenie, czyli wskaźnik do miejsca na urządzeniu, na którym plik został zapisany (często tablica wskaźników)
typ pliku
Atrybuty zależą od systemu operacyjnego, a dokładniej od jego systemu plików.

37. Przełączanie kontekstu.

Podczas przejścia procesora z wykonywania jednego procesu do drugiego należy

przechować stan starego procesu i załadować przechowany stan nowego. Z punktu widzenia

systemu są to działania nieproduktywne, tak jak przygotowanie czy sprzątanie stanowiska

pracy, ale są niezbędne przy wieloprogramowości. Mechanizm wątk pozwala na redukcję

czasu przełączania kontekstu.

8. Planiści, wymień i opisz czym się różnią?

Planiści służą do planowania przydzielania poszczegnym procesom zasob

systemowych. Planist dzielimy na dwie kategorie:

• Planista długoterminowy (planista zadań) - wybiera procesy do kolejki proces

gotowych, do pamięci. Jest on wywoływany stosunkowo rzadko (sekundy) i nie musi

być szybki. Zadaniem planisty długoterminowego jest dob optymalnej mieszanki

zadań ograniczonych przez procesor (wymagających więcej czasu procesora niż I/O) i

przez we-wy (wymagających obsługi I/O częściej niż procesora).

• Planista krkoterminowy (planista przydziału procesora) - wybiera proces z puli

proces gotowych i przydziela mu procesor. Jest on wywoływany bardzo często (co

ms) i musi być bardzo szybki.

• Planista średnioterminowy - występuje w niektych systemach z podziałem czasu. Jego

zadaniem jest, w koniecznych przypadkach, zmniejszanie stopnia wieloprogramowości

poprzez wysyłanie części zadań chwilowo na dysk (swapping). Pomaga to w doborze

lepszego zestawu proces w danej chwili, lub dla zwolnienia obszaru pamięci.

9. Na czym polega odpytywanie wejścia/wyjścia.

Odpytywanie (polling) — ciągłe lub okresowe sprawdzanie stanu sterownika.

Do uzgadniania pomiędzy procesorem a urządzeniem w prostym schemacie producent konsument wystarczą dwa bity:

• Od strony procesora bit gotowości polecenia w rejestrze poleceń - sygnalizujący

kompletne polecenie dla urządzenia.

• Od strony urządzenia bit zajętości (w rejestrze stanu), sygnalizujący, że urządzenie

jest zajęte pracą.

Kolejność działań przy uzgadnianiu:

• Procesor realizuje aktywne czekanie, dopi bit zajętości jest ustawiony.

• Procesor ustawia bit pisania i wpisuje bajt danych do rejestru danych wy.

• Procesor ustawia bit gotowości polecenia.

• Sterownik ustawia bit zajętości po zauważeniu bitu gotowości polecenia.

• Sterownik czyta rejestr poleceń, rozpoznaje polecenie pisania. Czyta bajt

danych z rejestru i wykonuje na urządzeniu operacje wejścia-wyjścia.

• Sterownik czyści bit gotowości polecenia, bit błędu, a na końcu bit zajętości. I tak

dla każdego bajtu danych

10. Kolejki wielopoziomowe.

● Kolejka procesów gotowych jest podzielona na kilka kolejek, na przykład

– Kolejka procesów pierwszoplanowych (interakcyjnych)

– Kolejka procesów drugoplanowych

● Każda kolejka ma swój własny algorytm planowania, na przykład

– Kolejka procesów pierwszoplanowych, alg. Rotacyjny

– Kolejka procesów drugoplanowych, alg. FCFS

● Możliwości podziału czasu procesora pomiędzy kolejki.

– Procesy pierwszoplanowe wykonują się zawsze pierwsze.

Time Slice - każda kolejka ma przydzielony pewien stopień wykorzystania

procesora

● Procesy pierwszoplanowe 80%

● Procesy drugoplanowe 20%

Wielopoziomowe kolejki ze sprzężeniem zwrotnym

● Proces może być przemieszczany pomiędzy kolejkami.

● Jeżeli proces zużywa za dużo czasu procesora zostaje przemieszczony do

kolejki o niższym priorytecie

● Proces oczekujący bardzo długo może zostać przemieszczony do kolejki o

wyższym priorytecie.

– Zapobiega to zagłodzeniu.

19. Opisz stronicowanie na żądanie.

· Strona jest sprowadzana do pamieci dopiero wtedy, gdy jest potrzebna:

mniej wejscia-wyjscia, mniejsze zapotrzebowanie na pamieci, wiecej uzytkowników

· Strona jest potrzebna, gdy pojawia sie do niej odwolanie

· Z kazde pozycja w tablicy stron jest zwiazany bit

poprawnosci odwolania (1 - strona w pamieci, 0 – strona poza pamiecia)

· Odwolanie do strony z bitem poprawnosci odwolania równym 0 powoduje blad braku strony

System operacyjny:

- znajduje wolna ramke

- sprowadza strone z dysku do pamieci

- uaktualnia bit poprawnosci odwolania (:= 1)

- restartuje instrukcje, która spowodowala blad

· Co sie dzieje, gdy nie ma wolnej ramki:

wymiana stron - OS znajduje w

pamieci strone (najmniej uzywana) i usuwa ja na dysk

· Niektóre strony moga byc sprowadzane do pamieci wielokrotnie

20. Opisz kryteria wyboru wolnego obszaru pamięci przy przydziale ciągłym

• Dziura - ciągły obszar niezajętej pamięci

• Pierwsze dopasowanie - system przydziela pierwsza dziurę o wystarczajacej wielkości

Szukanie rozpoczyna się od początku wykazu dziur lub od miejsca w ktym

zakończono ostatnie szukanie.

• Najlepsze dopasowanie - przydziela się najmniejsza z dostatecznie dużych dziur

(najmniejsza pozostałość po przydziale).

• Najgorsze dopasowanie - przydziela się największą dziurę Czasami duża pozostałość po

takim przydziale jest bardziej przydatna niż malutkie fragmenty po najlepszym

dopasowaniu. Ciekawe i oryginalne podejście do zagadnienia, ale praktyka wykazała, że

dwie pozostałe metody są lepsze pod względem czasu działania i wykorzystania pamięci

21. Wymień i opisz algorytmy zastępowania stron.

• Algorytm FIFO (first in, first out) - o każdej ze stron zapamiętuje się informację, kiedy

ona została sprowadzona do pamięci i zastępuje się „najstarszą" stronę.

• Algorytm LRU (least recently used) - zastępowanie stron, kte były najdawniej

używane. Typowanie najstarszych odbywa się poprzez licznik (w tablicy stron jest

rejestr czasu ostatniego używania strony) lub stos (przy każdym odwołaniu do strony, jej

numer jest wyjmowany i umieszczany na szczycie stosu).

• Algorytmy zliczające

Wprowadzamy licznik odwołań do strony

LFU (least frequently used) -wyrzuć najrzadziej używaną

MFU (most frequently used) - bo najrzadziej używana jest chyba niedawno

wprowadzona do pamięci i bedzie niedługo w użyciu

Obydwa te algorytmy niezbyt dobrze przybliżaja optimum.

• Algorytmy buforowania stron

Zanim się usunie ofiarę, wczytuje się potrzebna stronę do wolnej ramki.

Zaleta - można wcześniej uruchomić proces, zanim strona-ofiara

zostanie zapisana na dysku. Zapis robi się w wolnej chwili. Po zapisie oprżioną

ramkę dopisuje się do listy wolnych.

• Planowanie priorytetowe

▪ Mechanizm bardzo podobny do SJF, ale kryterium szeregowania jest priorytet procesu.

▪ Priorytety mogą być definiowane wewnętrznie, na podstawie pewnych cech procesu (np. wielkość pamięci)

▪ Wady: Procesy o niskim (mało ważnym) priorytecie mogą nigdy nie dostać procesora (głodzenie, nieskończone blokowanie). Rozwiązaniem problemu jest „postarzanie”.

• Planowanie rotacyjne (Round-Robin - RR)

▪ Zaprojektowane specjalnie do system z podziałem czasu.

▪ Każdy proces otrzymuje kwant czasu (10-100ms), po upływie ktego jest wywłaszczany i umieszczany na końcu kolejki zadań gotowych.

▪ Kolejny proces do wykonania jest wybierany zgodnie z algorytmem FCFS

▪ Jeżeli jest n proces gotowych a kwant czasu wynosi q, to kady proces czeka nie dłużej niż (n-1)*q jednostek czasu.

▪ Wydajność algorytmu bardzo zależy od kwantu czasu q. Gdy q jest due, to algorytm RR przechodzi w FCFS. Gdy q jest bardzo małe, to znaczna część czasu procesora poświęcona jest na przełączanie kontekstu. Dobra zasada:

80% faz procesora powinno być krszych ni jeden kwant czasu.

• Wielopoziomowe planowanie kolejek

▪ Kolejka proces gotowych jest podzielona na oddzielne pod kolejki, np:

• kolejka proces pierwszoplanowych (foreground),

• kolejka proces drugoplanowych (background).

▪ Procesy pierwszoplanowe maja absolutny priorytet nad drugoplanowymi. Aby nie „zagłodzić” proces 2-planowych, stosuje się podział czasu na kolejki,

przykładowo:

• kolejka pierwszoplanowa - 80% czasu procesora,

• kolejka drugoplanowa - pozostałe 20%

▪ Kolejki wielopoziomowe ze sprzężeniem zwrotnym. Mechanizm ten pozwala na przesuwanie proces pomiędzy kolejkami. Proces, kty używa za dużo procesora, można „karnie” przenieść do kolejki o niższym priorytecie i przez to dać szerszy dostęp do procesora innym procesom.

• Planowanie wieloprocesorowe.

▪ Planowanie heterogeniczne - dla system sieciowych, rozproszonych, o

rżych procesorach - bardzo trudne w realizacji

▪ Planowanie homogeniczne - dla procesor tego samego typu. Nie stosuje się

oddzielnych kolejek dla każdego procesora – możliwość przestoj niektych

procesor.

▪ Wieloprzetwarzanie symetryczne - kady procesor sam wybiera procesy ze

wspnej kolejki - działanie musi być bardzo starannie zaprogramowane, aby

uniknąć np. dublowania.

▪ Wieloprzetwarzanie asymetryczne - jeden procesor jest nadrzędny (master) i on

planuje przydział proces, a pozostałe (slave) wykonują przydzielone im

zadania.

• Planowanie w czasie rzeczywistym

▪ W rygorystycznych systemach czasu rzeczywistego musi być zapewnione wykonanie zadania krytycznego w określonym czasie. Następuje rezerwacja zasob niezbędnych do wykonania zadania. Jeśli planista nie może zarezerwować zasob - rezygnuje z przydziału zadania do procesora.


Wyszukiwarka

Podobne podstrony:
egz ściąga teoria
sciaga teoria2
06 SYSTEM PODATKOWY teoria
Ściąga Teoria
MATMA 2 ściąga teoria
systemy sciaga, systemy transportowe
Teoria niezawodności, Politechnika Lubelska, Studia, semestr 5, Sem V, Sprawozdania, ŚĆIĄGAWKI, Teor
05 SYSTEM PODATKOWY teoria
Ściąga teoria wymiarowania jezdni
materiały politologia semestry I-IV, sciaga+teoria polityki c, 1
System sylabiczny, teoria literatury
Ściaga teoria literatury, Studia I stopnia dziennikarstwo
02. SYSTEM PODATKOWY teoria, Teorie opodatkowania i systemy podatkowe, Teorie opodatkowania i system
Egzamin z 2009, ściąga -teoria, Statystyka jest nauką traktującą o ilościowych modelach badania zjaw
systemy, sciaga na systemy, Paliwo umowne to hipotetyczne paliwo mające wartość opałową ok
grk egzamin notatki sciaga teoria
sciaga teoria

więcej podobnych podstron