Planowanie przydziału procesora

Wielkość: px
Rozpocząć pokaz od strony:

Download "Planowanie przydziału procesora"

Transkrypt

1 Planowanie przydziału procesora Komponenty jądra związane z szeregowaniem Ogólna koncepcja planowania Kryteria oceny algorytmów planowania Algorytmy planowania Przykłady implementacji przydziału czasu procesora w systemach Linux i Windows Systemy operacyjne Wykład 3 1/51

2 Planowanie komponenty jądra Planista krótkoterminowy (CPU scheduler) wyznacza wartość priorytetu procesów gotowych i wybiera proces (o najwyższym priorytecie) do wykonania. Ekspedytor (zwany również dyspozytorem) (dispatcher) realizuje przekazanie sterowanie do procesu wybranego przez planistę (dokonuje przełączenia kontekstu). Systemy operacyjne Wykład 3 2/51

3 Ogólna koncepcja planowania Tryb decyzji określa okoliczności, w których oceniane i porównywane są priorytety procesów oraz dokonywany jest wybór procesu do wykonania. Funkcja priorytetu funkcja wyznaczająca aktualny priorytet procesu na podstawie parametrów procesu i stanu systemu. Reguła arbitrażu reguła rozstrzygania konfliktów w dostępie do procesora w przypadku procesów o tym samym priorytecie. Systemy operacyjne Wykład 3 3/51

4 Tryb decyzji Schemat niewywłaszczeniowy (nonpreemptive) proces po uzyskaniu dostępu do procesora wykonywany jest do momentu zakończenie lub zgłoszenia żądania obsługi do systemu. Schemat wywłaszczeniowy (preemptive) proces może zostać zatrzymany i umieszczony w kolejce procesów gotowych, a procesor zostaje przydzielony procesowi o wyższym (lub równym) priorytecie. Systemy operacyjne Wykład 3 4/51

5 Podejmowanie decyzji o wywłaszczeniu Utworzenie i przyjęcie nowego procesu. Obudzenie procesu w wyniku otrzymania komunikatu, sygnału gotowości urządzenia (przerwanie) lub sygnału wynikającego z synchronizacji. Upłynięcie kwantu czasu odmierzanego przez czasomierz. Wzrost priorytetu innego procesu w stanie gotowy powyżej priorytetu procesu wykonywanego możliwe w systemie ze zmiennymi priorytetami. Systemy operacyjne Wykład 3 5/51

6 Funkcja priorytetu Argumentami funkcji priorytetu są wybrane składowe stanu procesu oraz stanu systemu. Priorytet procesu w danej chwili jest wartością wynikową funkcji priorytetu dla bieżących wartości parametrów stanu danego procesu i aktualnego stanu systemu. Systemy operacyjne Wykład 3 6/51

7 Argumenty funkcji priorytetu Czas oczekiwania czas spędzony w kolejce procesów gotowych (czas spędzony w stanie gotowości). Czas obsługi czas, przez który proces był wykonywany (wykorzystywał procesor) od momentu przyjęcia do systemu. Rzeczywisty czas przebywania w systemie czas spędzony w systemie od momentu przyjęcia (czas obsługi + czas oczekiwania + czas realizacji żądań zasobowych). Czasowa linia krytyczna czas, po którym wartość wyników spada (nawet do zera, np. przy przewidywaniu pogody). Priorytet zewnętrzny składowa priorytetu, która pozwala wyróżnić procesy ze względu na klasy użytkowników lub rodzaj wykonywanych zadań. Wymagania odnośnie wielkości przestrzeni adresowej pamięci. Obciążenie systemu liczba procesów przebywających w systemie i ubiegających się (potencjalnie) o przydział procesora lub innych zasobów, zajętość pamięci. Systemy operacyjne Wykład 3 7/51

8 Przykład realizacji przetwarzania Diagram przedstawia zmiany stanu 3 procesów w czasie obrazując parametry czasowe. gotowość oczekiwanie wykonanie P 1 P 2 P Systemy operacyjne Wykład 3 8/51

9 Reguła arbitrażu Losowo możliwe w przypadku, gdy liczba procesów o tym samym priorytecie jest niewielka. Cyklicznie cykliczny przydział procesora kolejnym procesom. Chronologicznie w kolejności przyjmowania procesów do systemu (w kolejności FIFO). Systemy operacyjne Wykład 3 9/51

10 Kryteria oceny algorytmów planowania Efektywność z punktu widzenia systemu: wykorzystanie procesora (processor utilization) procent czasu, przez który procesor jest zajęty pracą, przepustowość (throughput) liczba procesów kończonych w jednostce czasu. Inne aspekty z punktu widzenia systemu: sprawiedliwość (fairness) równe traktowanie procesów, respektowanie zewnętrznych priorytetów procesów, równoważenie obciążenia wykorzystania zasobów. Efektywność z punktu widzenia użytkownika: czas cyklu przetwarzania (turnaround time) czas pomiędzy przedłożeniem zadania, a zakończeniem jego wykonywania (rzeczywisty czas przebywania w systemie w momencie zakończenie procesu), czas odpowiedzi (reakcji), (response time) czas pomiędzy przedłożeniem żądania, a rozpoczęciem przekazywania odpowiedzi, czas opóźnienia czas od linii krytycznej do momentu zakończenia wykonywania. Inne aspekty z punktu widzenia użytkownika: przewidywalność realizacja przetwarzania w zbliżonym czasie niezależnie od obciążenia systemu. Systemy operacyjne Wykład 3 10/51

11 Algorytmy planowania niewywłaszczającego FCFS (First Come First Served) pierwszy zgłoszony, pierwszy obsłużony. LCFS (Last Come First Served) ostatni zgłoszony, pierwszy obsłużony. SJF (SJN, SPF, SPN, Shortest Job/Process First/Next) najpierw najkrótsze zadanie. Systemy operacyjne Wykład 3 11/51

12 Algorytmy planowania wywłaszczającego Planowanie rotacyjne (Round Robin, RR) po ustalonym kwancie czasu proces wykonywany jest przerywany i trafia do kolejki procesów gotowych. SRT (Shortest Remaining Time) najpierw zadanie, które ma najkrótszy czas do zakończenia. Systemy operacyjne Wykład 3 12/51

13 Podstawowe algorytmy planowania a funkcja priorytetu Podstawowe algorytmy planowania można uzyskać przez odpowiednią definicję funkcji priorytetu. Parametrami funkcji priorytetu dla podstawowych algorytmy planowania są następujące atrybuty czasowe procesów: a bieżący (dotychczasowy) czas obsługi, r rzeczywisty czas w systemie, t całkowity wymagany czas obsługi (czas obsługi do momentu zakończenia). Systemy operacyjne Wykład 3 13/51

14 Własności algorytmów planowania algorytm priorytet tryb decyzji arbitraż FIFO r niewywłaszczeniowy losowy LIFO -r niewywłaszczeniowy losowy SJF -t niewywłaszczeniowy SRT a -t wywłaszczeniowy losowy lub chronologiczny losowy lub chronologiczny RR stały wywłaszczeniowy cykliczny Systemy operacyjne Wykład 3 14/51

15 Przykłady uszeregowania bez wywłaszczeń FCFS SJF SRT RR P1 P2 P3 P1 P2 P3 P1 P2 P3 P1 P2 P3 z wywłaszczaniem gotowość wykonywanie Systemy operacyjne Wykład 3 15/51

16 Systemy operacyjne Wykład 3 16/51 Estymacja czasu obsługi algorytmy SJF, SRT n S n T S T n S n n n n i i n T T T T T S S T S n i n i n n n i n i n n n n Średnia wykładnicza Średnia arytmetyczna

