Procesy. W sk³ad procesu wchodzi:

Podobne dokumenty
Zarządzanie procesami i wątkami

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

Stronicowanie na ¹danie

Zarz¹dzanie pamiêci¹ pomocnicz¹. Struktura dysku

Planowanie przydziału procesora

Blokady. Model systemu. Charakterystyka blokady

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

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

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

Proces y i y w i ąt ą ki

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

Zarz¹dzanie pamiêci¹

Systemy operacyjne III

Wprowadzenie. System operacyjny - program, który poœredniczy miêdzy u ytkownikiem komputera a sprzêtem komputerowym. Zadania systemu operacyjnego:

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

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

Planowanie przydziału procesora

Planowanie przydziału procesora

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

Planowanie przydziału procesora

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

Systemy Operacyjne - zarządzanie procesami

Planowanie przydziału procesora

Informatyka, systemy, sieci komputerowe

Zbigniew S. Szewczak Podstawy Systemów Operacyjnych

projektowanie systemu

Zarządzanie procesorem

Sieć komputerowa grupa komputerów lub innych urządzeo połączonych ze sobą w celu wymiany danych lub współdzielenia różnych zasobów, na przykład:

Bazy danych. Andrzej Łachwa, UJ, /15

Budowa systemów komputerowych

Metody harmonogramowania procesów w systemach operacyjnych czasu rzeczywistego

Szanowny Kliencie, dziêkujemy za zaufanie jakim obdarzy³eœ nasz¹ firmê wybieraj¹c to urz¹dzenie.

Poznań, 03 lutego 2015 r. DO-III

Sieci komputerowe. Definicja. Elementy

Zarządzanie procesami (omawiane zagadnienia)

Sieci komputerowe cel

Projektowanie procesów logistycznych w systemach wytwarzania

Załącznik nr 1 do SIWZ

Tworzenie wielopoziomowych konfiguracji sieci stanowisk asix z separacją segmentów sieci - funkcja POMOST. Pomoc techniczna

LIMATHERM SENSOR Sp. z o.o.

Procesy, wątki i zasoby

3.2 Warunki meteorologiczne

PRZETWORNIK PROGRAMOWALNY NAPIÊCIA I PR DU STA EGO TYPU P20H

Zarządzanie projektami. wykład 1 dr inż. Agata Klaus-Rosińska

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

Rodzaje i metody kalkulacji

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

INSTRUKCJA OBSŁUGI URZĄDZENIA: HC8201

revati.pl Drukarnia internetowa Szybki kontakt z klientem Obs³uga zapytañ ofertowych rozwi¹zania dla poligrafii Na 100% procent wiêcej klientów

Harmonogramowanie projektów Zarządzanie czasem

PROCEDURY UDZIELANIA ZAMÓWIEŃ PUBLICZNYCH w Powiatowym Urzędzie Pracy w Pile

Ethernet VPN tp. Twój œwiat. Ca³y œwiat.

Systemy mikroprocesorowe - projekt

SYSTEMY OPERACYJNE WYKLAD 6 - procesy

Stowarzyszenie Lokalna Grupa Działania EUROGALICJA Regulamin Rady

4. Procesy pojęcia podstawowe

Informacje o omawianym programie. Założenia programu omawianego w przykładzie

Warszawa, dnia 23 lipca 2013 r. Poz. 832

Instrukcja użytkowania DRIVER. Programator z przewodem sterowniczym. DRIVER 610 lub lub 2 strefy DRIVER

Postanowienia ogólne. Usługodawcy oraz prawa do Witryn internetowych lub Aplikacji internetowych

Dziennik Urzêdowy. zawodników amatorów osi¹gaj¹cych wysokie wyniki sportowe we wspó³zawodnictwie miêdzynarodowym lub krajowym

ROZPORZĄDZENIE MINISTRA PRACY I POLITYKI SPOŁECZNEJ 1)

SYSTEMY OPERACYJNE WYKLAD 6 - wątki

DWP. NOWOή: Dysza wentylacji po arowej

... Ireneusz Mrozek. Wydział Informatyki

INSTRUKCJA OBS UGI. Fenix 240

PODSTAWY W AŒCIWEJ OBS UGI TACHOGRAFÓW

Materiały pomocnicze 1

Base 6T - widok z przodu

Warszawa, r.

Podstawy programowania

Quickster Chrono Foot G Instrukcja obsługi

Umowa kredytu. zawarta w dniu. zwanym dalej Kredytobiorcą, przy kontrasygnacie Skarbnika Powiatu.

STATUT KOŁA NAUKOWEGO KLUB INWESTORA

