ZARZĄDZANIE PROCESAMI

Slides:



Advertisements
Podobne prezentacje
Zerowanie mikroprocesorów Cel: wprowadzenie mikroprocesora w określony stan początkowy Zwykle realizowany poprzez: inicjalizację licznika rozkazów (PC)
Advertisements

Wirtualizacja zasobów w systemach operacyjnych
Podstawowe pojęcia programowania współbieżnego
Mechanizmy pracy równoległej
Wykład nr 8: Zakleszczenia
Wykonał : Marcin Sparniuk
Podstawy Informatyki (4)
SYSTEMY OPERACYJNE WSTĘP
SYSTEMY OPERACYJNE ·       SO : zestaw programów zarządzających zasobami komputera i wspomagających jego użytkowanie zarządzanie zasobami.
SYSTEMY OPERACYJNE ZAKLESZCZENIA (BLOKADY)
Semafory Autorzy : Michał Winciorek Łukasz Jackowicz.
przetwarzaniu informacji
SYSTEMY OPERACYJNE PROCESY I WĄTKI
Sieci komputerowe.
SYSTEMY OPERACYJNE PROCESY I WĄTKI
SYSTEMY OPERACYJNE PROCESY I WĄTKI
1 Linux jako system wielozadaniowy i wielodostępny.
Wykład nr 7: Synchronizacja procesów
Systemy operacyjne Wykład nr 5: Wątki Piotr Bilski.
Wykład nr 1: Wprowadzenie. Pojęcia podstawowe
Systemy operacyjne Wykład nr 4: Procesy Piotr Bilski.
Wykład nr 2: Struktura systemu komputerowego a system operacyjny
Wykład nr 6: Planowanie przydziału procesora
Systemy operacyjne.
Systemy operacyjne Bibliografia:
Temat nr 10: System przerwań
Budowa systemów operacyjnych czasu rzeczywistego
Projektowanie i programowanie obiektowe II - Wykład IV
Dr Anna Kwiatkowska Instytut Informatyki
Semafory według normy POSIX
Budowa Komputera.
SIEĆ P2P 1. Definicja sieci równouprawnionej. To taka sieć, która składa się z komputerów o takim samym priorytecie ważności, a każdy z nich może pełnić.
Zdzisław Stryła Instytut Fizyki UAM
ogólne pojęcia struktury
Podstawy programowania II
Metody przedstawiania algorytmów.
Systemy Operacyjne Dr inż. Sławomir Samolej
Wielozadaniowowść systemu operacyjnego Linux
Systemy operacyjne.
Zasada działania komputera
Elementy składowe komputera
Budowa komputera.
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
Podstawowe usługi systemów operacyjnych
Budowa i rodzaje procesorów.
Mikroprocesory.
Narzędzia administracyjne
Problem sekcji krytycznej
Przerwanie ang. interrupt.
Koncepcja procesu Zadanie i proces. Definicja procesu Process – to program w trakcie wykonywania; wykonanie procesu musi przebiegać w sposób sekwencyjny.
POŚREDNIK Jak reprezentowana jest informacja w komputerze? liczby – komputer został wymyślony jako zaawansowane urządzenie służące do wykonywania.
Systemy Operacyjne Dr inż. Sławomir Samolej
Wykład 7 Synchronizacja procesów i wątków
W ą t e k (lekki proces) thread.
Planowanie przydziału procesora
Przykłady implementacji planowania przydziału procesora
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
Wykład 8 Szeregowanie zadań
Systemy rozproszone  Rozdzielenie obliczeń między wiele fizycznych procesorów.  Systemy luźno powiązane – każdy procesor ma lokalną pamięć; procesory.
Systemy Operacyjne Dr inż. Sławomir Samolej D108 A, tel: ,
Procesor, pamięć, przerwania, WE/WY, …
Systemy Operacyjne Dr inż. Sławomir Samolej
Uprawnienia w Windows Server
Architektury procesorów rdzeniowych mikrokontrolerów.
Procesy, wątki Program a proces Proces: Przestrzeń adresowa, kod, dane, stos (część pamięci do przechowania zmiennych lokalnych i niektórych adresów) Otwarte.
Systemy operacyjne - Budowa systemu komputerowego i jego zadania
Tryby adresowania i formaty rozkazów mikroprocesora
Systemy operacyjne Wykład 6 Procesy dr inż. Wojciech Bieniecki Instytut Nauk Ekonomicznych i Informatyki 1.
Programowanie strukturalne i obiektowe Klasa I. Podstawowe pojęcia dotyczące programowania 1. Problem 2. Algorytm 3. Komputer 4. Program komputerowy 5.
Format rozkazu Tryby adresowania.
Zapis prezentacji:

ZARZĄDZANIE PROCESAMI Dr Anna Kwiatkowska Instytut Informatyki

Procesy Procesem jest program umieszczony w pamięci komputera i wykonywany pod nadzorem systemu operacyjnego Proces jest ciągiem czynności, zaś program jest ciągiem instrukcji Sam program nie jest procesem, gdyż jest obiektem pasywnym Proces jest obiektem aktywnym z licznikiem rozkazów wskazującym następny rozkaz do wykonania oraz ze zbiorem przydzielonych mu zasobów

Zarządzanie procesami Do wypełnienia swojego zadania proces potrzebuje pewnych zasobów, takich, jak czas procesora, pamięć, pliki i urządzenia we/wy Zasoby są przydzielane procesowi w chwili jego tworzenia lub podczas późniejszego działania Wykonanie procesu musi przebiegać w sposób sekwencyjny, co oznacza, że w dowolnej chwili na zamówienie danego procesu może być wykonywany co najwyżej jeden rozkaz kodu programu

Zarządzanie procesami System operacyjny odpowiada za następujące działania dotyczące zarządzania procesami: tworzenie i usuwanie zarówno procesów użytkownika, jak i procesów systemowych planowanie porządku wykonywania procesów mechanizmy synchronizacji komunikacji usuwanie zakleszczeń procesów

Stany procesów Wykonujący się proces zmienia swój stan Każdy proces może znajdować się w jednym z następujących stanów: nowy (proces został utworzony) aktywny (są wykonywane instrukcje programu) oczekiwanie (proces czeka na jakieś zdarzenie) gotowy (proces czeka na przydział procesora) zakończony (proces zakończył działanie)

Blok kontrolny procesu Każdy proces jest reprezentowany w systemie operacyjnym przez blok kontrolny procesu (Process Control Block – PCB), nazywany również blokiem kontrolnym zadania Zawiera on wiele informacji związanych z danym procesem Blok kontrolny procesu służy po prostu jako magazyn przechowujący wszelkie informacje dla systemu umożliwiające zarządzanie procesem

PCB stan procesu licznik rozkazów ( wskazuje adres następnego rozkazu do wykonania w procesie) rejestry procesora – informacje dotyczące tych rejestrów i licznika rozkazów muszą być przechowywane podczas przerwań, aby proces mógł być później kontynuowany informacje o planowaniu przydziału procesora (np. priorytet procesu) informacje o zarządzaniu pamięcią informacje do rozliczeń (np. ilość zużytego czasu procesora) informacje o stanie we/wy ( np. o urządzeniach we/wy przydzielonych do procesu, wykaz otwartych plików).

Przydział czasu procesora Planowanie przydziału czasu procesora jest podstawą działania wieloprogramowych systemów operacyjnych Celem wieloprogramowania jest stałe utrzymywanie w działaniu pewnej liczby procesów

Przydział czasu procesora Przydział procesora może odbywać się w następujących sytuacjach: proces przeszedł od stanu aktywności do stanu czekania (np. na we/wy), proces przeszedł od stanu aktywności do stanu gotowości (np. wskutek przerwania), proces przeszedł od stanu czekania do stanu gotowości (np. po zakończeniu operacji we/wy), proces kończy działanie

Przydział czasu procesora Jeżeli planowanie odbywa się tylko w sytuacjach a) i d), to mówimy o planowaniu bez wywłaszczeń W tych sytuacjach proces, który otrzyma procesor zachowuje go aż do swojego zakończenia lub przejścia do stanu czekania Ta metoda planowania jest używana w środowisku Microsoft Windows W przypadku, gdy planowanie odbywa się w sytuacjach b) i c), mówimy o planowaniu wywłaszczającym

Metody szeregowania i przydziału zasobów Metoda FCFS „pierwszy zgłoszony, pierwszy obsłużony” (First Come, First Served) W metodzie tej procesy wykonywane są w kolejności przybywania Łatwą implementację tego algorytmu uzyskuje się za pomocą kolejki FIFO (First Input First Output)