17 Dobór kwantu czasu Krótki kwant czasu oznacza zmniejszenie czasu cyklu przetwarzania procesów krótkich, ale zwiększa narzut czasowy związany z przełączaniem kontekstu. Z punktu widzenia interakcji z użytkownikiem kwant czasu powinien być trochę większy, niż czas odpowiedzi (reakcji). kwant czasu > czas interakcji czas odpowiedzi kwant czasu wykonywanie oczekiwanie gotowość kwant czasu < czas interakcji kwant czasu czas odpowiedzi Systemy operacyjne Wykład 3 17/51

18 Inne algorytmy planowania Planowanie priorytetowe oparte na priorytecie zewnętrznym. Planowanie wielokolejkowe w systemie jest wiele kolejek procesów gotowych i każda z kolejek może być inaczej obsługiwana. Planowanie przed liniami krytycznymi zakończenie zadania przed czasową linią krytyczną lub możliwie krótko po tej linii. Systemy operacyjne Wykład 3 18/51

19 Szeregowanie procesów ograniczonych wejściem-wyjściem Procesy ograniczone wejściem-wyjściem potrzebują niewiele czasu procesora, większość czasu w systemie spędzając na oczekiwaniu na urządzenia zewnętrzne. Opóźnianie przydziału procesora dla tego typu procesów powoduje zmniejszenie wykorzystania urządzeń zewnętrznych, a przydział ze względu na nie długą fazę procesora nie powoduje istotnego zwiększenia czasu oczekiwania innych procesów. Właściwym algorytmem byłby SJF lub SRT. Bezwzględna preferencja dla procesów oczekujących na gotowość urządzeń może spowodować głodzenie procesów ograniczonych procesorem. Systemy operacyjne Wykład 3 19/51

20 Wirtualne planowanie rotacyjne główna kolejka procesów gotowych (VRR) procesor pomocnicza kolejka procesów gotowych we - wy zamówienie operacji we - wy upłynięcie kwantu czasu sygnał synchronizacja Systemy operacyjne Wykład 3 20/51

21 Wielopoziomowe kolejki ze sprzężeniem zwrotnym poziom 0 procesor poziom 1 poziom 2 koniec fazy procesora poziom n Systemy operacyjne Wykład 3 21/51

22 Implementacja algorytmów planowania Z punktu widzenia przetwarzania użytkowego przełączanie kontekstu jest marnotrawstwem czasu procesora. Decyzja planisty musi zapaść w możliwie krótkim czasie. Struktury danych muszą być tak zaprojektowane, żeby ułatwić dokonanie szybkiego wyboru procesu o najwyższym priorytecie zgodnie z polityką planowania przydziału procesora (modelem matematycznym). Systemy operacyjne Wykład 3 22/51

23 Implementacja algorytmu FCFS Struktura danych dla kolejki procesów gotowych kolejka FIFO. Umieszczenie procesu w kolejce procesów gotowych dopisanie procesu na końcu kolejki FIFO. Wybór procesu do wykonania pobranie procesu z czoła kolejki FIFO. Czy taki algorytm realizuje dokładnie założenia modelu matematycznego? Systemy operacyjne Wykład 3 23/51

24 Kolejki priorytetowe Kolejka priorytetowa jest wielopoziomową kolejką ze sprzężeniem zwrotnym, w której każdy poziom odpowiada pewnej wartości priorytetu lub pewnemu zakresowi wartości. Umieszczenie procesu w kolejce priorytetowej sprowadza się do wyznaczenia pozycji odpowiedniej dla priorytetu procesu, a następnie umieszczeniu procesu na końcu kolejki na tej pozycji. Wybór procesu o najwyższym priorytecie sprowadza się do zlokalizowania pierwszej niepustej w kolejności malejących priorytetów i wybrania pierwszego procesu z tej kolejki. Systemy operacyjne Wykład 3 24/51

25 Szeregowanie w systemie UNIX Informacje wstępne Stosowany jest algorytm rotacyjny z wywłaszczaniem, oparty na priorytetach dynamicznych. Wartość priorytetu jest z zakresu od 0 do 127, mniejsza wartość liczbowa oznacza wyższy priorytet. Priorytet (dynamiczny) składa się z części statycznej i części modyfikowanej przez planistę. Część statyczna składa się z bazy (definiowanej przez system) oraz wartość nice (ustalanej przez użytkownika lub nadzorcę). Priorytet procesu ustalany jest zawsze, gdy proces ten przechodzi z trybu jądra do trybu użytkownika. Okresowo (mniej więcej co 1 sekundę) przeliczane są priorytety wszystkich procesów gotowych. Systemy operacyjne Wykład 3 25/51

26 Struktury danych na potrzeby szeregowania Na potrzeby szeregowania procesy zorganizowane są w kolejkę priorytetową qs. Każda pozycja tablicy kolejek odpowiada czterem wartościom priorytetu. Wektor bitowy whichqs wskazuje pozycje, na których są niepuste kolejki. Wyróżnia się 3 zakresy priorytetu: poziom jądra dla procesów nieprzerywalnych, poziom jądra dla procesów przerywalnych, poziom użytkownika. Systemy operacyjne Wykład 3 26/51

27 Kolejka priorytetowa priorytet 0-3 priorytet 4-7 priorytet 8-11 priorytet priorytet priorytet priorytet priorytet whichqs priorytet priorytet qs Systemy operacyjne Wykład 3 27/51

28 Parametry funkcji priorytetu i jego przeliczanie cpu i miara dotychczasowego wykorzystania procesora przez i-ty proces, baza i priorytet bazowy procesu i-tego, nice i składowa priorytetu procesu i-tego definiowana przez użytkownika, pri i priorytet procesu i-tego (mniejsza wartość oznacza wyższy priorytet), usrpri i priorytet procesu i-tego w trybie użytkownika. usrpri cpu i cpu i i baza i 1 cpu 2 i nice cpu cpu 2 Systemy operacyjne Wykład 3 28/51 i i i pri i usrpri i

29 Przykład usrpri 1 cpu 1 usrpri 2 cpu 2 usrpri 3 cpu proces P 1 proces P 2 proces P 3 Systemy operacyjne Wykład 3 29/

30 Szeregowanie w systemie Linux (jądro 2.6). Informacje wstępne Priorytet (dynamiczny) składa się z części statycznej i części modyfikowanej przez planistę. Część statyczna definiowana jest przez wartość nice z zakresu od -20 do 19. Priorytet dynamiczny decyduje zarówno o pierwszeństwie w dostępie do procesora jak i wielkości kwantu czasu (od 10 ms do 200 ms). Preferowane są (nagradzane wyższym priorytetem dynamicznym) zadania ograniczone wejściem-wyjściem. Systemy operacyjne Wykład 3 30/51

31 priorytety zwykłe priorytety czasu rzeczywistego Priorytety procesów czasu rzeczywistego Priorytety przydzielane są statycznie (nie zmieniają się) z zakresu od 0 do 99. Priorytety procesów czasu rzeczywistego są zawsze większe od priorytetów zadań zwykłych. Do grupy zadań czasu rzeczywistego mogą być dołączona tylko procesy nadzorcy (użytkownika uprzywilejowanego root). Tablica priorytetów nice 19 Systemy operacyjne Wykład 3 31/51

32 Struktury danych do zarządzania procesami gotowymi Tablica priorytetów dla zadań aktywnych tablica kolejek procesów gotowych, które nie wykorzystały jeszcze kwantu czasu. Tablica priorytetów dla zadań przeterminowanych tablica kolejek procesów gotowych, które wykorzystały kwant czasu. Mapa (maska) bitowa dla każdej z tablic, identyfikująca niepuste kolejki w tablicy priorytetowej. Systemy operacyjne Wykład 3 32/51

33 Wywłaszczenie Wywłaszczenie procesu w trybie użytkownika może nastąpić przy powrocie z trybu jądra po obsłużeniu przerwania lub zakończeniu wywołania systemowego, gdy znacznik need_resched jest ustawiony. Znacznik jest ustawiany w następujących przypadkach: po upływie kwantu czasu bieżącego (wykonywanego) zadania, po uzyskaniu gotowości przez zadanie o wyższym niż bieżące priorytecie. Systemy operacyjne Wykład 3 33/51

