Materiały pomocnicze 1

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

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

Zarządzanie procesorem

Planowanie przydziału procesora

Planowanie przydziału procesora

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

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

Porządek dostępu do zasobu: procesory obszary pamięci cykle procesora pliki urządzenia we/wy

Planowanie przydziału procesora

Zarządzanie procesami i wątkami

Planowanie przydziału procesora

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

Informatyka, systemy, sieci komputerowe

Systemy operacyjne III

Systemy operacyjne. wykład 11- Zakleszczenia. dr Marcin Ziółkowski. Instytut Matematyki i Informatyki Akademia im. Jana Długosza w Częstochowie

Systemy Operacyjne - zarządzanie procesami

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

SYSTEMY OPERACYJNE WYKLAD 6 - procesy

Zbigniew S. Szewczak Podstawy Systemów Operacyjnych

Planowanie przydziału procesora

Pytania do treści wykładów:

Materiały pomocnicze 1

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

Planowanie przydziału procesora

Planowanie przydziału procesora

KOMPONENTY SYSTEMÓW OPERACYJNYCH

Planowanie przydziału procesora

SYSTEMY OPERACYJNE WYKLAD 6 - wątki

Synchronizacja procesów i wątków

Zakleszczenie. Problem i przeciwdziałanie. Systemy operacyjne Wykład 8 1

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

4. Procesy pojęcia podstawowe

SYSTEMY OPERACYJNE LABORATORIUM 2014/2015

1. Działania na procesach

4. Procesy pojęcia podstawowe

POTRZEBY A B C D E P P P P P

Administracja serwerami

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

Procesy, wątki i zasoby

Przykłady implementacji planowania przydziału procesora

Problem zakleszczenia

* Wymień typowe standardy sygnałów procesowych: - analogowy - dwustanowe

Podstawy Informatyki Systemy operacyjne

Systemy operacyjne, architektura komputerów

Systemy operacyjne Procesy i wątki

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

Zarządzanie procesami (omawiane zagadnienia)

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

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

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.3

Przeciwdziałanie zakleszczeniu. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

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

Procesy, zasoby i wątki

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

Procesy, zasoby i wątki

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

Procesy, zasoby i wątki

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

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

Synchronizacja procesów

Proces y i y w i ąt ą ki

Programowanie współbieżne Wykład 5. Rafał Skinderowicz

1.1 Definicja procesu

4. Procesy pojęcia podstawowe

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

Koordynacja procesów w środowisku rozproszonym

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

Systemy operacyjne. Paweł Pełczyński

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

projektowanie systemu

Problem zakleszczenia. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

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

Systemy wbudowane - wykład 9. Systemy czasu rzeczywistego Notes. Systemy czasu rzeczywistego Notes. Systemy czasu rzeczywistego Notes.

Prezentacja systemu RTLinux

Struktury systemów operacyjnych

System operacyjny System operacyjny

Paweł Skrobanek. C-3, pok

1. Szeregowanie w systemach czasu rzeczywistego

Pamięć wirtualna. A gdyby tak w pamięci przebywała tylko ta część programu, która jest aktualnie wykonywana?

Podstawowe zagadnienia

Program jest więc strukturą statyczną zapisaną na jakimś nośniku. Natomiast proces jest wykonującym się programem.

Zarządzanie pamięcią w systemie operacyjnym

PROGRAMOWANIE SYSTEMÓW WBUDOWANYCH

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

Podstawy informatyki. Izabela Szczęch. Politechnika Poznańska

Algorytm Lamporta. Czy można to ulepszyć?

Architektura systemów informatycznych. Powłoka systemowa Architektura procesora

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

Systemy operacyjne III

Współczesne aplikacje sterowania i akwizycji danych są zbiorem komunikujących się wątków lub procesów współbieżnych.

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

Pamięć wirtualna. Jan Tuziemski Źródło części materiałów: os-book.com

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

Technika mikroprocesorowa. Systemy operacyjne czasu rzeczywistego

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

Programowanie współbieżne i równoległe. dr inż. Marcin Wilczewski 2013

Simulator of Operating System

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

Blokady. Model systemu. Charakterystyka blokady

