Zarządzanie procesorem
Transkrypt
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 wielopoziomowe planowanie kolejek 1 Blok kontrolny procesu ! Stan procesu (nowy, gotowy, aktywny, oczekujący, itd.) ! Licznik rozkazów — adres następnego rozkazu ! Rejestry procesora (akumulatory, rejestry indeksowe, wskaźniki stosu, rejestry ogólnego przeznaczenia, rejestry flagowe, rejestry warunków) ! Informacje o planowaniu przydziału procesora (priorytet, wskaźniki do kolejek porządkujących itp.) ! Informacje o zarządzaniu pamięcią (elementy tablic stron i segmentów, zawartości rejestrów granicznych) ! Informacje o stanie wejścia-wyjścia ! Informacje do rozliczeń Zarządzanie procesorem 2 2 Kolejki procesów ! Kolejka zadań (ang. job queue) — wszystkie procesy systemu ! Kolejka procesów gotowych (ang. ready queue) — procesy gotowe do działania, przebywające w pamięci głównej ! Kolejka do urządzenia (ang. device queue) — procesy czekające na zakończenie operacji wejścia-wyjścia ! Kolejka procesów oczekujących w wyniku synchronizacji z innymi procesami (np. kolejka procesów na semaforze) Zarządzanie procesorem 3 3 Diagram kolejek w planowaniu procesora kolejka procesów gotowych procesor kolejka operacji wej-wyj wej-wyj kolejka procesów uśpionych zamówienie operacji wej-wyj upłynięcie kwantu czasu synchronizacja sygnał Zarządzanie procesorem 4 4 Planista (ang. scheduler) scheduler) ! Planista długoterminowy, planista zadań (ang. long-term scheduler, job scheduler) — zajmuje się ładowaniem nowych programów do pamięci, kontroluje stopień wieloprogramowości, dąży do zrównoważenia procesora. ! Planista krótkoterminowy, planista przydziału procesora (ang. CPU scheduler) — zajmuje się przydziałem procesora do procesów gotowych. ! Planista średnioterminowy (ang. medium-term scheduler) — zajmuje się wymianą procesów pomiędzy pamięcią główną a pamięcią zewnętrzną (np. dyskiem). Zarządzanie procesorem 5 Planista tak musi dobrać procesy, aby równoważyć obciążenie systemu, czyli ogólnie procesora i urządzeń zewnętrznych. W przeciwnym razie w systemie może powstać wąskie gardło, którym będzie procesor lub urządzenie zewnętrzne. Ponadto musi być zagwarantowany rozsądny czas odpowiedzi w przypadku systemów interaktywnych. 5 Przełączanie kontekstu zachowanie kontekstu w bloku kontrolnym 1 bezczynność proces 1 odtworzenie kontekstu z bloku kontrolnego 2 proces 2 bezczynność proces 3 bezczynność bezczynność Zarządzanie procesorem bezczynność 6 Przełączenie kontekstu polega na zachowaniu stanu starego procesu (zachowaniu kontekstu), i załadowania stanu nowego procesu (odtworzenie kontekstu) lub utworzenie nowego kontekstu dla nowego procesu w systemie. 6 Kryteria planowania ! Wykorzystanie procesora — procent czasu, przez który procesor jest zajęty pracą ! Przepustowość — liczba procesów kończonych w jednostce czasu ! Czas cyklu przetwarzania — czas pomiędzy przedłożeniem zadania, a zakończeniem jego wykonywania ! Czas oczekiwania — łączny czas spędzony przez proces w kolejce procesów gotowych ! Czas odpowiedzi — czas pomiędzy przedłożeniem zadania, a uzyskaniem pierwszej odpowiedzi Zarządzanie procesorem 7 7 Pierwszy zgłoszony – pierwszy obsłużony (ang. First Come First Served — FCFS) ! Wykonywanie procesów w kolejności zgłaszania się do systemu ! Algorytm niewywłaszczający (proces oddaje procesor dopiero po zażądaniu operacji wejściawyjścia) ! Duży rozrzut czasu oczekiwania Zarządzanie procesorem 8 Z tym rodzajem obsługi można się spotkać w życiu codziennym, czekając np. w kolejce w sklepie (np. do kasy), w banku, w punkcie lotto. 8 Najpierw najkrótsze zadanie (ang. Shortest Job First — SJF) ! Wybierany jest proces, który ma najkrótszą następną fazę procesora ! Daje minimalny średni czas oczekiwania dla każdego procesu jeden na chybił-trafił Zarządzanie procesorem 9 Jeżeli w punkcie lotto osoba obsługująca wybrałaby najpierw dziewczynkę z niebieskimi kokardami, ponieważ jej zadanie jest bardzo krótkie (chce zawrzeć tylko jeden zakład na chybił trafił), to dwaj „gentleman’i” przed nią będą czekać niewiele dłużej. W przypadku obsługi FIFO dziewczynka będzie musiała długo czekać żeby zrealizować krótkie zadanie, gdyż panowie przed nią chcą zagrać za duże pieniądze. Problem z realizacją tego algorytmu polega na ustaleniu długości obsługi dla nadchodzących zadań. Jest to trudne lub wręcz niemożliwe w systemach komputerowych. Można to ewentualnie mniej lub bardziej precyzyjnie szacować. 9 Planowanie priorytetowe (ang. priority scheduling) ! Wybierany jest proces, który ma największy priorytet Zarządzanie procesorem 10 Jest to ogólna koncepcja algorytmu z priorytetami. Jako pierwszy obsługiwany jest np. klient w punkcie lotto, który chce „zainwestować” najwięcej pieniędzy. Niezależnie od kolejności, w jakiej klienci przyszli do punktu lotto, najpierw zostanie obsłużony brunet, później jasny blondyn, później ciemny blondyn, a na końcu biedna dziewczynka (może za to, że tak dług czekała, coś wygra). 10 Planowanie rotacyjne (ang. Round Robin — RR) ! Ustalany jest kwant czasu, po upływie którego proces jest wywłaszczany i trafia na koniec kolejki procesów gotowych (chyba że wcześniej zażąda operacji wejścia-wyjścia) ! Preferencja dla zadań krótkich (wydłuża się czas oczekiwania i czas cyklu przetwarzania dla zadań długich) ! Przełączanie kontekstu pochłania pewien czas!!! Zarządzanie procesorem 11 Zaadoptowanie algorytmu do systemu lotto polegałoby na dopuszczeniu każdego klienta do wysłania w danym podejściu do lottomatu tylko jednego kuponu, po czym musiałby on wrócić na koniec kolejki i czekać po to, by zawrzeć następny zakład (jeśli miałby jeszcze na to ochotę). Klient, który ma mniej zakładów do zawarcia, czeka znacznie krócej niż klient, który ma ich więcej. 11 Planowanie wielokolejkowe (ang. multiple queues) ! Podział procesów na grupy (np. procesy interaktywne i procesy wsadowe) i wynikający z tego przydział do różnych kolejek ! Możliwość przydziału różnych priorytetów oraz różnych algorytmów szeregowania do poszczególnych kolejek Zarządzanie procesorem 12 W systemie obsługi klientów priorytet mogą mieć inwalidzi i kobiety z dzieckiem na ręku. Różne algorytmy szeregowania oznaczają np., że kolejka procesów interaktywnych może być obsługiwana zgodnie z algorytmem RR, a kolejka procesów wsadowych zgodnie z algorytmem FCFS. 12