34 Upłynięcie kwantu czasu Po upłynięciu kwantu czasu wykonywanego procesu zwykłego następuje przeliczenie jego priorytetu oraz wyznaczenie następnego kwantu czasu. Jeśli proces charakteryzuje się dużym stopniem interaktywności, a w systemie nie ma zadań przeterminowanych jest on umieszczany na odpowiedniej pozycji w tablicy priorytetów dla zadań aktywnych, w przeciwnym przypadku umieszczany jest tablicy priorytetów dla zadań przeterminowanych. Systemy operacyjne Wykład 3 34/51

35 Zmiana epoki Jeśli tablica priorytetów dla zadań aktywnych jest pusta (wszystkie procesy gotowe wykorzystały swój kwant czasu), następuje zmiana epoki. Zmiana epoki oznacza zamianę tablicy priorytetów: tablica priorytetów dla zadań przeterminowanych staję się tablicą dla zadań aktywnych i odwrotnie. Systemy operacyjne Wykład 3 35/51

36 Zmiana priorytetów dynamicznych Początkowy priorytet procesu zwykłego równy jest wartości nice. Wartość priorytetu może zostać zmieniona następująco: zwiększona o 5 dla zadań ograniczonych procesorem (obniżenia priorytetu), zmniejszona o 5 dla zadań ograniczonych wejściem-wyjściem, rozumianych przez domniemanie jako interaktywne, pozostać bez zmian. Proporcjonalnie do priorytetu ustalana jest wielkość kwantu czasu (z zakresu od 10 ms do 200 ms, domyślnie 100 ms). Systemy operacyjne Wykład 3 36/51

37 Ocena interaktywności Miarą interaktywności jest względna długość okresów korzystania z procesora oraz przebywania w stanie oczekiwania. Implementacją takiej koncepcji w systemie Linux jest atrybut procesu sleep_avg, zmniejszany w czasie wykonywania procesu, a zwiększany po wyjściu ze stanu oczekiwania. Wartość sleep_avg zmienia się od 0 do MAX_SLEEP_AVG, a wartością domyślna jest 10 ms. Systemy operacyjne Wykład 3 37/51

38 Planowanie w klasie czasu rzeczywistego Na danym poziomie priorytetu najpierw wybierane są procesy klasy SCHED_FIFO. Proces klasy SCHED_FIFO wykonuje się tak długa, aż nie odda procesora lub nie pojawi się proces o wyższym priorytecie. Proces klasy SCHED_RR wykonuje się podobnie jak proces klasy SCHED_FIFO, ale po upływie kwantu czasu oddaje zasoby innemu procesowi o tym samym priorytecie (jeśli taki proces istnieje). Systemy operacyjne Wykład 3 38/51

39 Szeregowanie w systemie Windows 2000/XP. Informacje wstępne 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 (zmienne), 16 do 31 priorytety czasu rzeczywistego. Większa wartość (poziom) oznacza wyższy priorytet. Systemy operacyjne Wykład 3 39/51

40 Definiowanie priorytetu Zdefiniowanie klasy priorytetu dla procesu: idle (4), below normal (6), normal (8), above normal (10), high (13), realtime (24). Zmodyfikowanie priorytetu wątku w ramach klasy priorytetu: idle (-15), lowest (-2), below normal (-1), normal (0), above normal (+1), highest (+2), time critical (+15). Priorytet bazowy wątku jest sumą wartości dla klasy oraz modyfikatora (priorytetu wątku). Systemy operacyjne Wykład 3 40/51

41 priorytet dynamiczny priorytet czasu rzeczywistego Priorytet bazowy wątku THREAD_PRIORITY_TIME_CRITICAL REALTIME_PRIORITY_CLASS THREAD_PRIORITY_IDLE THREAD_PRIORITY_TIME_CRITICAL HIGH_PRIORITY_CLASS ABOVE_NORMAL_PRIORITY_CLASS NORMAL_PRIORITY_CLASS BELOW_NORMAL_PRIORITY_CLASS IDLE_PRIORITY_CLASS THREAD_PRIORITY_IDLE Systemy operacyjne Wykład 3 41/51

42 KiDispatcherReadyListHead Struktury danych do zarządzania wątkami gotowymi KiDispatcherReadyListHead tablica kolejek wątków gotowych. KiReadySummary maska bitowa identyfikująca niepuste kolejki w tablicy KiDispatcherReadyListHead. Tablica kolejek wątków gotowych 31 wątek T A proces P 1... wątek T B wątek T C wątek T D proces P KiReadySummary wątek T E Systemy operacyjne Wykład 3 42/51

43 Przełączanie kontekstu Zakończenie działania wątku. Przejście w stan oczekiwania (samoistnie w wyniku odwołania do systemu operacyjnego w programie np. wątku w związku z synchronizacją lub operacją wejścia - wyjścia). Wywłaszczenie przez wątek o wyższym priorytecie. Upłynięcie kwantu czasu. Systemy operacyjne Wykład 3 43/51

44 Procedury zarządzania wątkami gotowymi FindReadyThread uruchamiana po zwolnieniu procesora przez wątek wykonywany, szuka wątku gotowego o najwyższym priorytecie i ekspediuje go na procesor. ReadyThread uruchamiana dla wątku, który przechodzi w stan gotowości lub zwiększa priorytet, porównuje priorytet gotowego wątku z priorytetem wątku wykonywanego i albo wywłaszcza wątek wykonywany albo kolejkuje wątek gotowy. Systemy operacyjne Wykład 3 44/51

45 Przebieg wywłaszczenia przez ReadyThread Niech Tg oznacza wątek gotowy, Tw wątek wykonywany, a pri(t) priorytet wątku T. if pri(tg) > pri(tw) then if liczba wykorzystanych kwantów przez Tw 1 then umieść Tw na końcu KiDispatcherReadyListHead[pri(Tw)] else umieść Tw na pocz. KiDispatcherReadyListHead[pri(Tw)] else umieść Tg na końcu KiDispatcherReadyListHead[pri(Tg)] Systemy operacyjne Wykład 3 45/51

46 Upłynięcie kwantu czasu Kwant wyrażanych jest jednostkach kwantu czasu. Liczba jednostek do dyspozycji wątku wynosi: 6 w wersjach dla komputerów osobistych i stacji roboczych, 36 w wersjach dla serwerów. Z każdym taktem zegara odejmowane są 3 jednostki. Upłynięcie kwantu czasu (zredukowanie liczby jednostek do 0) powoduje wywłaszczenie z procesora pod warunkiem, że jest gotowy inny wątek o takim samym (lub wyższym) priorytecie. Jeśli dotychczas działający wątek jest jedynym o tak wysokim priorytecie, przydzielony zostaje mu kolejny kwant. Systemy operacyjne Wykład 3 46/51

47 Regulacja kwantu czasu Wątkowi o priorytecie mniejszym niż 16 zabierana jest jedna jednostka kwantu, gdy wchodzi o w stan oczekiwania. Jeśli jednak wątek działa na poziomie 14 lub wyższym, przed zredukowaniem jego kwant jest odnawiany. Podobne postępowanie jest przeprowadzane w pewnych przypadku wątków pierwszoplanowych, nawet jeśli ich priorytet jest mniejszy niż 14. W przypadku wątków o priorytetach powyżej 15 liczba jednostek kwantu jest odnawiana po wyjściu ze stanu oczekiwania. Wątki procesu pierwszoplanowego mogą uzyskać 3-krotnie dłuższy kwant czasu, zależnie od ustawienia rejestru HKLM\SYSTEM\CurrentControlSet \Control\PriorityControl\Win32PrioritySeparation Wydłużenie kwantu ma na celu zwiększenie preferencji dla wątków związanych z oknem pierwszoplanowym przy jednoczesnym uniknięciu zagłodzenia wątków drugoplanowych. W ramach przeciwdziałania głodzeniu wydłużany jest również 2-krotnie czas dla wątków oczekujących długo (ponad 300 taktów) na procesor. Celem tego wydłużenia jest przeciwdziałanie inwersji priorytetów. Systemy operacyjne Wykład 3 47/51

