Planowanie przydziału procesora
|
|
- Barbara Kamińska
- 7 lat temu
- Przeglądów:
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 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ółowoPlanowanie 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ółowoprzydział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ółowoPrzykł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ółowoPlanowanie 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ółowoOgó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ółowoPrzykł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ółowoInformatyka, 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ółowoZarzą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ółowoPlanowanie 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ółowoPlanowanie 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ółowoZarzą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ółowoZarzą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ółowoWykł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ółowoPlanowanie 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ółowoFazy 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ółowoPlanowanie 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ółowoPrzełą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ółowoZarzą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ółowoSystemy 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ółowoPytania 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ółowoCelem 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ółowoSzeregowanie 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ółowoPrezentacja 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ółowoProcesy, 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ółowoSystemy 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ółowoPlanowanie 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ółowoSYSTEMY 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ółowo2.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ółowoZbigniew 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ółowoMateriał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ółowoMateriał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ółowoProcesy, 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ółowoProcesy, 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ółowoBSD - 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ółowoSzeregowanie 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ółowoJ. 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ółowoProcesy, 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ółowo1. 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ółowoKOMPONENTY 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ółowoProjektowanie 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ółowoCelem 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ółowoSystemy 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ółowo4. 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ółowoWprowadzenie. 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ółowoWprowadzenie. 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ółowoSystemy 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ółowo4. 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ółowoKsię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ółowoSystemy 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ółowoSYSTEMY 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ółowoSystemy 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ółowoProgramowanie 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ółowoPodstawy 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ółowoWieloprogramowanie. 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ółowoSystemy 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ółowoPRZERWANIA. 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ółowoStruktura 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ółowoDynamiczny 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ółowoSYSTEMY 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ółowoPrzerwania, 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ółowoBudowa 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ółowoSystem 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ółowoJadro 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ółowoPodstawowe 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ółowoProcesy 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ółowoMariusz 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ółowoWykł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ółowoSOE 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ółowoMechanizmy 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ółowoZarzą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ółowodr 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ółowoProces 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ółowo4. 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ółowoprocesó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ółowoUrzą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ółowoMariusz 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ółowoMetody 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ółowoSYSTEMY 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ółowoZarzą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ółowoElementy 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ółowoStan 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ółowoTechnika 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ółowoPrzeplot. 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ółowodr 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ółowoSystemy 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ółowoJą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ółowoFazy 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ółowoProcesy, 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ółowoProgramowanie 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ółowoSimulator 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ółowoPROGRAMOWANIE 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ółowoWINDOWS 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ółowoKoordynacja 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ółowoPodstawy 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ółowoWprowadzenie 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ółowoSystem 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ółowoREAL-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ółowoOrganizacja 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ółowoDział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