Transkrypt:

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 dostarczenie zasobów w rozsądnym czasie 1 2 PRZYDZIAŁ ZASOBÓW mechanizmy przydziału zasobów różnego rodzaju techniki i struktury przydziału zasobów polityka przydziału zasobów zarządza sposobami korzystania z mechanizmów niewłaściwe przyjmowanie zamówień może prowadzić do zakleszczenia lub przeciążenia systemu MECHANIZMY PRZYDZIAŁU ZASOBÓW metody i dane służące do przydziału zasobów procesory centralne - deskryptor procesora(id, stan, proces bieżący) pamięć operacyjna - tablice stron i segmentów, listy bloków, kolejki zamówień na pamięć urządzenia zewnętrzne - strumienie WE/WY, deskryptor urządzenia, kolejki zamówień pamięć pomocnicza - pamięć wirtualna, pamięć plików pliki - otwarte do zapisu stają się zasobami niepodzielnymi 3 4 ZAKLESZCZENIE (BLOKADA, IMPAS) W środowisku wieloprogramowym wiele procesów może rywalizować o skończoną liczbę zasobów. Zakleszczeniem nazywa się sytuację, w której pewien zbiór oczekujących procesów nie może zmienić swego stanu, ponieważ zamawiane przez nie zasoby są przetrzymywane przez inne procesy z tego zbioru. WARUNKI KONIECZNE I WYSTARCZAJĄCE POWSTANIA ZAKLESZCZENIA Do zakleszczeń może dochodzić wtedy, kiedy w systemie zachodzą jednocześnie cztery warunki: wzajemne wykluczanie (zasoby są niepodzielne) przetrzymywanie i czekanie (procesy przetrzymują zasoby w czasie oczekiwania na inne) brak wywłaszczeń (zasobów nie można zawłaszczać, dopóki są użytkowane) czekanie cykliczne (istnieje łańcuch cykliczny procesów takich, że następny zamawia zasoby zajęte przez poprzednika) 5 6 Materiały pomocnicze 1

GRAF PRZYDZIAŁU ZASOBÓW GRAF PRZYDZIAŁU ZASOBÓW krawędź zamówienia 1 2 A B C D Jeśli graf przydziału zasobów : nie zawiera cykli, to w systemie nie ma zakleszczonych procesów zawiera cykl, to doszło do zakleszczenia krawędź przydziału 3 4 Jeśli istnieje po kilka egzemplarzy zasobu każdego typu, to cykl w grafie jest warunkiem koniecznym, lecz nie wystarczającym do istnienia zakleszczenia. 7 8 STRATEGIE POSTĘPOWANIA Z ZAKLESZCZENIEM zapobieganie zakleszczeniom przez niespełnienie jednego z warunków wykrywanie i usuwanie zakleszczeń w oparciu o graf stanu unikanie zakleszczeń przez wykonywanie czynności wyprzedzających można też zlekceważyć problem zupełnie, uważając, że do zakleszczenia nigdy nie dojdzie ZAPOBIEGANIE ZAKLESZCZENIOM przez niespełnienie jednego z warunków: zmiana zasobu niepodzielnego w podzielny np. przez zastosowanie spooler a procesy zamawiają wszystkie zasoby na początku i wtedy rozpoczynają działanie jeśli proces nie otrzyma zasobów zwraca już przydzielone i zamawia ponownie ustalony porządek zamówień uniemożliwia powstanie łańcucha cyklicznego 9 10 WYKRYWANIE I USUWANIE ZAKLESZCZEŃ W OPARCIU O GRAF STANU usunięcie wszystkich procesów uczestniczących w zakleszczeniu wznowienie procesów od punktu kontrolnego, jeśli istnieje usuwanie kolejnych procesów, aż do zaniku zakleszczenia kolejne zawłaszczanie zasobów UNIKANIE ZAKLESZCZEŃ PRZEZ WYKONYWANIE CZYNNOŚCI WYPRZEDZAJĄCYCH sprawdzanie, czy po przydziale zasobów nastąpi blokada 2-1- 2+ 1+ B 2+ 1+ 2-1- A 11 12 Materiały pomocnicze 2