48 Zmiana dynamicznych priorytetów wątków Podwyższenie priorytetu wątku (maksymalnie do wartości 15) może nastąpić w następujących przypadkach: po zakończeniu operacji wejścia-wyjścia, po oczekiwaniu na zdarzenie lub semafor, po zakończeniu oczekiwania przez wątek pierwszoplanowy, po przebudzeniu wątku GUI, po zbyt długim oczekiwaniu w stanie gotowości. Podwyższony priorytet jest obniżany sukcesywnie o 1 po upływie kwantu czasu, aż wróci do wartości bazowej. Systemy operacyjne Wykład 3 48/51

49 Wzrost priorytetu po zakończeniu operacji wejścia-wyjścia Operacja związana z dyskiem, CD, portem równoległym lub kartą wideo wzrost o 1. Operacja związana z siecią, portem szeregowym, potokiem, skrytką pocztową wzrost o 2. Operacja związana z klawiaturą lub myszą wzrost o 6. Operacja związana z kartą dźwiękową wzrost o 8. Wartość podwyższenia dodawana jest do bazowego priorytetu wątku. po oczekiwaniu na zdarzenie lub semafor Wartość zwiększenia, 1, dodawana jest do bazowego priorytetu wątku. Kwant czasu procesora zmniejszany jest o 1 jednostkę. Systemy operacyjne Wykład 3 49/51

50 Wzrost priorytetu po zakończeniu oczekiwania przez wątek pierwszoplanowy Priorytet zwiększany jest o wartość zmiennej jądra PsPrioritySeparation, dostępnej też jako jedno z pól w rejestrze Windows pod nazwą HKLM\SYSTEM\CurrentControlSet \Control\PriorityControl\Win32PrioritySeparation. Wartość zwiększenia dodawana jest do bieżącego priorytetu wątku. Zależnie do wartości Win32PrioritySeparation może zostać zwiększony kwant czasu dla wszystkich wątków procesu pierwszoplanowego. po przebudzeniu wątku GUI Wartość zwiększenia 2 dodawana jest do bieżącego priorytetu wątku. Systemy operacyjne Wykład 3 50/51

51 Przeciwdziałanie głodzeniu Co sekundę uruchamiany jest wątek balance set manager, którego jednym z zadań jest sprawdzanie czasu bieżącego oczekiwania wątków gotowych. Jeśli wątek oczekuje dłużej niż 300 taktów zegara (około 3 4 sekundy), jego priorytet uzyskuje wartość 15, a kwant czasu zwiększa się dwukrotnie, a w wersjach serwerowych czterokrotnie. Po upływie przyznanego kwantu, priorytet wątku wraca do poziomu bazowego. Systemy operacyjne Wykład 3 51/51

Planowanie przydziału procesora

Planowanie przydziału procesora Planowanie przydziału procesora Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Komponenty jądra związane z szeregowaniem Ogólna koncepcja planowania Kryteria oceny uszeregowania Algorytmy

Bardziej szczegółowo

Planowanie przydziału procesora

Planowanie przydziału procesora Dariusz Wawrzyniak Plan wykładu Komponenty jądra związane z szeregowaniem Ogólna koncepcja planowania Kryteria oceny algorytmów planowania Algorytmy planowania (2) 1 Komponenty jądra w planowaniu Planista

Bardziej szczegółowo

przydziału procesora Przykłady implementacji planowania przydziału procesora Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

przydziału procesora Przykłady implementacji planowania przydziału procesora Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Tradycyjne szeregowanie w systemie UNIX Szeregowanie w systemie Linux z jądrem 2.6 Szeregowanie w systemie Windows 2000/XP (2) Szeregowanie

Bardziej szczegółowo

Przykłady implementacji planowania przydziału procesora

Przykłady implementacji planowania przydziału procesora Przykłady implementacji planowania przydziału procesora Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Tradycyjne szeregowanie w systemie UNIX Szeregowanie w systemie Linux z jądrem

Bardziej szczegółowo

Planowanie przydziału procesora

Planowanie przydziału procesora Planowanie przydziału procesora Ogólna koncepcja planowania Tryb decyzji określa moment czasu, w którym oceniane i porównywane są priorytety procesów i dokonywany jest wybór procesu do wykonania. Funkcja

Bardziej szczegółowo

Ogólna koncepcja planowania. Planowanie przydziału procesora. Komponenty jądra w planowaniu. Tryb decyzji. Podejmowanie decyzji o wywłaszczeniu

Ogólna koncepcja planowania. Planowanie przydziału procesora. Komponenty jądra w planowaniu. Tryb decyzji. Podejmowanie decyzji o wywłaszczeniu Planowanie przydziału procesora Ogólna koncepcja planowania Tryb decyzji określa moment czasu, w którym oceniane i porównywane są priorytety procesów i dokonywany jest wybór procesu do wykonania. Funkcja

Bardziej szczegółowo

Przykłady implementacji planowania przydziału procesora. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Przykłady implementacji planowania przydziału procesora. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Przykłady implementacji planowania przydziału procesora Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Celem wykładu jest przedstawienie podejść do planowania przydziału procesora w najbardziej popularnych

Bardziej szczegółowo

Informatyka, systemy, sieci komputerowe

Informatyka, systemy, sieci komputerowe Informatyka, systemy, sieci komputerowe Systemy operacyjne wykład 2 Procesy i wątki issk 1 SO koncepcja procesu i zasobu Proces jest elementarną jednostką pracy zarządzaną przez system operacyjny, wykonującym

Bardziej szczegółowo

Zarządzanie w systemach i sieciach komputerowych. Dr inż. Robert Wójcik. Wykład 3. Zarządzanie przydziałami procesora w systemach komputerowych

Zarządzanie w systemach i sieciach komputerowych. Dr inż. Robert Wójcik. Wykład 3. Zarządzanie przydziałami procesora w systemach komputerowych Zarządzanie w systemach i sieciach komputerowych Dr inż. Robert Wójcik Wykład 3. Zarządzanie przydziałami procesora w systemach komputerowych 3.2. Implementacja planowania przydziału procesora http://wazniak.mimuw.edu.pl/index.php

Bardziej szczegółowo

Planowanie przydziału procesora

Planowanie przydziału procesora Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Celem wykładu jest przedstawienie zagadnień planowania przydziału procesora, czyli szeregowania procesów w dostępie do procesora. Planowanie takie sprowadza

Bardziej szczegółowo

Planowanie przydziału procesora

Planowanie przydziału procesora Dariusz Wawrzyniak Celem wykładu jest przedstawienie zagadnień planowania przydziału procesora, czyli szeregowania procesów w dostępie do procesora. Planowanie takie sprowadza się do wyboru jednego z procesów

Bardziej szczegółowo

Zarządzanie procesorem

Zarządzanie procesorem Zarządzanie procesorem 1. Koncepcja procesu 2. Blok kontrolny procesu 3. Planowanie (szeregowanie) procesów! rodzaje planistów! kryteria planowania 4. Algorytmy planowania! FCFS! SJF! RR! planowanie priorytetowe!

Bardziej szczegółowo

Zarządzanie w systemach i sieciach komputerowych. Dr inż. Robert Wójcik. Wykład 3. Zarządzanie przydziałami procesora w systemach komputerowych

Zarządzanie w systemach i sieciach komputerowych. Dr inż. Robert Wójcik. Wykład 3. Zarządzanie przydziałami procesora w systemach komputerowych Zarządzanie w systemach i sieciach komputerowych Dr inż. Robert Wójcik Wykład 3. Zarządzanie przydziałami procesora w systemach komputerowych 3.1. Planowanie przydziału procesora http://wazniak.mimuw.edu.pl/index.php

Bardziej szczegółowo

Wykład 6. Planowanie (szeregowanie) procesów (ang. process scheduling) Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