Procesy, zasoby i wątki

Procesy, zasoby i wątki

REGULAMIN rozliczania dostaw ciep ej i zimnej wody w lokalach mieszkalnych i u ytkowych S. M. OSIEDLE STARÓWKA W WARSZAWIE

Procesy, zasoby i wątki

Zarządzenie Nr 325/09 Burmistrza Miasta Bielsk Podlaski z dnia 29 czerwca 2009 r.

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

Na podstawie art.4 ust.1 i art.20 lit. l) Statutu Walne Zebranie Stowarzyszenia uchwala niniejszy Regulamin Zarządu.

Urządzenia do bezprzerwowego zasilania UPS CES GX RACK. 10 kva. Wersja U/CES_GXR_10.0/J/v01. Praca równoległa

PILOT ZDALNEGO STEROWANIA INSTRUKCJA OBS UGI

Zapytanie ofertowe. Projekt realizowany przy współfinansowaniu ze środków Unii Europejskiej, w ramach Programu Operacyjnego Pomoc Techniczna

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

OGŁOSZENIE O OTWARTYM KONKURSIE OFERT NA REALIZACJĘ PROJEKTÓW W RAMACH PROGRAMU OSŁONOWEGO

Utrzymanie aplikacji biznesowych SI PSZ

Przewodnik AirPrint. Ten dokument obowiązuje dla modeli atramentowych. Wersja A POL

INFORMACJA dla osób nie będących klientami Banku Spółdzielczego w Goleniowie

SUBSTANCJE ZUBOŻAJĄCE WARSTWĘ OZONOWĄ

System kontroli wersji SVN

POLITYKA PRYWATNOŚCI SKLEPU INTERNETOWEGO

Stanowisko Rzecznika Finansowego i Prezesa Urzędu Ochrony Konkurencji i Konsumentów w sprawie interpretacji art. 49 ustawy o kredycie konsumenckim

CitiDirect EB - Mobile

Architektura komputerów

Lublin, dnia 16 lutego 2016 r. Poz. 775 UCHWAŁA NR XIV/120/16 RADY GMINY MIĘDZYRZEC PODLASKI. z dnia 29 stycznia 2016 r.

Krótka informacja o instytucjonalnej obs³udze rynku pracy

KOMPONENTY SYSTEMÓW OPERACYJNYCH

Transkrypt:

Procesy Proces - program w czasie wykonania; wykonanie musi przebiegaæ sekwencyjnie W sk³ad procesu wchodzi: program licznik rozkazów stos sekcja danych Procesy wykonuj¹ siê wspó³bie nie (niekoniecznie równolegle) Proces podczas wykonania zmienia stan: nowy: proces zosta³ utworzony wykonywany: s¹ wykonywane instrukcje procesu oczekuj¹cy: proces czeka na zajœcie jakiegoœ zdarzenia gotowy: proces czeka na przydzielenie procesora zakoñczony: proces zakoñczy³ wykonanie Diagram stanów procesu: nowy dopuszczony wyjœcie zakoñczony przerwanie gotowy wykonywany wejœcie-wyjœcie lub warunek - zakoñczenie wybór do wykonania oczekuj¹cy wejœcie-wyjœcie lub warunek - czekanie Zarz¹dzanie procesami str. 1

Blok kontrolny procesu (PCB) - zawiera informacje zwi¹zane z procesem: stan procesu licznik rozkazów rejestry procesora informacje o szeregowaniu przez procesor informacje o pamiêci zajêtej przez proces informacje rozliczeniowe informacje o stanie wejœcia-wyjœcia Kolejki szeregowania procesów kolejka zadañ - zbiór wszystkich procesów w systemie kolejka gotowych - zbiór wszystkich procesów umieszczonych w pamiêci g³ównej, gotowych i czekaj¹cych na wykonanie kolejki do urz¹dzeñ - zbiór procesów czekaj¹cych na okreœlone urz¹dzenie wejœcia-wyjœcia Szeregowanie procesów szeregowanie d³ugoterminowe - wybór procesów, które przejd¹ do kolejki gotowych; wykonywane rzadko (sekundy, minuty); mo e byæ wolne; okreœla poziom wieloprogramowoœci szeregowanie krótkoterminowe - wybór nastêpnego procesu do wykonania i przydzia³ CPU; wykonywane czêsto (milisekundy); musi byæ szybkie d³ugoterminowe krótkoterminowe kolejka gotowych CPU koniec we-wy kolejki czekaj¹cych na we-wy Zarz¹dzanie procesami str. 2