UNIKANIE ZAKLESZCZEŃ PRZEZ WYKONYWANIE CZYNNOŚCI WYPRZEDZAJĄCYCH Algorytm bankiera roszczenie to maksymalna wielkość zamawianych zasobów w czasie trwania procesu zamówienie nie może przekroczyć roszczenia zamówienie jest przyjęte tylko wówczas, gdy po jego realizacji istnieje taki ciąg procesów, że wszystkie procesy dobiegną do końca PLANOWANIE Planowaniem nazywa się ustalanie, kiedy można wprowadzać nowe procesy do systemu i w jakiej kolejności je wykonywać. Planowaniem zajmuje się proces planisty (scheduler) nazywany również planistą wysokiego poziomu, aby odróżnić go od planisty niskiego poziomu dyspozytora. 13 14 DYSPOZYTOR Decyzje o przydziale procesora mogą zapadać w następujących czterech sytuacjach: proces przeszedł od stanu aktywności do stanu czekania proces przeszedł od stanu aktywności do stanu gotowości proces przeszedł od stanu czekania do stanu gotowości proces kończy działanie. PLANISTA - ZADANIA wprowadzanie nowych procesów z puli prac (wsadowych) uruchamianych przez użytkowników wyznaczanie priorytetów procesów porządkowanie kolejki procesora implementacja przydziału zasobów unikanie zakleszczenia zapewnienie zrównoważenia systemu 15 16 PLANISTA jest wywoływany, gdy: pojawiło się zamówienie na zasoby zasoby zostały zwolnione proces zakończył działanie do puli dodano nową pracę/użytkownik uruchomił nowy proces KRYTERIA OCENY ALGORYTMÓW PLANOWANIA Wykorzystanie procesora powinno być od 40% do 90% Przepustowość ilość procesów kończonych w jednostce czasu Czas cyklu przetwarzania Czas oczekiwania w kolejce procesów gotowych Czas odpowiedzi w systemach interaktywnych 17 18 Materiały pomocnicze 3

ALGORYTMY PLANOWANIA ALGORYTM FCFS Algorytm FCFS (First Come, First Served) pierwszy zgłoszony- pierwszy obsłużony Algorytm SJF (Shortest Job First) najpierw najkrótsza praca (zadanie) Algorytm SRTF (Shortest Remaining Time First) najpierw najkrótszy pozostały czas / najpierw najkrótsza praca z zawłaszczaniem Algorytm priorytetowy Algorytm rotacyjny RR (Round-robin) Planowanie wielopoziomowe W tym algorytmie, proces, który pierwszy zamówi procesor, pierwszy otrzyma go. Implementację tego algorytmu łatwo się uzyskuje za pomocą kolejki FIFO. Niestety algorytm posiada wadę, średni czas oczekiwania może być wysoki. 19 20 ALGORYTM FCFS ALGORYTM SJF Dla procesów,, o czasie trwania faz 24, 3 i 3: jeśli procesy nadejdą w porządku,, i zostaną obsłużone w porządku FCFS: średni czas oczekiwania wynosi =17 ms. Gdyby procesy nadeszły w kolejności,, rezultat przedstawiałby się jak na poniższym diagramie: średni czas czekania wyniósłby = 3 ms. Algorytm najpierw najkrótsze zadanie pozbawiony jest wady FCFS, gdyż przydziela procesor procesowi posiadającemu najkrótszą następną fazę. Dla procesów,, o czasie trwania faz 24, 4 i 2: średni czas czekania wynosi = 2,67 ms. 21 22 ALGORYTM SRTF ALGORYTM PRIORYTETOWY Algorytm najpierw najkrótszy pozostały czas, działa na podobnej zasadzie jak SJF. Algorytm ten jest w odróżnieniu od poprzednika wywłaszczający. Bieżący proces jest wywłaszczany przez nowy proces którego następna faza procesora jest krótsza od pozostałej części fazy procesu aktualnego. Algorytm ten daje minimalny średni czas oczekiwania. Długość faz procesora jest przewidywana na podstawie jego wcześniejszych faz, nie można jednoznacznie określić jaką długość będzie miała kolejna faza. W algorytmie tym każdemu procesowi przydziela się jakiś priorytet, liczbę całkowitą. Procesor zostaje przydzielony procesowi o najwyższym priorytecie. Algorytm może być niewywłaszczający albo wywłaszczający. Może wystąpić głodzenie procesów, polegające na tym, że procesy o niskim priorytecie mogą nigdy nie zostać wykonane. Aby temu zapobiec wprowadza się postarzanie, czyli stopniowe podwyższanie priorytetów procesów długo oczekujących. 23 24 Materiały pomocnicze 4