Wykład 6. Planowanie (szeregowanie) procesów (ang. process scheduling) Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Wykład 6 Planowanie (szeregowanie) procesów (ang. process scheduling) Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Rodzaje planowania Planowanie długoterminowe. Decyzja o

Bardziej szczegółowo

Planowanie przydziału procesora CPU scheduling. Koncepcja szeregowania. Planista przydziału procesora (planista krótkoterminowy) CPU Scheduler

Planowanie przydziału procesora CPU scheduling. Koncepcja szeregowania. Planista przydziału procesora (planista krótkoterminowy) CPU Scheduler Planowanie przydziału procesora CPU scheduling Koncepcja szeregowania Koncepcja szeregowania (Basic Concepts) Kryteria szeregowania (Scheduling Criteria) Algorytmy szeregowania (Scheduling Algorithms)

Bardziej szczegółowo

Fazy procesora i wejścia-wyjścia. Planowanie przydziału procesora. Czasy faz procesora. Planowanie przydziału procesora

Fazy procesora i wejścia-wyjścia. Planowanie przydziału procesora. Czasy faz procesora. Planowanie przydziału procesora Planowanie przydziału procesora W pamięci operacyjnej znajduje się kilka procesów jednocześnie. Kiedy jakiś proces musi czekać, system operacyjny odbiera mu procesor i oddaje do dyspozycji innego procesu.

Bardziej szczegółowo

Planowanie przydziału procesora

Planowanie przydziału procesora Planowanie przydziału procesora W pamięci operacyjnej znajduje się kilka procesów jednocześnie. Kiedy jakiś proces musi czekać, system operacyjny odbiera mu procesor i oddaje do dyspozycji innego procesu.

Bardziej szczegółowo

Przełączanie kontekstu. Planista średnioterminowy. Diagram kolejek. Kolejki planowania procesów. Planiści

Przełączanie kontekstu. Planista średnioterminowy. Diagram kolejek. Kolejki planowania procesów. Planiści Kolejki planowania procesów Diagram kolejek Kolejka zadań (job queue) - tworzą ją procesy wchodzące do systemu. Kolejka procesów gotowych (ready queue) - procesy gotowe do działania, umieszczone w pamięci,

Bardziej szczegółowo

Zarządzanie procesami i wątkami

Zarządzanie procesami i wątkami SOE - Systemy Operacyjne Wykład 4 Zarządzanie procesami i wątkami dr inŝ. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Pojęcie procesu (1) Program zbiór instrukcji dla procesora

Bardziej szczegółowo

Systemy operacyjne III

Systemy operacyjne III Systemy operacyjne III WYKŁAD 2 Jan Kazimirski 1 Procesy w systemie operacyjnym 2 Proces Współczesne SO w większości są systemami wielozadaniowymi. W tym samym czasie SO obsługuje pewną liczbę zadań procesów

Bardziej szczegółowo

Pytania do treści wykładów:

Pytania do treści wykładów: Pytania do treści wykładów: Wprowadzenie: 1. Jakie zadania zarządzania realizowane są dla następujących zasobów: a) procesor, b) pamięć, c) plik? 2. W jaki sposób przekazywane jest sterowanie do jądra

Bardziej szczegółowo

Celem wykładu jest przedstawienie zagadnień planowania przydziału procesora, czyli szeregowania procesów w dostępie do procesora.

Celem wykładu jest przedstawienie zagadnień planowania przydziału procesora, czyli szeregowania procesów w dostępie do procesora. Celem wykładu jest przedstawienie zagadnień planowania przydziału procesora, czyli szeregowania procesów w dostępie do procesora. Planowanie takie sprowadza się do wyboru jednego z procesów (lub wątków)

Bardziej szczegółowo

Szeregowanie zadań w Linux Kernel 2.6. Daniel Górski Przemysław Jakubowski

Szeregowanie zadań w Linux Kernel 2.6. Daniel Górski Przemysław Jakubowski Szeregowanie zadań w Linux Kernel 2.6 Daniel Górski Przemysław Jakubowski Plan prezentacji Szeregowanie procesów - Szeregowanie - Cele szeregowania - Scheduler 2.6 - Struktury danych używane w 2.6 - Multiprocesorowość

Bardziej szczegółowo

Prezentacja systemu RTLinux

Prezentacja systemu RTLinux Prezentacja systemu RTLinux Podstawowe założenia RTLinux jest system o twardych ograniczeniach czasowych (hard real-time). Inspiracją dla twórców RTLinux a była architektura systemu MERT. W zamierzeniach

Bardziej szczegółowo

Procesy, wątki i zasoby

Procesy, wątki i zasoby Procesy, wątki i zasoby Koncepcja procesu i zasobu, Obsługa procesów i zasobów, Cykl zmian stanów procesu i kolejkowanie, Klasyfikacja zasobów, Wątki, Procesy i wątki we współczesnych systemach operacyjnych.

Bardziej szczegółowo

Systemy Operacyjne - zarządzanie procesami

Systemy Operacyjne - zarządzanie procesami Katedra Informatyki, Politechnika Świętokrzyska w Kielcach Kielce, 26 października 2010 1 1 Proces sekwencyjny 2 Cykl życia procesu 3 Deskryptor procesu 4 współbieżne 2 3 1 Motywacja 2 Kolejki 3 Planiści

Bardziej szczegółowo

Planowanie przydziału procesora

Planowanie przydziału procesora Planowanie przydziału procesora Pojęcia podstawowe. Kryteria planowania. Algorytmy planowania. Planowanie wieloprocesorowe. Planowanie w czasie rzeczywistym. Ocena algorytmów. Wiesław Płaczek Systemy Operacyjne:

Bardziej szczegółowo

SYSTEMY OPERACYJNE WYKLAD 6 - wątki