Czasami dochodzi szeregowanie œrednioterminowe: wymiana (swapping) czyli czasowe usuwanie zadania w ca³oœci z pamiêci g³ównej do pomocniczej Procesy mo na okreœliæ jako: zorientowane na wejœcie-wyjœcie - spêdzaj¹ wiêcej czasu wykonuj¹c wejœcie-wyjœcie ni obliczenia; wiele krótkich odcinków czasu zapotrzebowania na CPU zorientowane na obliczenia - spêdzaj¹ wiêcej czasu wykonuj¹c obliczenia; kilka bardzo d³ugich odcinków czasu zapotrzebowania na CPU Prze³¹czanie kontekstu: Prze³¹czanie procesora do innego procesu wymaga przechowania stanu starego procesu i za³adowanie przechowanego stanu nowego procesu Czas prze³¹czenia kontekstu jest narzutem na dzia³anie systemu Czas prze³¹czenia kontekstu zale y od wsparcia ze strony sprzêtu (rz¹d wielkoœci: 1-100 mikrosekund) Tworzenie procesów Proces macierzysty tworzy procesy potomne, które z kolei tworz¹ inne procesy; powstaje w ten sposób drzewo procesów Wspó³dzielenie zasobów: proces potomny i macierzysty wspó³dziel¹ wszystkie zasoby; potomkowie dziel¹ czêœæ zasobów przodka; przodek i potomkowie nie dziel¹ adnych zasobów Wykonanie: wspó³bie nie lub przodek czeka na zakoñczenie potomków Przestrzeñ adresowa: potomek jest kopi¹ przodka lub potomek ³aduje nowy program Unix: fork, exec Zarz¹dzanie procesami str. 3

Koñczenie procesów Proces wykonuje ostatni¹ instrukcjê i prosi system operacyjny o usuniêcie (exit); przekazanie danych z procesu potomnego do macierzystego (wait); zwolnienie przydzielonych zasobów Przodek mo e przerwaæ wykonanie potomka: potomek przekroczy³ przydzielone zasoby; zlecone potomkowi zadanie nie jest ju potrzebne; przodek koñczy dzia³anie Obs³ug¹ procesów zajmuje siê j¹dro systemu operacyjnego W¹tki (lekkie procesy) W¹tek jest podstawow¹ jednostk¹ wykorzystania CPU; posiada w³asny licznik rozkazów, zbiór rejestrów, stos, stan, w¹tki potomne W¹tek wspó³dzieli z innymi w¹tkami tego samego zadania: przestrzeñ adresow¹, zmienne globalne, zasoby systemowe Tradycyjny proces (ciê ki) jest równowa ny zadaniu z jednym w¹tkiem Jeœli zadanie sk³ada siê z wielu w¹tków, to w czasie gdy jeden w¹tek jest zablokowany, mo e siê wykonywaæ inny w¹tek tego zadania; wspó³praca wielu w¹tków w jednym zadaniu pozwala zwiêkszyæ przepustowoœæ i poprawiæ wydajnoœæ Implementacja w¹tków: - na poziomie u ytkownika (projekt Andrew z CMU); dobra wydajnoœæ, potrzebny system czasu wykonania wspomagaj¹cy w¹tki - wspierana przez j¹dro systemu (Mach, OS/2); gorsza wydajnoœæ, ale implementacja nie wymaga sztuczek - podejœcie hybrydowe (Solaris 2) Tworzenie w¹tków i prze³¹czanie procesora miêdzy w¹tkami tego samego procesu s¹ du o tañsze ni tworzenie procesów i prze³¹czanie kontekstu miêdzy procesami Zarz¹dzanie procesami str. 4

W¹tki umo liwiaj¹ po³¹czenie równoleg³oœci z sekwencyjnym wykonaniem i blokuj¹cymi funkcjami systemowymi: proces - serwer plików w¹tek - dyspozytor w¹tek - robotnik ¹danie wykonania pracy (1) (2) (3) skrzynka pocztowa dzielona podrêczna pamiêæ buforowa j¹dro (1) model dyspozytor-pracownik (2) model zespo³u (3) model potoku Zarz¹dzanie procesami str. 5