ALGORYTM ROTACYJNY W algorytm ten wyposażono w wywłaszczanie i kolejkę cykliczną. Każdemu procesowi przydziela się mały odcinek czasu procesora. Proces wykonywany jest po upływie tego czasu wywłaszczany i przenoszony na koniec kolejki procesów gotowych. Dla n procesów w kolejce i kwantu czasu q, każdy proces dostaje 1/n czasu procesora, których wartość nie przekracza q. Czas oczekiwania procesu na dostęp do procesora nigdy nie przekracza (n-1)*q jednostek czasu. PLANOWANIE WIELOPOZIOMOWE Algorytm ten rozdziela kolejkę procesów gotowych na osobne kolejki. Stosuje się go gdy możliwe jest łatwe zaliczenie procesów do kilku różnych grup: pierwszoplanowe, drugoplanowe/wsadowe systemowe, interakcyjne, redagowania interakcyjnego, wsadowe, studenckie. Poszczególne kolejki mogą używać różnych algorytmów planowania. 25 26 PLANOWANIE WIELOPOZIOMOWE ZE SPRZĘŻENIEM ZWROTNYM W tym algorytmie możliwe jest przenoszenie procesów między kolejkami. Proces, który wykorzystuje cały przydzielony czas zostaje przeniesiony do kolejki o niższym priorytecie. Proces szybko oddający procesor jest przenoszony do kolejki o wyższym priorytecie. OCENA ALGORYTMÓW Istnieje wiele algorytmów planowania, z których każdy ma swoiste parametry. Aby móc dokonywać wyboru algorytmu można wziąć pod uwagę kilka miar, takich jak np.: maksymalizacja wykorzystania procesora maksymalizacja przepustowości 27 28 KRYTERIA PODEJMOWANIA DECYZJI PRZEZ PLANISTĘ procesom mającym wiele zasobów można nadać wysoki priorytet procesom mającym wiele zasobów przydziela się kolejne przy przydziale pamięci należy uwzględnić zasady zbioru roboczego procesom systemowym nadaje się priorytet zależny od pilności zadań jakie wykonują procesom obsługi urządzeń nadaje się wysoki priorytet HIERARCHIA PROCESÓW najczęściej: planista - system op. - procesy podprocesy planista jest przodkiem wszystkich procesów procesy mogą: tworzyć podprocesy przydzielać podprocesom część własnych zasobów nadawać priorytet własnym podprocesom jeśli nie zapobiega się zakleszczeniom powinno się ich unikać koszt planowania nie powinien przekraczać osiąganych zysków 29 30 Materiały pomocnicze 5

HIERARCHIA PROCESÓW HIERARCHIA PROCESÓW W LINUKSIE planista procesy podprocesy 31 init-+-vboxclient---4*[{vboxclient}] -acpid -avahi-daemon -console-kit-dae---62*[{console-kit-dae}] -crond -dhclient -gconfd-2 -hald---hald-runner-+-hald-addon-acpi -hald-addon-inpu `-2*[hald-addon-stor] -ifplugd -kded4 -kdeinit4-+-draksnapshot-ap -klauncher -ksmserver-+-kwin `-{ksmserver} -net_applet -python `-xsettings-kde -kdm-+-x `-kdm---startkde---kwrapper4 -knotify4 -konsole-+-bash---su---bash---pstree `-{konsole} -korgac -master-+-pickup `-qmgr -6*[mingetty] -plasma---2*[{plasma}] -proftpd -pulseaudio-+-gconf-helper `-2*[{pulseaudio}] -s2u -splashy---2*[{splashy}] -syslogd -udevd `-vboxadd-timesyn 32 HIERARCHIA PROCESÓW W WINDOWS KONTROLA ZASOBÓW I ROZLICZENIA Instalacje: usługowe rozliczanie wewnętrzne ograniczanie możliwości racjonowanie zasobów krótkoterminowe maksymalne bieżące długoterminowe użycie zasobów w ciągu tygodnia/miesiąca 33 34 Materiały pomocnicze 6