SYSTEMY OPERACYJNE WYKLAD 6 - wątki Wrocław 2007 SYSTEMY OPERACYJNE WYKLAD 6 - wątki Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl www.equus.wroc.pl/studia.html 1 PLAN: 1. Wątki 2. Planowanie przydziału procesora (szeregowanie

Bardziej szczegółowo

2.1 Wstęp Kryteria planowania Algorytmy planowania Systemy wieloprocesorowe i czasu rzeczywistego...

2.1 Wstęp Kryteria planowania Algorytmy planowania Systemy wieloprocesorowe i czasu rzeczywistego... Plan prezentacji Spis treści 1 Planowanie przydziału procesora 1 1.1 Wstęp................................................... 1 1.2 Kryteria planowania............................................ 2 1.3

Bardziej szczegółowo

Zbigniew S. Szewczak Podstawy Systemów Operacyjnych

Zbigniew S. Szewczak Podstawy Systemów Operacyjnych Zbigniew S. Szewczak Podstawy Systemów Operacyjnych Wykład 7 Planowanie przydziału procesora. Toruń, 2004 Odrabianie wykładów czwartek, 1.04.2004, S7, g. 12.00 za 19.05 czwartek, 15.04.2004, S7, g. 12.00

Bardziej szczegółowo

Materiały pomocnicze 1

Materiały pomocnicze 1 TECHNIKI DZIELENIA OGRANICZONEGO ZBIORU ZASOBÓW wzajemne wyłączanie procesów od zasobów niepodzielnych PRZYDZIAŁ ZASOBÓW I PLANOWANIE zapobieganie zakleszczeniom zapewnienie dużego wykorzystania zasobów

Bardziej szczegółowo

Materiały pomocnicze 1

Materiały pomocnicze 1 JĄDRO SYSEMU Jądro systemu stanowi główny interfejs między sprzętem (surową maszyną), a systemem operacyjnym. JĄDRO SYSEMU inne elementy systemu jądro systemu surowa maszyna 2 PODSAWOWE UDOGODIEIA SPRZĘOWE

Bardziej szczegółowo

Procesy, zasoby i wątki

Procesy, zasoby i wątki Procesy, zasoby i wątki Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Koncepcja procesu i zasobu Obsługa procesów i zasobów Cykl zmian stanów procesu i kolejkowanie Klasyfikacja zasobów

Bardziej szczegółowo

Procesy, zasoby i wątki

Procesy, zasoby i wątki Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Koncepcja procesu i zasobu Obsługa procesów i zasobów Cykl zmian stanów procesu i kolejkowanie Klasyfikacja zasobów Wątki Procesy i wątki

Bardziej szczegółowo

BSD - alternatywa dla Linuksa

BSD - alternatywa dla Linuksa BSD - alternatywa dla Linuksa Różnice i podobieństwa w implementacji jadra (na przykładzie schedulera) Maria Donten Bartłomiej Etenkowski Aleksander Zabłocki Systemy Operacyjne 2006 M. Donten, B. Etenkowski,

Bardziej szczegółowo

Szeregowanie zadań we współczesnych systemach operacyjnych. Szeregowanie zadań w Linux Kernel 2.6

Szeregowanie zadań we współczesnych systemach operacyjnych. Szeregowanie zadań w Linux Kernel 2.6 Daniel Górski Przemysław Jakubowski Szeregowanie zadań we współczesnych systemach operacyjnych. Szeregowanie zadań w Linux Kernel 2.6 Slajd 3: Wstęp do szeregowania. Z szeregowaniem mamy do czynienia w

Bardziej szczegółowo

J. Ułasiewicz Programowanie aplikacji współbieżnych 1

J. Ułasiewicz Programowanie aplikacji współbieżnych 1 J. Ułasiewicz Programowanie aplikacji współbieżnych 1 7. procesów W środowisku systemu pracuje zwykle więcej procesów gotowych do wykonania niż dostępnych jest procesorów. Stąd istnieje potrzeba decydowania

Bardziej szczegółowo

Procesy, zasoby i wątki

Procesy, zasoby i wątki Dariusz Wawrzyniak Koncepcja procesu i zasobu Obsługa procesów i zasobów Cykl zmian stanów procesu i kolejkowanie Klasyfikacja zasobów Wątki Procesy i wątki we współczesnych systemach operacyjnych Plan

Bardziej szczegółowo

1. Szeregowanie w systemach czasu rzeczywistego

1. Szeregowanie w systemach czasu rzeczywistego J. Ułasiewicz Systemy Czasu Rzeczywistego 1 1. Szeregowanie w systemach czasu rzeczywistego 1.1 Definicje Zadanie - proces lub wątek Gotowych do wykonania zadań jest zwykle dużo więcej niż mogących je

Bardziej szczegółowo

KOMPONENTY SYSTEMÓW OPERACYJNYCH

KOMPONENTY SYSTEMÓW OPERACYJNYCH KOMPONENTY SYSTEMÓW OPERACYJNYCH dr hab. inż. Krzysztof Patan, prof. PWSZ Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa w Głogowie k.patan@issi.uz.zgora.pl PRZYDZIAŁ CZASU PROCESORA Cel: Stałe

Bardziej szczegółowo

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI plan Cechy, właściwości procesów Multitasking Scheduling Fork czym jest proces? Działającą instancją programu Program jest kolekcją

Bardziej szczegółowo

Celem wykładu jest wprowadzenie fundamentalnych pojęć, integralnie związanych z systemem operacyjnym, na których opiera się przetwarzanie we

Celem wykładu jest wprowadzenie fundamentalnych pojęć, integralnie związanych z systemem operacyjnym, na których opiera się przetwarzanie we Celem wykładu jest wprowadzenie fundamentalnych pojęć, integralnie związanych z systemem operacyjnym, na których opiera się przetwarzanie we współczesnych systemach komputerowych pojęcia procesu i pojęcia

Bardziej szczegółowo

Systemy Operacyjne. Dr inż. Sławomir Samolej email: ssamolej@prz-rzeszow.pl WWW: ssamolej.prz-rzeszow.pl

Systemy Operacyjne. Dr inż. Sławomir Samolej email: ssamolej@prz-rzeszow.pl WWW: ssamolej.prz-rzeszow.pl Systemy Operacyjne Dr inż. Sławomir Samolej email: ssamolej@prz-rzeszow.pl WWW: ssamolej.prz-rzeszow.pl Slajdy zostały przygotowane na podstawie materiałów opublikowanych na (http://wazniak.mimuw.edu.pl/)

Bardziej szczegółowo

4. Procesy pojęcia podstawowe

4. Procesy pojęcia podstawowe 4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa

Bardziej szczegółowo

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Definicja systemu operacyjnego (1) Miejsce,

Bardziej szczegółowo

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Miejsce, rola i zadania systemu operacyjnego

Bardziej szczegółowo

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Wprowadzenie Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego

Bardziej szczegółowo

4. Procesy pojęcia podstawowe

4. Procesy pojęcia podstawowe 4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa

Bardziej szczegółowo

Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86

Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86 Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86 Spis treści Wprowadzenie... 11 1. Architektura procesorów rodziny x86... 17 1.1. Model procesorów

Bardziej szczegółowo

Systemy operacyjne Procesy i wątki

Systemy operacyjne Procesy i wątki Systemy operacyjne Procesy i wątki [2] Proces w systemie operacyjnym Procesem nazywamy wykonujący się program wraz z jego środowiskiem obliczeniowym. Proces stanowi podstawowy obiekt dynamiczny w systemie

Bardziej szczegółowo

SYSTEMY CZASU RZECZYWISTEGO - VxWorks

SYSTEMY CZASU RZECZYWISTEGO - VxWorks WZAJEMNE WYKLUCZANIE Wiele metod. Np. wyłączanie przerwań: funkcja() //... Int blokada = intlock(); // Obszar krytyczny, któremu nie możemy przerwać intunlock(blokada); wyłączanie wywłaszczania: funkcja()

Bardziej szczegółowo

Systemy Operacyjne. Dr inż. Sławomir Samolej WWW: ssamolej.prz-rzeszow.pl

Systemy Operacyjne. Dr inż. Sławomir Samolej   WWW: ssamolej.prz-rzeszow.pl Systemy Operacyjne Dr inż. Sławomir Samolej email: ssamolej@prz-rzeszow.pl WWW: ssamolej.prz-rzeszow.pl Slajdy zostały przygotowane na podstawie materiałów opublikowanych na (http://wazniak.mimuw.edu.pl/)

Bardziej szczegółowo

Programowanie współbieżne Wykład 2. Iwona Kochańska

Programowanie współbieżne Wykład 2. Iwona Kochańska Programowanie współbieżne Wykład 2 Iwona Kochańska Miary skalowalności algorytmu równoległego Przyspieszenie Stały rozmiar danych N T(1) - czas obliczeń dla najlepszego algorytmu sekwencyjnego T(p) - czas

Bardziej szczegółowo

Podstawy Informatyki Systemy operacyjne

Podstawy Informatyki Systemy operacyjne Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Definicje systemu operacyjnego Zadania systemu operacyjnego Klasyfikacja systemów operacyjnych 2 Zasoby systemu komputerowego

Bardziej szczegółowo

Wieloprogramowanie. Systemy operacyjne / Procesy i wątki str.4/32. Proces w systemie operacyjnym. Tworzenie i kończenie procesów

Wieloprogramowanie. Systemy operacyjne / Procesy i wątki str.4/32. Proces w systemie operacyjnym. Tworzenie i kończenie procesów Wieloprogramowanie Systemy Operacyjne Procesy i wątki dr inż. Tomasz Jordan Kruk T.Kruk@ia.pw.edu.pl Instytut utomatyki i Informatyki Stosowanej Politechnika Warszawska One program counter B C D switch

Bardziej szczegółowo

Systemy wbudowane. Systemy operacyjne czasu rzeczywistego

Systemy wbudowane. Systemy operacyjne czasu rzeczywistego Systemy wbudowane Systemy operacyjne czasu rzeczywistego Definicje System czasu rzeczywistego to taki, w którym wynik przetwarzania nie zależy tylko i wyłącznie od jego logicznej poprawności, ale również

Bardziej szczegółowo

PRZERWANIA. 1. Obsługa zdarzeń, odpytywanie i przerwania Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego.

PRZERWANIA. 1. Obsługa zdarzeń, odpytywanie i przerwania Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego. PRZERWANIA 1. Obsługa zdarzeń, odpytywanie i Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego. Istnieją dwie metody pozyskania informacji o zdarzeniach: 1. Cykliczne

Bardziej szczegółowo

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami Rok akademicki 2015/2016, Wykład nr 6 2/21 Plan wykładu nr 6 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2015/2016

Bardziej szczegółowo

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy)

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy) Rok akademicki 2012/2013, Wykład nr 2 2/25 Plan wykładu nr 2 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia niestacjonarne I stopnia Rok akademicki 2012/2013

Bardziej szczegółowo

SYSTEMY OPERACYJNE LABORATORIUM 2014/2015

SYSTEMY OPERACYJNE LABORATORIUM 2014/2015 1 SYSTEMY OPERACYJNE LABORATORIUM 2014/2015 ZASADY OCENIANIA ZADAŃ PROGRAMISTYCZNYCH: Zadania laboratoryjne polegają na symulacji i badaniu własności algorytmów/mechanizmów stosowanych w systemach operacyjnych.

Bardziej szczegółowo

Przerwania, polling, timery - wykład 9

Przerwania, polling, timery - wykład 9 SWB - Przerwania, polling, timery - wykład 9 asz 1 Przerwania, polling, timery - wykład 9 Adam Szmigielski aszmigie@pjwstk.edu.pl SWB - Przerwania, polling, timery - wykład 9 asz 2 Metody obsługi zdarzeń

Bardziej szczegółowo

Budowa systemów komputerowych

Budowa systemów komputerowych Budowa systemów komputerowych Krzysztof Patan Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski k.patan@issi.uz.zgora.pl Współczesny system komputerowy System komputerowy składa

Bardziej szczegółowo

System wejścia-wyjścia

System wejścia-wyjścia System wejścia-wyjścia System wejścia-wyjścia 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

Bardziej szczegółowo

Jadro Linux 2.6. a zadania czasu rzeczywistego. Artur Lewandowski. Jądro Linux 2.6 p.1/14

Jadro Linux 2.6. a zadania czasu rzeczywistego. Artur Lewandowski. Jądro Linux 2.6 p.1/14 Jadro Linux 2.6 a zadania czasu rzeczywistego Artur Lewandowski al167167@students.mimuw.edu.pl Jądro Linux 2.6 p.1/14 1 Wprowadzenie Linux 2.6 wprowadza dużo nowych cech polepszajacych wydajność zadań

Bardziej szczegółowo

Podstawowe zagadnienia

Podstawowe zagadnienia SWB - Systemy operacyjne w systemach wbudowanych - wykład 14 asz 1 Podstawowe zagadnienia System operacyjny System czasu rzeczywistego Systemy wbudowane a system operacyjny Przykłady systemów operacyjnych

Bardziej szczegółowo

Procesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu

Procesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu Proces Procesy i wątki Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz

Bardziej szczegółowo

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.3

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.3 Mariusz Rudnicki mariusz.rudnicki@eti.pg.gda.pl PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.3 Szeregowanie Omawiane zagadnienia Czym jest szeregowanie? W jakim celu stosuje się mechanizmy szeregowania?

Bardziej szczegółowo

Wykład 6 Planista procesora funkcja schedule. Wojciech Kwedlo, Systemy Operacyjne II -1- Wydział Informatyki PB

Wykład 6 Planista procesora funkcja schedule. Wojciech Kwedlo, Systemy Operacyjne II -1- Wydział Informatyki PB Wykład 6 Planista procesora funkcja schedule Wojciech Kwedlo, Systemy Operacyjne II -1- Wydział Informatyki PB Typowe punkty wywołania planisty Procedura sleep_on (usypanie procesu). Powrót z wywołania

Bardziej szczegółowo

SOE Systemy Operacyjne Wykład 8 Pamięć wirtualna dr inż. Andrzej Wielgus

SOE Systemy Operacyjne Wykład 8 Pamięć wirtualna dr inż. Andrzej Wielgus SOE Systemy Operacyjne Wykład 8 Pamięć wirtualna dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Pamięć wirtualna Stronicowanie na żądanie większość współczesnych systemów

Bardziej szczegółowo

Mechanizmy pracy równoległej. Jarosław Kuchta

Mechanizmy pracy równoległej. Jarosław Kuchta Mechanizmy pracy równoległej Jarosław Kuchta Zagadnienia Algorytmy wzajemnego wykluczania algorytm Dekkera Mechanizmy niskopoziomowe przerwania mechanizmy ochrony pamięci instrukcje specjalne Mechanizmy

Bardziej szczegółowo

Zarządzanie w systemach i sieciach komputerowych. Dr inż. Robert Wójcik. Wykład 2. Zasoby i procesy w systemach i sieciach komputerowych

Zarządzanie w systemach i sieciach komputerowych. Dr inż. Robert Wójcik. Wykład 2. Zasoby i procesy w systemach i sieciach komputerowych Zarządzanie w systemach i sieciach komputerowych Dr inż. Robert Wójcik Wykład 2. Zasoby i procesy w systemach i sieciach komputerowych 2.1. Systemy i sieci komputerowe zasoby i procesy 2.2. Zarządzanie

Bardziej szczegółowo

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1 dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1 Cel wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działanie systemu operacyjnego

Bardziej szczegółowo

Proces y i y w i ąt ą ki

Proces y i y w i ąt ą ki Procesy i wątki Proces Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz

Bardziej szczegółowo

4. Procesy pojęcia podstawowe

4. Procesy pojęcia podstawowe 4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa

Bardziej szczegółowo

procesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

procesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Abstrakcja programowania współbieżnego Instrukcje atomowe i ich przeplot Istota synchronizacji Kryteria poprawności programów współbieżnych

Bardziej szczegółowo

Urządzenia wejścia-wyjścia

Urządzenia wejścia-wyjścia Urządzenia wejścia-wyjścia Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Klasyfikacja urządzeń wejścia-wyjścia Struktura mechanizmu wejścia-wyjścia (sprzętu i oprogramowania) Interakcja

Bardziej szczegółowo

Mariusz Rudnicki PROGRAMOWANIE WSPÓŁBIEŻNE I SYSTEMY CZASU RZECZYWISTEGO CZ.3

Mariusz Rudnicki PROGRAMOWANIE WSPÓŁBIEŻNE I SYSTEMY CZASU RZECZYWISTEGO CZ.3 Mariusz Rudnicki mariusz.rudnicki@eti.pg.edu.pl PROGRAMOWANIE WSPÓŁBIEŻNE I SYSTEMY CZASU RZECZYWISTEGO CZ.3 Szeregowanie Omawiane zagadnienia Czym jest szeregowanie? W jakim celu stosuje się mechanizmy

Bardziej szczegółowo

Metody obsługi zdarzeń

Metody obsługi zdarzeń SWB - Przerwania, polling, timery - wykład 10 asz 1 Metody obsługi zdarzeń Przerwanie (ang. Interrupt) - zmiana sterowania, niezależnie od aktualnie wykonywanego programu, spowodowana pojawieniem się sygnału

Bardziej szczegółowo

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 007 Tryb rzeczywisty i chroniony procesora 2 SO i SK/WIN Wszystkie 32-bitowe procesory (386 i nowsze) mogą pracować w kilku trybach. Tryby pracy

Bardziej szczegółowo

Zarządzanie procesami (omawiane zagadnienia)

Zarządzanie procesami (omawiane zagadnienia) Zarządzanie procesami (omawiane zagadnienia) Pojęcie procesu Stany procesu Blok kontrolny procesu Tworzenie procesu Sygnały Kończenie wykonania procesu Działanie interpretatora poleceń (shell-a) Koncepcja

Bardziej szczegółowo

Elementy Modelowania Matematycznego

Elementy Modelowania Matematycznego Elementy Modelowania Matematycznego Wykład 9 Systemy kolejkowe Spis treści Wstęp Systemy masowej obsługi (SMO) Notacja Kendalla Schemat systemu masowej obsługi Przykład systemu M/M/1 Założenia modelu matematycznego

Bardziej szczegółowo

Stan globalny. Krzysztof Banaś Systemy rozproszone 1

Stan globalny. Krzysztof Banaś Systemy rozproszone 1 Stan globalny Krzysztof Banaś Systemy rozproszone 1 Stan globalny Z problemem globalnego czasu jest związany także problem globalnego stanu: interesuje nas stan systemu rozproszonego w konkretnej pojedynczej

Bardziej szczegółowo

Technika mikroprocesorowa. Systemy operacyjne czasu rzeczywistego

Technika mikroprocesorowa. Systemy operacyjne czasu rzeczywistego System operacyjny czasu rzeczywistego (RTOS Real Time Operating System) jest programem bazowym ułatwiającym tworzenie programu użytkowego systemu mikroprocesorowego. System operacyjny czasu rzeczywistego

Bardziej szczegółowo

Przeplot. Synchronizacja procesów. Cel i metody synchronizacji procesów. Wątki współbieżne

Przeplot. Synchronizacja procesów. Cel i metody synchronizacji procesów. Wątki współbieżne Synchronizacja procesów Przeplot Przeplot wątków współbieżnych Cel i metody synchronizacji procesów Problem sekcji krytycznej Semafory Blokady 3.1 3.3 Wątki współbieżne Cel i metody synchronizacji procesów

Bardziej szczegółowo

dr Adam Sojda Wykład Politechnika Śląska Badania Operacyjne Teoria kolejek

dr Adam Sojda Wykład Politechnika Śląska Badania Operacyjne Teoria kolejek dr Adam Sojda Badania Operacyjne Wykład Politechnika Śląska Teoria kolejek Teoria kolejek zajmuje się badaniem systemów związanych z powstawaniem kolejek. Systemy kolejkowe W systemach, którymi zajmuje

Bardziej szczegółowo

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj

Systemy operacyjne. wykład dr Marcin Czarnota laboratorium mgr Radosław Maj Systemy operacyjne wykład dr Marcin Czarnota laboratorium mgr Radosław Maj Plan wykładów 1. Wprowadzenie, 2. Procesy, wątki i zasoby, 3. Planowanie przydziału procesora, 4. Zarządzanie pamięcią operacyjną,

Bardziej szczegółowo

Jądro systemu operacyjnego

Jądro systemu operacyjnego Jądro systemu operacyjnego Jądro (ang. kernel) jest to podstawowa część systemu operacyjnego, która jest odpowiedzialna za wszystkie jego zadania. Zapewnia ono usługi systemowe takie jak: komunikacja między

Bardziej szczegółowo

Fazy procesora i wejścia-wyjścia. Planowanie przydziału procesora. Czasy faz procesora. Planowanie przydziału procesora

Fazy procesora i wejścia-wyjścia. Planowanie przydziału procesora. Czasy faz procesora. Planowanie przydziału procesora Planowanie przydziału procesora W pamięci operacyjnej znajduje się kilka procesów jednocześnie. Kiedy jakiś proces musi czekać, system operacyjny odbiera mu procesor i oddaje do dyspozycji innego procesu.

Bardziej szczegółowo

Procesy, zasoby i wątki

Procesy, zasoby i wątki Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Celem wykładu jest wprowadzenie fundamentalnych pojęć, integralnie związanych z systemem operacyjnym, na których opiera się przetwarzanie we współczesnych

Bardziej szczegółowo

Programowanie Niskopoziomowe

Programowanie Niskopoziomowe Programowanie Niskopoziomowe Wykład 3: Architektura procesorów x86 Dr inż. Marek Mika Państwowa Wyższa Szkoła Zawodowa im. Jana Amosa Komeńskiego W Lesznie Plan Pojęcia ogólne Budowa mikrokomputera Cykl

Bardziej szczegółowo

Simulator of Operating System

Simulator of Operating System Mechanizmy stosowane w systemach operacyjnych system dydaktyczny Simulator of Operating System Sebastian Świerczyna Promotor: dr inż. Jarosław Bilski Politechnika Częstochowska Wydział Inżynierii Mechanicznej

Bardziej szczegółowo

PROGRAMOWANIE SYSTEMÓW WBUDOWANYCH

PROGRAMOWANIE SYSTEMÓW WBUDOWANYCH PROGRAMOWANIE SYSTEMÓW WBUDOWANYCH SCHEDULING Mariusz Rudnicki mariusz.rudnicki@eti.pg.edu.pl Programowanie Systemów Wbudowanych 1/40 SZEREGOWANIE ZAGADNIENIA Czym jest szeregowanie? W jakim celu stosuje

Bardziej szczegółowo

WINDOWS NT - THREAD SCHEDULER

WINDOWS NT - THREAD SCHEDULER WINDOWS NT - THREAD SCHEDULER Ha Nhat Viet Adam Bułak Damian Klata 23 grudnia 2005 Spis treści Spis treści 2 1 Wprowadzenie 3 2 Pojęcia 3 2.1 Proces........................................ 3 2.2 Wątek........................................

Bardziej szczegółowo

Koordynacja procesów w środowisku rozproszonym

Koordynacja procesów w środowisku rozproszonym Systemy rozproszone Koordynacja procesów w środowisku rozproszonym System rozproszony jest zbiorem luźno powiązanych ze sobą komputerów połączonych siecią komunikacyjną (Silberschatz). Zasoby zdalne -

Bardziej szczegółowo

Podstawy informatyki. System operacyjny. dr inż. Adam Klimowicz

Podstawy informatyki. System operacyjny. dr inż. Adam Klimowicz Podstawy informatyki System operacyjny dr inż. Adam Klimowicz System operacyjny OS (ang. Operating System) Program komputerowy bądź zbiór programów, który zarządza udostępnianiem zasobów komputera aplikacjom.

Bardziej szczegółowo

Wprowadzenie do systemów operacyjnych

Wprowadzenie do systemów operacyjnych SOE - Systemy Operacyjne Wykład 1 Wprowadzenie do systemów operacyjnych dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW System komputerowy Podstawowe pojęcia System operacyjny

Bardziej szczegółowo

System operacyjny MACH

System operacyjny MACH Emulacja w systemie MCH System operacyjny MCH 4. SD Systemu V HP/UX MS-DOS VMS inne Mikrojądro Zbigniew Suski Zbigniew Suski Podstawowe cele projektu MCH! Dostarczenie podstawy do budowy innych systemów

Bardziej szczegółowo

REAL-TIME LINUX. ZGODNOŚĆ Z POSIX ( PSE51 (minimal realtime system profile)

REAL-TIME LINUX. ZGODNOŚĆ Z POSIX ( PSE51 (minimal realtime system profile) KRÓTKO O HISTORII RT-LINUX STAN PRAWNY - NIEFORTUNNY PATENT INNE ROZWIĄZANIA ZGODNOŚĆ Z POSIX (1003.13 PSE51 (minimal realtime system profile) KLUCZOWE ELEMENTY KONCEPCJI RTL WIRTUALNY SYSTEM PRZERWAŃ

Bardziej szczegółowo

Organizacja typowego mikroprocesora

Organizacja typowego mikroprocesora Organizacja typowego mikroprocesora 1 Architektura procesora 8086 2 Architektura współczesnego procesora 3 Schemat blokowy procesora AVR Mega o architekturze harwardzkiej Wszystkie mikroprocesory zawierają

Bardziej szczegółowo

Działanie systemu operacyjnego

Działanie systemu operacyjnego Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej I NIC sieci Pamięć operacyjna Przerwania Przerwania

Bardziej szczegółowo