Podstawowe pojêcia Przydzia³ procesora Wieloprogramowoœæ umo liwia zwiêkszenie wykorzystania CPU i urz¹dzeñ zewnêtrznych Wykonanie procesu przebiega cyklicznie: fazy zapotrzebowania na CPU przeplataj¹ siê z fazami zapotrzebowania na wejœciewyjœcie Rozk³ad faz zapotrzebowania na CPU powinien mieæ wp³yw na dobór algorytmu szeregowania procesów Dzia³anie procesu szereguj¹cego (krótkoterminowo): Wybiera spoœród procesów gotowych i umieszczonych w pamiêci jeden i przydziela mu procesor Decyzjê podejmuje siê gdy proces: 1. przechodzi ze stanu wykonywany do stanu oczekuj¹cy 2. przechodzi ze stanu wykonywany do stanu gotowy 3. przechodzi ze stanu oczekuj¹cy do stanu gotowy 4. koñczy siê Szeregowanie bez wyw³aszczania: 1 i 4 Szeregowanie z wyw³aszczaniem: pozosta³e Dyspozytor (dispatcher) Przekazuje procesor procesowi wybranemu przez proces szereguj¹cy; obowi¹zki: prze³¹czanie kontekstu prze³¹czenie do trybu u ytkownika wykonanie skoku do odpowiedniego adresu w programie u ytkownika w celu wznowienia wykonania programu OpóŸnienie zwi¹zane z dzia³aniem dyspozytora - czas potrzebny dyspozytorowi na zatrzymanie jednego procesu i uruchomienie innego Zarz¹dzanie procesami str. 6

Kryteria szeregowania Wykorzystanie CPU - procent czasu zajêtoœci CPU (max) Przepustowoœæ - liczba procesów, które zakoñczy³y wykonanie w jednostce czasu (max) Czas obrotu - czas potrzebny na wykonanie procesu (min) Czas oczekiwania - czas spêdzony przez proces w kolejce procesów gotowych (min) Czas reakcji - czas liczony od chwili dostarczenia ¹dania do chwili uzyskania odpowiedzi (w systemie z podzia³em czasu) (min) Algorytmy (krótkoterminowego) szeregowania procesów 1. Kolejka prosta (FIFO) Procesy s¹ wykonywane w kolejnoœci przybywania Brak wyw³aszczania Przyk³ad: Procesy i ich zapotrzebowanie na CPU: P1 (24), P2 (3), P3 (3) Jeœli procesy przyby³y w kolejnoœci P1, P2, P3: czas oczekiwania: P1 = 0, P2 = 24, P3 = 27 œredni czas oczekiwania: (0 + 24 + 27)/3 = 17 Jeœli procesy przyby³y w kolejnoœci P2, P3, P1: czas oczekiwania: P1 = 6, P2 = 0, P3 = 3 œredni czas oczekiwania: (6 +0+3)/3 = 3 Efekt konwoju: krótkie procesy wstrzymywane przez d³ugie Zalety: sprawiedliwy, niski narzut systemowy Wady: d³ugi œredni czas oczekiwania i wariancja czasu oczekiwania, nieakceptowalny w systemach z podzia³em czasu Zarz¹dzanie procesami str. 7

2. Najkrótsze zadanie najpierw (SJF) Procesor przydziela siê temu procesowi, który ma najkrótsz¹ najbli sz¹ fazê zapotrzebowania na CPU (gdy równe, to FCFS) Z wyw³aszczaniem (SRTF) lub bez Przyk³ad: Procesy, ich czas przybycia i zapotrzebowanie na CPU: P1 w 0 (7), P2 w 2 (4), P3 w 4 (1), P4 w5(4) Bez wyw³aszczania - kolejnoœæ obs³ugi: P1, P3, P2, P4 czas oczekiwania: P1 = 0, P2 = 6, P3 = 3, P4 = 7 œredni czas oczekiwania: (0 +6+3+7)/4 = 4 Z wyw³aszczaniem - kolejnoœæ obs³ugi: P1, P2, P3, P2, P4, P1 czas oczekiwania: P1 = 9, P2 = 1, P3 = 0, P4 = 2 œredni czas oczekiwania: (9 +1+0+2)/4 = 3 Zalety: optymalny Wady: wymaga okreœlenia d³ugoœci przysz³ej fazy CPU (mo na próbowaæ oszacowaæ np. jako œredni¹ wyk³adnicz¹ poprzednich faz: t n+1 = a t n + (1-a) t n ) 3. Szeregowanie priorytetowe Z ka dym procesem jest zwi¹zany priorytet (liczba ca³kowita) CPU przydziela siê procesowi z najwy szym priorytetem, FCFS gdy priorytety równe (zwykle ma³a liczba º wysoki priorytet) Z wyw³aszczaniem lub bez wyw³aszczania SJN jest strategi¹ szeregowania priorytetowego (priorytet º przewidywana d³ugoœæ nastêpnej fazy CPU) Problem: zag³odzenie Rozwi¹zanie: wzrost priorytetu z up³ywem czasu (proces siê starzeje ) Zarz¹dzanie procesami str. 8

