Zarządzanie procesorem

Podobne dokumenty
Planowanie przydziału procesora

Planowanie przydziału procesora

Planowanie przydziału procesora

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

Zarządzanie procesami i wątkami

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

Procesy, wątki i zasoby

Informatyka, systemy, sieci komputerowe

Procesy, zasoby i wątki

Procesy, zasoby i wątki

Procesy, zasoby i wątki

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

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

Planowanie przydziału procesora

projektowanie systemu

Systemy operacyjne III

Systemy Operacyjne - zarządzanie procesami

Planowanie przydziału procesora

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

Materiały pomocnicze 1

Planowanie przydziału procesora

Planowanie przydziału procesora

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

Pytania do treści wykładów:

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

Proces y i y w i ąt ą ki

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

SYSTEMY OPERACYJNE WYKLAD 6 - wątki

Procesy, zasoby i wątki

KOMPONENTY SYSTEMÓW OPERACYJNYCH

Systemy operacyjne Procesy i wątki

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

Zbigniew S. Szewczak Podstawy Systemów Operacyjnych

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

Stan procesu. gotowy - czeka na przydział procesora, zakończony - zakończył działanie.

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

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

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

Planowanie przydziału procesora

Mikroprocesor Operacje wejścia / wyjścia

Przykłady implementacji planowania przydziału procesora

4. Procesy pojęcia podstawowe

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

Systemy operacyjne, architektura komputerów

Zarządzanie procesami (omawiane zagadnienia)

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

4. Procesy pojęcia podstawowe

Struktury systemów operacyjnych

Prezentacja systemu RTLinux

Stan procesu. Procesy i zarządzanie procesorem. Koncepcja procesu. Diagram stanów procesu

SYSTEMY CZASU RZECZYWISTEGO - VxWorks

Wykład 3. Procesy i wątki. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

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

Definicja systemu operacyjnego (1) Definicja systemu operacyjnego (2) Miejsce systemu operacyjnego w architekturze systemu komputerowego

SYSTEMY OPERACYJNE LABORATORIUM 2014/2015

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

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

Przerwania. Przerwania. Budowa systemu komputerowego. Zdarzenia powodujące przerwanie: Wektor przerwań

Przerwania. Przerwania. Budowa systemu komputerowego. Zdarzenia powodujące przerwanie: Wektor przerwań

4. Procesy pojęcia podstawowe

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

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

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.3

Budowa systemów komputerowych

Stronicowanie w systemie pamięci wirtualnej

Systemy Operacyjne i Sieci Komputerowe

Elementy Modelowania Matematycznego

SYSTEMY OPERACYJNE WYKLAD 6 - procesy

PROGRAMOWANIE SYSTEMÓW WBUDOWANYCH

Systemy Operacyjne i Sieci Komputerowe

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

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

Podstawy Informatyki Systemy operacyjne

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

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

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

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

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

Materiały pomocnicze 1

Programowanie Niskopoziomowe

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

LEKCJA TEMAT: Zasada działania komputera.

tworzenie/usuwanie procesów przechowywania kodu programu i danych s.o.? mamy 1 procesor i wiele procesów

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

Szeregowanie procesów w Linuksie - trendy rozwojowe

Oprogramowanie systemowe Dariusz Wawrzyniak

Technika mikroprocesorowa. Systemy operacyjne czasu rzeczywistego

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

Nakładki. Kod przebiegu 2: 80 kb Tablica symboli: 20 kb wspólne podprogramy: 30 kb Razem: 200 kb

1.1 Definicja procesu

Systemy Czasu Rzeczywistego (SCR)

Działanie systemu operacyjnego

Podsumowanie. Systemy operacyjne Podsumowanie 1. Klasyfikacja ze względu na sposób przetwarzania

Podsumowanie. Klasyfikacja ze względu na. liczbę użytkowników. Klasyfikacja ze względu na. Inne rodzaje systemów operacyjnych. sposób przetwarzania

Mogą pracować w środowisku: Scentralizowanym -mikrokontroler Rozproszonym sieć sterująca, systemy hierarchiczne. Komunikacja z syst.

Podstawy Informatyki Układ przerwań

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI

PRZYDZIAŁ PAMIĘCI OPERACYJNEJ

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

Transkrypt:

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 wej-wyj sygnał kolejka operacji wej-wyj kolejka procesów uśpionych zamówienie operacji wej-wyj upłynięcie kwantu czasu synchronizacja Zarządzanie procesorem 4 4

Planista (ang. 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 proces 1 odtworzenie kontekstu z bloku kontrolnego 2 bezczynność proces 2 bezczynność bezczynność proces 3 bezczynność bezczynność Zarządzanie procesorem 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