Przykład Metoda FCFS Kolejność przybycia procesów: proces P1 24 P2 3 zapotrzebowanie na CPU P1 24 P2 3 P3

P1 P2 P3 PROCESOR

1 2 3 CZAS OCZEKIWANIA PROCESOR

1 2 3 CZAS OCZEKIWANIA 24 PROCESOR

1 2 3 CZAS OCZEKIWANIA 27 PROCESOR

Średni czas oczekiwania dla P1 czas oczekiwania =0 dla P2 czas oczekiwania =24 dla P3 czas oczekiwania =24+3=27 średni czas oczekiwania = (24+27)/3=17

Przykład Metoda FCFS Kolejność przybycia procesów: proces P2 3 P3 P1 zapotrzebowanie na CPU P2 3 P3 P1 24

P2 P3 P1 PROCESOR

2 3 1 CZAS OCZEKIWANIA PROCESOR

2 3 1 CZAS OCZEKIWANIA 3 PROCESOR

2 3 1 CZAS OCZEKIWANIA 6 PROCESOR

Średni czas oczekiwania dla P1 czas oczekiwania =0 dla P2 czas oczekiwania =3 dla P3 czas oczekiwania =3+3=6 średni czas oczekiwania = (3+6)/3=3 Podsumowując można stwierdzić, że w tym algorytmie procesy krótkie są wstrzymywane przez długie, zatem średni czas oczekiwania może być długi

Metody szeregowania i przydziału zasobów Metoda SJF „najkrótsze zadanie najpierw” (Shortest Job First) Realizując tą metodę procesor przydziela sie temu procesowi, który ma najkrótszą fazę zapotrzebowania W przypadku, gdy fazy są równe, stosuje się metodę FCFS

Przykład Kolejność przybycia procesów: proces P1 24 P2 3 P3 zapotrzebowanie na CPU P1 24 P2 3 P3

24 3 3 P1 P2 P3 2 PROCESOR

3 1 2 3 CZAS OCZEKIWANIA PROCESOR

3 1 2 3 CZAS OCZEKIWANIA 3 PROCESOR

24 1 2 3 CZAS OCZEKIWANIA 6 PROCESOR

Średni czas oczekiwania dla P2 czas oczekiwania =0 dla P3 czas oczekiwania =3 dla P1 czas oczekiwania =3+3=6 średni czas oczekiwania = (3+6)/3=3 Algorytm ten zapewnia minimalny średni czas wykonania, ale wadą jest konieczność znajomości czasów wykonania poszczególnych procesów

Metody szeregowania i przydziału zasobów Szeregowanie priorytetowe Z każdym procesem jest związany priorytet, który jest liczbą naturalną W tej metodzie procesor przydziela się w pierwszej kolejności procesowi z najwyższym priorytetem

Metody szeregowania i przydziału zasobów Metoda szeregowania karuzelowego (Round Robin ) zaprojektowano go specjalnie dla systemów z podziałem czasu istotą tej metody jest podzielenie czasu procesora na kwanty (ang. time quantum)

Round Robin kwant czasu wynosi zwykle od 10 do 100 milisekund jeżeli po zakończeniu kwantu czasu wykonywanego procesu nie zakończono, to jest on przerywany i ustawiany na koniec kolejki a do wykonania jest pobierany następny proces według algorytmu FCFS

Kwant czasu jest równy 4 ms Przykład Kwant czasu jest równy 4 ms Kolejność przybycia procesów: proces zapotrzebowanie na CPU P1 24 P2 3 P3

P1 P2 P3 4 ms 24 3 3 PROCESOR

24 3 3 1 2 3 4 ms PROCESOR CZAS OCZEKIWANIA

20 3 3 1 2 3 4 ms PROCESOR 4 CZAS OCZEKIWANIA

20 2 3 1 3 4 ms PROCESOR 7 CZAS OCZEKIWANIA

20 3 1 4 ms PROCESOR 10 CZAS OCZEKIWANIA

16 1 4 ms PROCESOR

12 1 4 ms PROCESOR

8 1 4 ms PROCESOR

4 1 4 ms PROCESOR

1 4 ms PROCESOR

Średni czas oczekiwania dla P1 czas oczekiwania =10 dla P2 czas oczekiwania =4 dla P3 czas oczekiwania =7 średni czas oczekiwania = (10+4+7)/3=7 średni czas oczekiwania w metodzie rotacyjnej bywa dość długi