4. Szeregowanie karuzelowe (Round Robin) Ka dy proces otrzymuje kwant czasu CPU, zwykle 10-100 milisekund. Po up³ywie kwantu proces zostaje wyw³aszczony i idzie na koniec kolejki procesów gotowych Jeœli w kolejce procesów gotowych jest n procesów, a q to wielkoœæ kwantu, to ka dy proces dostaje 1/n czasu procesora w odcinkach d³ugoœci co najwy ej q. aden proces nie czeka na nastêpny kwant d³u ej ni (n-1) q jednostek czasu Przyk³ad: Procesy i ich zapotrzebowanie na CPU: P1 (53), P2 (17), P3 (68), P4 (24) (kwant = 20) P 1 P 2 P 3 P 4 P 1 P 3 P 4 P 1 P 3 P 3 0 20 37 57 77 97 117 12 134 154 162 czas oczekiwania: P1 = 81, P2 = 20, P3 = 94, P4 = 97 œredni czas oczekiwania: (81 + 20 + 94 + 97)/4 = 73 Wydajnoœæ: q du e Þ FIFO q ma³e Þ q musi byæ du e w porówaniu z czasem prze³¹czenia kontekstu, wpp narzut systemowy jest zbyt wysoki regu³a: 80% faz CPU powinno byæ krótszych ni kwant czasu PS (processor sharing, czyli dzielenie procesora): gdy kwant bardzo ma³y, to wydaje siê, e ka dy z procesów ma w³asny procesor dzia³aj¹cy z 1/n prêdkoœci rzeczywistego procesora Cechy: zwykle wy szy œredni czas obrotu ni dla SRTF, lecz lepszy czas reakcji Zarz¹dzanie procesami str. 9

5. Kolejki wielopoziomowe Kolejka procesów gotowych jest podzielona na odrêbne kolejki. Przyk³ad: procesy piewszoplanowe (interakcyjne) procesy drugoplanowe (wsadowe) Ka da kolejka ma w³asny algorytm szeregowania Przyk³ad: procesy piewszoplanowe - strategia karuzelowa procesy drugoplanowe - kolejka prosta Szeregowanie pomiêdzy kolejkami: Sta³y priorytet, np. obs³uguj najpierw wszystkie procesy pierwszoplanowe, potem drugoplanowe; mo liwoœæ zag³odzenia Kwant czasu - ka da kolejka otrzymuje ustalon¹ czêœæ czasu CPU do podzia³u pomiêdzy swoje pocesy, np. 80% dla pierwszoplanowych z RR, 20% dla drugoplanowych z FCFS 6. Kolejki wielopoziomowe ze sprzê eniem zwrotnym Procesy mog¹ siê przemieszczaæ pomiêdzy kolejkami Parametry metody: liczba kolejek algorytm szeregowania dla ka dej kolejki metoda przemieszczania procesów do wy szych kolejek metoda przemieszczania procesów do ni szych kolejek metoda wybierania kolejki dla nowego procesu Przyk³ad: proces zu ywaj¹cy du o czasu procesora (np. ca³y kwant w RR) przechodzi do kolejki o ni szym priorytecie, ale d³u szym kwancie. Na najni szym poziomie: FCFS. Procesy interakcyjne i zorientowane na wejœcie-wyjœcie bêd¹ pozostawaæ w kolejkach o wy szym priorytecie, a procesy zorientowane obliczeniowo - w kolejkach o ni szym priorytecie. Zarz¹dzanie procesami str. 10

Zalety: bardziej elastyczna ni zwyk³e kolejki wielopoziomowe, umo liwia implementacjê starzenia siê procesów Wady: du o parametrów wymagaj¹cych dostrajania, wysoki koszt implementacji 7. Szeregowanie w systemach wieloprocesorowych Systemy heterogeniczne: ka dy procesor ma w³asn¹ kolejkê i w³asny algorytm szeregowania Systemy homogeniczne: dzielenie obci¹ enia (osobna kolejka dla ka dego procesora) wspólna kolejka - ka dy procesor sam wybiera proces do wykonania - jeden procesor przydziela procesy do procesorów (wieloprzetwarzanie asymetryczne) 8. Szeregowanie w systemach czasu rzeczywistego Systemy czasu rzeczywistego ze sztywnymi wymaganiami - zadania krytyczne musz¹ siê zakoñczyæ w zadanym czasie Systemy czasu rzeczywistego z ³agodnymi wymaganiami - zadania krytyczne s¹ obs³ugiwane z wy szym priorytetem ni pozosta³e Zarz¹dzanie procesami str. 11