Planowanie przydziału procesora

Wielkość: px
Rozpocząć pokaz od strony:

Download "Planowanie przydziału procesora"

Transkrypt

1 Planowanie przydziału procesora Pojęcia podstawowe. Kryteria planowania. Algorytmy planowania. Planowanie wieloprocesorowe. Planowanie w czasie rzeczywistym. Ocena algorytmów. Wiesław Płaczek Systemy Operacyjne: Wykład 4 1

2 Pojęcia podstawowe Celem wieloprogramowania jest maksymalizowanie wykorzystania CPU przez utrzymywanie w działaniu pewnej liczby procesów (na jednym procesorze wykonywany jest tylko jeden proces, pozostałe czekają na swoją kolej). Dzięki przełączaniu procesora między różne procesy system operacyjny może zwiększyć wydajność komputera. Planowanie (scheduling) jest podstawową funkcją systemu operacyjnego podlega mu użytkowanie prawie wszystkich zasobów komputera. Planowanie przydziału procesora (CPU scheduling), który jest jednym a podstawowych zasobów komputera, leży u podstaw wieloprogramowych systemów operacyjnych. Sukces w planowaniu przydziału procesora zależy od obserwowalnej właściwości procesów: cykli działania procesora i oczekiwania na urządzenia WE/WY. Wiesław Płaczek Systemy Operacyjne: Wykład 4 2

3 Cykl faz procesora i WE/WY Procesy naprzemiennie przechodzą między fazą procesora (CPU burst) a fazą wejścia-wyjścia (I/O burst). załaduj do pamięci przechowaj dodaj do pamięci przechowaj czytaj zpliku czekaj na urządzenie WE/WY przechowaj przyrost indeksuj pisz do pliku czekaj na urządzenie WE/WY Faza procesora Faza WE/WY Faza procesora Faza WE/WY Częstość występowania fazy Czas trwania fazy [milisekundy] Ciąg faz procesora i wejścia wyjścia Histogram czasów faz procesora (krzywa hiperwykładnicza) Wiesław Płaczek Systemy Operacyjne: Wykład 4 3

4 Planista przydziału procesora Planista przydziału procesora Planista przydziału procesora (CPU scheduler) wybiera jeden spośród gotowych do wykonania procesów w pamięci i przydziela mu procesor. Decyzje o przydziale procesora mogą zapadać kiedy proces: 1. przeszedł od stanu aktywności do stanu czekania; 2. przeszedł od stanu aktywności do stanu gotowości; 3. przeszedł od stanu czekania do stanu gotowości; 4. kończy działanie. Planowanie, które odbywa się tylko w sytuacjach 1 i 4 jest planowaniem niewywłaszczającym (nonpreemtive) lub inaczej: szeregowaniem bez wywłaszczania kandydatem do przydziału procesora musi być nowy proces (np. MS Windows 3.1). Każdy inny rodzaj planowania jest wywłaszczający (preemtive), zwany też szeregowaniem z wywłaszczaniem; kandydatem do przydziału jest również dany proces (np. UNIX). Wymaga wsparcia sprzętowego (np. czasomierz), a także ochrony danych (zwłaszcza danych jądra) i synchronizacji procesów. Wiesław Płaczek Systemy Operacyjne: Wykład 4 4

5 Program ekspediujący Ekspedytor lub dyspozytor (dispatcher) moduł, który faktycznie przekazuje procesor do dyspozycji procesu wybranego przez planistę krótkoterminowego. Obowiązki ekspedytora to: przełączanie kontekstu; przełączanie do trybu użytkownika; wykonanie skoku do odpowiedniej komórki w programie użytkownika w celu wznowienia działania programu. Czas zużywany przez ekspedytora na wstrzymanie jednego procesu i uaktywnienie innego nazywa się opóźnieniem ekspedycji (dispatch latency). Czas ten powinien być jak najkrótszy! Wiesław Płaczek Systemy Operacyjne: Wykład 4 5

6 Kryteria planowania Wykorzystanie procesora (CPU utilization) procesor powinien być możliwie jak najbardziej zajęty. Przepustowość (throughput) liczba procesów kończących się w jednostce czasu (np. 10 procesów na sekundę) Czas cyklu przetwarzania (turnaround time) czas potrzebny na wykonanie procesu (od momentu pojawienia się procesu w systemie do chwili jego zakończenia). Czas oczekiwania (waiting time) suma okresów czasu, które proces spędza czekając w kolejce procesów gotowych. Czas odpowiedzi (response time) czas między wysłaniem żądania (złożeniem zamówienia) a pojawieniem się pierwszej odpowiedzi; nie obejmuje czasu potrzebnego na wyprowadzenie odpowiedzi (zależny od urządzenia WY). Ważne kryterium planowania dla systemów interakcyjnych. Wiesław Płaczek Systemy Operacyjne: Wykład 4 6

7 Kryteria optymalizacji Maksymalne wykorzystanie procesora. Maksymalna przepustowość. Minimalny czas cyklu przetwarzania. Minimalny czas czekania. Minimalny czas odpowiedzi. Najczęściej optymalizuje się miarę średnią. Czasami bardziej pożądana jest optymalizacja wartości minimalnych lub maksymalnych, np. zmniejszenie maksymalnego czasu odpowiedzi w sprawiedliwych systemach interakcyjnych. Według niektórych analityków w systemach interakcyjnych ważniejsza jest minimalizacja wariancji czasu odpowiedzi niż jego średniej system z przewidywalnym czasem odpowiedzi może być bardziej pożądany niż system, który ma bardzo zmienny czas odpowiedzi, choć przeciętnie krótszy. Wiesław Płaczek Systemy Operacyjne: Wykład 4 7

8 Algorytmy planowania Algorytm FCFS: Najprostszy algorytm planowania przydziału procesora algorytm pierwszy zgłoszony pierwszy obsłużony (first-come, first-served FCFS). Implementacja za pomocą kolejek FIFO (first-in, first-out). Przykład: Proces Czas trwania fazy [ms] P1 24 P2 3 P3 3 Przypuśćmy, że procesy nadeszły w kolejności: P1, P2, P3 diagram Gantta (Gantt chart): P1 P2 P Czas oczekiwania: t1 = 0, t2 = 24, t3 = 27; Średni czas oczekiwania: tś = ( )/3 = 17 Wiesław Płaczek Systemy Operacyjne: Wykład 4 8

9 Algorytm FCFS c.d. Przypuśćmy, że procesy nadeszły w kolejności: Diagram Gantta: P2, P3, P1; P2 P3 P Czas oczekiwania: t1 = 6, t2 = 0, t3 = 3; Średni czas oczekiwania: tś = ( )/3 = 3 Znacznie krótszy niż poprzednio! Efekt konwoju (convoy effect) procesy krótkie czekają na zwolnienie procesora przez proces długi. Algorytm FCFS jest niewywłaszczający. Algorytm FCFS jest kłopotliwy w systemach z podziałem czasu. Wiesław Płaczek Systemy Operacyjne: Wykład 4 9

10 Algorytm SJF Algorytm SJF Algorytm najpierw najkrótsze zadanie (shortest-job-first SJF) przydziela CPU procesowi mającemu najkrótszą następną fazę procesora. Możliwe są dwa schematy: Niewywłaszczający: żaden proces nie jest wywłaszczany podczas wykonywania fazy procesora. Wywłaszczający: bieżący proces jest wywłaszczany przez nowy proces, którego następna faza procesora jest krótsza o pozostałej części fazy procesora bieżącego procesu. Schemat ten zwany jest planowaniem najpierw najkrótszy pozostały czas (shortest-remaining-time-first SRTF). Algorytm SJF jest optymalny daje minimalny średni czas oczekiwania dla danego zbioru procesów. Łatwiejszy do realizacji w planowaniu długoterminowym (np. w systemach wsadowych), trudniejszy w planowaniu krótkoterminowym brak sposobu na poznanie długości następnej fazy procesora (można jedynie zgadywać). Wiesław Płaczek Systemy Operacyjne: Wykład 4 10

11 Przykład zastosowania algorytmu SJF Proces Czas przybycia Czas trwania fazy P1 0 7 P2 2 4 P3 4 1 P4 5 4 Niewywłaszczający algorytm SJF: P1 P3 P2 P Średni czas oczekiwania: tś = ( )/4 = 4 Wywłaszczający algorytm SJF: P1 P2 P3 P2 P4 P Średni czas oczekiwania: tś = ( )/4 = 3 Wiesław Płaczek Systemy Operacyjne: Wykład 4 11

12 Długość następnej fazy procesora Długość następnej fazy procesora może być jedynie przewidywana, np. na podstawie jego wcześniejszych faz! Na ogół używa się metody średniej wykładniczej pomiarów długości poprzednich faz procesora: 1. t n faktyczna długość n-tej fazy procesora; 2. τ n +1 przewidywana wartość następnej fazy procesora; 3. α, 0 α 1; 4. Definiujemy: τ n+ 1 = αtn + (1 α) τ n. Przykłady: α = 0: τ n +1 = τ n niedawna historia nie ma wpływu na wynik. α = 1: τ n +1 = t n liczy się tylko najnowsza długość fazy. Rozwijając powyższą formułę otrzymujemy: τ n+ 1 = αtn n n j τ j n+ 1 + ( 1 α) αt (1 α) αt (1 α) 0. Ponieważ: α, (1 α) < 1, to każdy następny składnik ma mniejszą wagę niż poprzednik; często przyjmuje się α = 0.5 ( τ 0 wartość początkowa: definiowana jako stała lub średnia z całego systemu). Wiesław Płaczek Systemy Operacyjne: Wykład 4 12

13 Planowanie priorytetowe Planowanie priorytetowe W algorytmie priorytetowym każdemu procesowi przypisuje się priorytet w postaci pewnej liczby całkowitej zazwyczaj: im mniejsza liczba tym wyższy priorytet, ale bywa też odwrotnie. Procesor jest przydzielany procesowi o najwyższym priorytecie. Priorytety mogą być definiowane wewnętrznie (na podstawie jakichś mierzalnych własności procesu) lub zewnętrznie (ważność procesu, czynniki polityczne itd.). Algorytm priorytetowy może być wywłaszczający lub niewywłaszczający. Algorytm SJF jest algorytmem priorytetowym, gdzie priorytet p jest proporcjonalny do przewidywanej długości następnej fazy procesora τ (im krótsza faza tym wyższy priorytet). Problem: (za)głodzenie (starvation) procesy o niskim priorytecie mogą nigdy nie zostać dopuszczone do procesora! Rozwiązanie: postarzanie (aging) procesów stopniowe podwyższanie priorytetów procesów długo oczekujących. Wiesław Płaczek Systemy Operacyjne: Wykład 4 13

14 Planowanie rotacyjne Planowanie rotacyjne Algorytm planowania rotacyjnego (round-robin RR) jest podobny do algorytmu FCFS, ale w celu przełączania procesów dodano w nim wywłaszczanie i cykliczną kolejkę. Każdy proces dostaje małą jednostkę czasu procesora, tzw. kwant czasu (time quantum) (zwykle 10 do 100 milisekund) po jej upływie proces jest wywłaszczany i wysyłany na koniec kolejki procesów gotowych, będącą kolejką typu FIFO. Dla n procesów w kolejce i kwantu czasu q, każdy proces dostaje 1/n czasu procesora porcjami, których wartość nie przekracza q żaden proces nie czeka dłużej niż (n-1)q jednostek czasu. Długość kwantu czasu: bardzo duża (nieskończona) algorytm FCFS. bardzo mała (np. 1 µs) dzielenie procesora (processor sharing). Kwant czasu powinien być długi w porównaniu z czasem przełączania kontekstu, w przeciwnym razie narzut związany z przełączaniem kontekstu jest zbyt wysoki! Typowa reguła: 80% faz procesora krótszych od kwantu czasu. Wiesław Płaczek Systemy Operacyjne: Wykład 4 14

15 Przykład użycia algorytmu rotacyjnego Niech kwant czasu: q = 4 ms. Weźmy trzy procesy: Proces Czas trwania fazy P1 24 P2 3 P3 3 Diagram Gantta: P1 P2 P3 P1 P1 P1 P1 P Średni czas oczekiwania: tś = ( )/3 = 5.66 ms Typowo dłuższy cykl przetwarzania niż w algorytmie SJF, ale krótszy czas odpowiedzi! Zaprojektowany specjalnie dla systemów z podziałem czasu Wiesław Płaczek Systemy Operacyjne: Wykład 4 15

16 Wielopoziomowe planowanie kolejek Wielopoziomowe planowanie kolejek Kolejka procesów gotowych jest podzielona na osobne kolejki: 1. Procesy pierwszoplanowe (foreground) interakcyjne; 2. Procesy drugoplanowe (background) wsadowe. Każda kolejka ma swój własny algorytm planujący: 1. Pierwszoplanowa: np. algorytm rotacyjny; 2. Drugoplanowa: np. algorytm FCFS. Musi istnieć planowanie między kolejkami: Planowanie stałopriorytetowe z wywłaszczeniem, np. kolejka pierwszoplanowa ma wyższy priorytet niż drugoplanowa możliwość zagłodzenia! Przydział porcji czasu procesora dla każdej z kolejek, np. 80% czasu procesora dla kolejki pierwszoplanowej (z planowaniem rotacyjnym), a 20% dla drugoplanowej (z planowaniem FCFS). Wiesław Płaczek Systemy Operacyjne: Wykład 4 16

17 Przykład kolejek wielopoziomowych Najwyższy priorytet Procesy systemowe Procesy interakcyjne Procesy redagowania interakcyjnego Procesy wsadowe Najniższy priorytet Procesy studenckie Wiesław Płaczek Systemy Operacyjne: Wykład 4 17

18 Planowanie wielopoziomowych kolejek ze sprzężeniem zwrotnym W zwykłym algorytmie wielopoziomowego planowania kolejek proces jest na stałe przypisany do określonej kolejki (brak elastyczności). Planowanie wielopoziomowych kolejek ze sprzężeniem zwrotnym (multilevel feedback queue) umożliwia przemieszczanie procesów między różnymi kolejkami: proces zużywający dużo czasu procesora zostaje przeniesiony do kolejki o niższym priorytecie i odwrotnie. Planista wielopoziomowych kolejek ze sprzężeniem zwrotnym jest określony za pomocą następujących parametrów: Liczba kolejek; Algorytm planowania dla każdej kolejki; Metoda użyta do decydowania o awansowaniu procesu do kolejki o wyższym priorytecie; Metoda użyta do decydowania o zdymisjonowaniu procesu do kolejki o niższym priorytecie; Metoda wyznaczająca kolejkę, do której trafia proces potrzebujący obsługi. Jest to najogólniejszy algorytm planowania przydziału procesora. Wiesław Płaczek Systemy Operacyjne: Wykład 4 18

19 Kolejki wielopoziomowe ze sprzężeniem zwrotnym Najwyższy priorytet Kolejka 0 Kwant = 8 Kwant = 16 Kolejka 1 FCFS Kolejka 2 Najniższy priorytet Proces, który nie wykona się w danym kwancie czasu jest wysyłany do kolejki o niższym priorytecie (i większym kwancie czasu). Wiesław Płaczek Systemy Operacyjne: Wykład 4 19

20 Planowanie wieloprocesorowe W systemach wieloprocesorowych planowanie przydziału CPU jest bardziej skomplikowane. A. Systemy homogeniczne (identyczne procesory): Dzielenie obciążeń (load sharing) wszystkie procesy trafiają do jednej kolejki i są przydzielane do dowolnego z dostępnych procesorów. Struktura master-slave jeden procesor pełni funkcję planisty dla pozostałych procesorów. Wieloprzetwarzanie asymetryczne (asymmetric multiprocessing) jeden procesor (serwer główny) wykonuje planowanie, operacje WE/WY i inne czynności systemowe; pozostałe wykonują tylko kod użytkowy. B. Systemy heterogeniczne (różne procesory) planowanie dedykowane dla danego systemu. Wiesław Płaczek Systemy Operacyjne: Wykład 4 20

21 Planowanie w czasie rzeczywistym Rygorystyczne systemy czasu rzeczywistego do wypełniania krytycznych zadań w gwarantowanym czasie. Proces jest dostarczany wraz z instrukcją określającą potrzeby czasowe. Na postawie tych danych planista akceptuje proces, zapewniając wykonanie go na czas, lub odrzuca zlecenie jako niewykonalne. Niemożliwe udzielenie gwarancji wykonania procesu w zadanym czasie w systemach z pamięcią pomocniczą lub wirtualną. Łagodne systemy czasu rzeczywistego procesy o decydującym znaczeniu uzyskują priorytet nad innymi procesami: Planowanie musi być priorytetowe; Procesy czasu rzeczywistego muszą mieć najwyższy priorytet, a ich priorytety nie mogą maleć z upływem czasu. Opóźnienie ekspediowania procesów do procesora musi być małe: o Wstawianie w długotrwałych funkcjach systemowych punktów wywłaszczeń, w których może nastąpić przełączenie kontekstu. o Możliwość wywłaszczenia całego jądra potrzebna ochrona danych jądra przy pomocy mechanizmów synchronizacji (np. Solaris 2). Wiesław Płaczek Systemy Operacyjne: Wykład 4 21

22 Opóźnienie ekspedycji Zdarzenie Przetwarzanie przerwania Czas do nadejścia odpowiedzi Proces osiąga gotowość do działania Opóźnienie ekspedycji Konflikty Ekspedycja Odpowiedź na zdarzenie Wykonanie procesu w czasie rzeczywistym Czas Faza konfliktowa (conflict phase) obejmuje: 1. Wywłaszczenie wszelkich procesów działających w jądrze. 2. Zwolnienie przez procesy niskopriorytetowe zasobów potrzebnych procesowi wysokopriorytetowemu. Wiesław Płaczek Systemy Operacyjne: Wykład 4 22

23 Ocena algorytmów Modelowanie deterministyczne (deterministic modeling) przyjmuje konkretne, z góry określone obciążenie robocze systemu i definiuje zachowanie algorytmu dla danego obciążenia (np. dla zbioru procesów o określonych długościach faz procesora porównuje się średnie czasy oczekiwania dla różnych algorytmów). Jest proste i szybkie, daje dokładne liczby (łatwo porównywalne). Wymaga zbyt wiele dokładnej wiedzy i dotyczy zbyt specyficznych sytuacji nie może być ogólnie użyteczne. Modele obsługi kolejek (queuing models) ustala się rozkłady faz procesora i WE/WY, czasów przybywania procesów (np. na podstawie pomiarów) i w oparciu o nie oblicza się średnią przepustowość, wykorzystanie procesora, czas oczekiwania itd. dla różnych algorytmów planowania. Potrzebne są pewne założenia (np. uproszczone rozkłady), co może prowadzić do niedokładnych, a czasem nierealistycznych wyników. Symulacje komputerowe modelowanie systemu komputerowego (zwykle przy użyciu technik Monte Carlo), np. z użyciem taśm śladów. Dostarczają dokładniejszych wyników, ale mogą być kosztowne i czasochłonne. Implementacja testowanie algorytmu w rzeczywistym systemie. Wiesław Płaczek Systemy Operacyjne: Wykład 4 23

24 Ocena planowania CPU przez symulacje Faktyczne dane o wykonaniu procesu Procesor 10 WE/WY 203 Procesor 12 WE/WY 203 Procesor 4 WE/WY 154 Symulacja Metoda FCFS Symulacja Metoda FJS Statystka działania metodą FCFS Statystka działania metodą FJS Procesor 126 Taśma ze śladem Symulacja Metoda RR (Q=14) Statystka działania metodą rotacyjną (Q=14) Taśma śladów (trace tape) taśma z zapisem zdarzeń rzeczywistego systemu. Wiesław Płaczek Systemy Operacyjne: Wykład 4 24

25 Planowanie procesów w systemie Linux Dwa oddzielne algorytmy planowania procesów: Algorytm z podziałem czasu do sprawiedliwego planowania z wywłaszczeniami działania wielu procesów. Algorytm dla zadań czasu rzeczywistego, gdzie priorytety bezwzględne są ważniejsze niż sprawiedliwość. W skład tożsamości każdego procesu wchodzi klasa planowania, określająca, który z algorytmów ma być użyty dla procesu. Dla zwykłych procesów z podziałem czasu stosowany jest algorytm priorytetowy oparty na kredytowaniu: kredyt = kredyt/2 + priorytet Do wykonania wybierany jest proces o największym kredycie. Kredyt wykonywanego procesu jest obniżany o jedną jednostkę przy każdym przerwaniu zegara kiedy kredyt spadnie do zera, proces jest zawieszany. Kiedy żaden z procesów gotowych do działania nie ma kredytu, następuje wtórne kredytowanie każdego procesu w systemie (a nie tylko procesów gotowych). Dla procesów czasu rzeczywistego realizowane są dwie klasy planowania: Algorytm FCFS; Algorytm RR (rotacyjny). Każdy proces posiada priorytet planista uruchamia ten o najwyższym priorytecie! Kod jądra nie może być wywłaszczony przez kod trybu użytkownika! Wiesław Płaczek Systemy Operacyjne: Wykład 4 25

26 Planowanie procesów w Windows XP System Windows XP planuje wątki za pomocą priorytetowego algorytmu wywłaszczającego. Planista sprawia, że zawsze wykonywany jest wątek o najwyższym priorytecie. Fragment jądra, który zajmuje się planowaniem nazywa się dyspozytorem. Wątek wybrany przez dyspozytora będzie wykonywany aż do: wywłaszczenia przez wątek o wyższym priorytecie, zakończenia, wyczerpania kwantu czasu lub użycia w nim blokującego wywołania systemowego (np. operacji WE/WY). Priorytety podzielone są na dwie klasy: Klasa zmienna priorytety od 1 do 15; priorytet jest zmniejszany przy przerwaniu czasomierza, a zwiększany po zakończeniu czekania (np. na operację WE/WY). Klasa czasu rzeczywistego priorytety od 16 do 31; Istnieje też wątek z priorytetem 0, służący do zarządzania pamięcią. Z każdym priorytetem związana jest kolejka wątków; jeżeli żaden wątek nie jest gotowy, to wykonywany jest wątek postojowy (idle thread). Win32 API wyróżnia 6 klas priorytetów, a w obrębie każdej z klas określa 7 priorytetów względnych są one odpowiednio powiązane z priorytetami liczbowymi jądra; każda klasa posiada odpowiedni priorytet podstawowy. Ponadto Windows XP rozróżnia proces pierwszoplanowy aktualnie działający na ekranie, któremu zwiększa kwant czasu (typowo 3-krotnie) i procesy drugoplanowe w celu polepszenia wydajności pracy interakcyjnej. Wiesław Płaczek Systemy Operacyjne: Wykład 4 26

27 Planowanie procesów w systemie Solaris Solaris stosuje priorytetowe planowanie procesów cztery klasy planowania: Klasa czasu rzeczywistego; Klasa systemowa; Klasa interakcyjna; Klasa podziału czasu. W każdej klasie są różne priorytety i różne algorytmy planowania. Domyślną klasą planowania procesu jest klasa podziału czasu. W polityce planowania podziału czasu używane są wielopoziomowe kolejki ze sprzężeniem zwrotnym do dynamicznego zmieniania priorytetów oraz przydzielania odcinków czasu o różnych długościach (domyślnie: im wyższy priorytet, tym krótszy odcinek czasu i odwrotnie). Procesy interakcyjne mają z reguły wyższy priorytet, procesy ograniczone przez procesor mają priorytet niższy. Taka polityka planowania daje dobry czas odpowiedzi procesów interakcyjnych i dobrą przepustowość dla procesów ograniczonych przez procesor. Klasa systemowa służy do wykonywania procesów jądra priorytet takiego procesu pozostaje niezmienny przez cały czas wykonywania. Wątki w klasie czasu rzeczywistego otrzymują najwyższy priorytet daje to gwarancję uzyskania odpowiedzi w ograniczonym odstępie czasu (do tej klasy należy na ogół niewiele procesów). Wiesław Płaczek Systemy Operacyjne: Wykład 4 27

28 Synchronizacja procesów Podstawy. Problem sekcji krytycznej. Sprzętowe środki synchronizacji. Semafory. Klasyczne problemy synchronizacji. Regiony krytyczne. Monitory. Wiesław Płaczek Systemy Operacyjne: Wykład 4 28

29 Podstawy Proces współpracujący może wpływać na inne procesy w systemie lub podlegać ich oddziaływaniom, np. przez dzielenie danych. Współbieżny dostęp do danych dzielonych może powodować ich niespójność. Zachowanie spójności danych dzielonych wymaga mechanizmu zapewniającego uporządkowane wykonywanie współpracujących procesów. Typowym modelem dla tego rodzaju zagadnień jest problem producenta i konsumenta z ograniczonym buforem. Wiesław Płaczek Systemy Operacyjne: Wykład 4 29

30 Problem Producent Konsument Dzielone dane: #define ROZM_BUF 10 typedef struct {... } jednostka; jednostka bufor[rozm_buf]; int we = 0, wy = 0, licznik = 0; Proces Producenta: jednostka nastprod; while (1) { while (licznik == ROZM_BUF) ; /* nic nie rób */ bufor[we] = nastprod; we = (we + 1) % ROZM_BUF; licznik++; } Proces Konsumenta: jednostka nastkons; while (1) { while (licznik == 0) ; /* nie nie rób */ nastkons = bufor[wy]; wy = (wy + 1) % ROZM_BUF; licznik--; } Wiesław Płaczek Systemy Operacyjne: Wykład 4 30

31 Implementacja Producenta Konsumenta Procedury Producenta i Konsumenta są poprawne każda z osobna, ale współbieżnie mogą nie działać prawidłowo! Instrukcje licznik++ i licznik-- można zaimplementować: licznik++ licznik-- rejestr1 = licznik; rejestr2 = licznik; rejestr1 = rejestr1 + 1; rejestr2 = rejestr2-1; licznik = rejestr1; licznik = rejestr2; Możliwy jest następujący przeplot powyższych instrukcji: Producent: rejestr1 = licznik; (rejestr1 = 5) Producent: rejestr1 = rejestr1 + 1; (rejestr1 = 6) Konsument: rejestr2 = licznik; (rejestr2 = 5) Konsument: rejestr2 = rejestr2-1; (rejestr2 = 4) Producent: licznik = rejestr1; (licznik = 6) Konsument: licznik = rejestr2; (licznik = 4) Wartość zmiennej licznik może być 4, 5 lub 6 w zależności od kolejności wykonania instrukcji w języku maszynowym! Wiesław Płaczek Systemy Operacyjne: Wykład 4 31

32 Szkodliwa rywalizacja Szkodliwa rywalizacja (race condition) sytuacja, w której kilka procesów współbieżnie sięga po te same dane i wykonuje na nich działania, wskutek czego wynik zależy od porządku, w jakim następował dostęp do danych. Aby ustrzec się przed szkodliwą rywalizacją, współbieżność procesów musi być synchronizowana. W powyższym przykładzie problemu Producenta Konsumenta każda z instrukcji: licznik++; licznik--; musi być niepodzielna (atomowa), tzn. musi zostać wykonana w całości bez przerwania! Wiesław Płaczek Systemy Operacyjne: Wykład 4 32

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

Planowanie przydziału procesora CPU scheduling. Koncepcja szeregowania. Planista przydziału procesora (planista krótkoterminowy) CPU Scheduler Planowanie przydziału procesora CPU scheduling Koncepcja szeregowania Koncepcja szeregowania (Basic Concepts) Kryteria szeregowania (Scheduling Criteria) Algorytmy szeregowania (Scheduling Algorithms)

Bardziej szczegółowo

Planowanie przydziału procesora

Planowanie przydziału procesora Planowanie przydziału procesora W pamięci operacyjnej znajduje się kilka procesów jednocześnie. Kiedy jakiś proces musi czekać, system operacyjny odbiera mu procesor i oddaje do dyspozycji innego procesu.

Bardziej szczegółowo

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

Fazy procesora i wejścia-wyjścia. Planowanie przydziału procesora. Czasy faz procesora. Planowanie przydziału procesora Planowanie przydziału procesora W pamięci operacyjnej znajduje się kilka procesów jednocześnie. Kiedy jakiś proces musi czekać, system operacyjny odbiera mu procesor i oddaje do dyspozycji innego procesu.

Bardziej szczegółowo

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

Przełączanie kontekstu. Planista średnioterminowy. Diagram kolejek. Kolejki planowania procesów. Planiści Kolejki planowania procesów Diagram kolejek Kolejka zadań (job queue) - tworzą ją procesy wchodzące do systemu. Kolejka procesów gotowych (ready queue) - procesy gotowe do działania, umieszczone w pamięci,

Bardziej szczegółowo

Planowanie przydziału procesora

Planowanie przydziału procesora Planowanie przydziału procesora Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Komponenty jądra związane z szeregowaniem Ogólna koncepcja planowania Kryteria oceny uszeregowania Algorytmy

Bardziej szczegółowo

Planowanie przydziału procesora

Planowanie przydziału procesora Dariusz Wawrzyniak Plan wykładu Komponenty jądra związane z szeregowaniem Ogólna koncepcja planowania Kryteria oceny algorytmów planowania Algorytmy planowania (2) 1 Komponenty jądra w planowaniu Planista

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Zbigniew S. Szewczak Podstawy Systemów Operacyjnych

Zbigniew S. Szewczak Podstawy Systemów Operacyjnych Zbigniew S. Szewczak Podstawy Systemów Operacyjnych Wykład 7 Planowanie przydziału procesora. Toruń, 2004 Odrabianie wykładów czwartek, 1.04.2004, S7, g. 12.00 za 19.05 czwartek, 15.04.2004, S7, g. 12.00

Bardziej szczegółowo

Zarządzanie procesami i wątkami

Zarządzanie procesami i wątkami SOE - Systemy Operacyjne Wykład 4 Zarządzanie procesami i wątkami dr inŝ. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW Pojęcie procesu (1) Program zbiór instrukcji dla procesora

Bardziej szczegółowo

Planowanie przydziału procesora

Planowanie przydziału procesora Planowanie przydziału procesora Ogólna koncepcja planowania Tryb decyzji określa moment czasu, w którym oceniane i porównywane są priorytety procesów i dokonywany jest wybór procesu do wykonania. Funkcja

Bardziej szczegółowo

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

Ogólna koncepcja planowania. Planowanie przydziału procesora. Komponenty jądra w planowaniu. Tryb decyzji. Podejmowanie decyzji o wywłaszczeniu Planowanie przydziału procesora Ogólna koncepcja planowania Tryb decyzji określa moment czasu, w którym oceniane i porównywane są priorytety procesów i dokonywany jest wybór procesu do wykonania. Funkcja

Bardziej szczegółowo

Zarządzanie procesorem

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!

Bardziej szczegółowo

Informatyka, systemy, sieci komputerowe

Informatyka, systemy, sieci komputerowe Informatyka, systemy, sieci komputerowe Systemy operacyjne wykład 2 Procesy i wątki issk 1 SO koncepcja procesu i zasobu Proces jest elementarną jednostką pracy zarządzaną przez system operacyjny, wykonującym

Bardziej szczegółowo

Materiały pomocnicze 1

Materiały pomocnicze 1 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

Bardziej szczegółowo

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

2.1 Wstęp Kryteria planowania Algorytmy planowania Systemy wieloprocesorowe i czasu rzeczywistego... Plan prezentacji Spis treści 1 Planowanie przydziału procesora 1 1.1 Wstęp................................................... 1 1.2 Kryteria planowania............................................ 2 1.3

Bardziej szczegółowo

Przykłady implementacji planowania przydziału procesora

Przykłady implementacji planowania przydziału procesora Przykłady implementacji planowania przydziału procesora Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Tradycyjne szeregowanie w systemie UNIX Szeregowanie w systemie Linux z jądrem

Bardziej szczegółowo

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

przydziału procesora Przykłady implementacji planowania przydziału procesora Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Tradycyjne szeregowanie w systemie UNIX Szeregowanie w systemie Linux z jądrem 2.6 Szeregowanie w systemie Windows 2000/XP (2) Szeregowanie

Bardziej szczegółowo

Systemy Operacyjne - zarządzanie procesami

Systemy Operacyjne - zarządzanie procesami Katedra Informatyki, Politechnika Świętokrzyska w Kielcach Kielce, 26 października 2010 1 1 Proces sekwencyjny 2 Cykl życia procesu 3 Deskryptor procesu 4 współbieżne 2 3 1 Motywacja 2 Kolejki 3 Planiści

Bardziej szczegółowo

4. Procesy pojęcia podstawowe

4. Procesy pojęcia podstawowe 4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa

Bardziej szczegółowo

4. Procesy pojęcia podstawowe

4. Procesy pojęcia podstawowe 4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa

Bardziej szczegółowo

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

Fazy procesora i wejścia-wyjścia. Planowanie przydziału procesora. Czasy faz procesora. Planowanie przydziału procesora Planowanie przydziału procesora W pamięci operacyjnej znajduje się kilka procesów jednocześnie. Kiedy jakiś proces musi czekać, system operacyjny odbiera mu procesor i oddaje do dyspozycji innego procesu.

Bardziej szczegółowo

Planowanie przydziału procesora

Planowanie przydziału procesora Planowanie przydziału procesora Komponenty jądra związane z szeregowaniem Ogólna koncepcja planowania Kryteria oceny algorytmów planowania Algorytmy planowania Przykłady implementacji przydziału czasu

Bardziej szczegółowo

Systemy operacyjne III

Systemy operacyjne III Systemy operacyjne III WYKŁAD 2 Jan Kazimirski 1 Procesy w systemie operacyjnym 2 Proces Współczesne SO w większości są systemami wielozadaniowymi. W tym samym czasie SO obsługuje pewną liczbę zadań procesów

Bardziej szczegółowo

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

Programowanie współbieżne Wykład 2. Iwona Kochańska Programowanie współbieżne Wykład 2 Iwona Kochańska Miary skalowalności algorytmu równoległego Przyspieszenie Stały rozmiar danych N T(1) - czas obliczeń dla najlepszego algorytmu sekwencyjnego T(p) - czas

Bardziej szczegółowo

Prezentacja systemu RTLinux

Prezentacja systemu RTLinux Prezentacja systemu RTLinux Podstawowe założenia RTLinux jest system o twardych ograniczeniach czasowych (hard real-time). Inspiracją dla twórców RTLinux a była architektura systemu MERT. W zamierzeniach

Bardziej szczegółowo

Planowanie przydziału procesora

Planowanie przydziału procesora Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Celem wykładu jest przedstawienie zagadnień planowania przydziału procesora, czyli szeregowania procesów w dostępie do procesora. Planowanie takie sprowadza

Bardziej szczegółowo

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

Zarządzanie w systemach i sieciach komputerowych. Dr inż. Robert Wójcik. Wykład 3. Zarządzanie przydziałami procesora w systemach komputerowych Zarządzanie w systemach i sieciach komputerowych Dr inż. Robert Wójcik Wykład 3. Zarządzanie przydziałami procesora w systemach komputerowych 3.1. Planowanie przydziału procesora http://wazniak.mimuw.edu.pl/index.php

Bardziej szczegółowo

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

J. Ułasiewicz Programowanie aplikacji współbieżnych 1 J. Ułasiewicz Programowanie aplikacji współbieżnych 1 7. procesów W środowisku systemu pracuje zwykle więcej procesów gotowych do wykonania niż dostępnych jest procesorów. Stąd istnieje potrzeba decydowania

Bardziej szczegółowo

Materiały pomocnicze 1

Materiały pomocnicze 1 JĄDRO SYSEMU Jądro systemu stanowi główny interfejs między sprzętem (surową maszyną), a systemem operacyjnym. JĄDRO SYSEMU inne elementy systemu jądro systemu surowa maszyna 2 PODSAWOWE UDOGODIEIA SPRZĘOWE

Bardziej szczegółowo

Wprowadzenie do systemów operacyjnych

Wprowadzenie do systemów operacyjnych SOE - Systemy Operacyjne Wykład 1 Wprowadzenie do systemów operacyjnych dr inż. Andrzej Wielgus Instytut Mikroelektroniki i Optoelektroniki WEiTI PW System komputerowy Podstawowe pojęcia System operacyjny

Bardziej szczegółowo

Planowanie przydziału procesora

Planowanie przydziału procesora Dariusz Wawrzyniak Celem wykładu jest przedstawienie zagadnień planowania przydziału procesora, czyli szeregowania procesów w dostępie do procesora. Planowanie takie sprowadza się do wyboru jednego z procesów

Bardziej szczegółowo

KOMPONENTY SYSTEMÓW OPERACYJNYCH

KOMPONENTY SYSTEMÓW OPERACYJNYCH KOMPONENTY SYSTEMÓW OPERACYJNYCH dr hab. inż. Krzysztof Patan, prof. PWSZ Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa w Głogowie k.patan@issi.uz.zgora.pl PRZYDZIAŁ CZASU PROCESORA Cel: Stałe

Bardziej szczegółowo

Pytania do treści wykładów:

Pytania do treści wykładów: Pytania do treści wykładów: Wprowadzenie: 1. Jakie zadania zarządzania realizowane są dla następujących zasobów: a) procesor, b) pamięć, c) plik? 2. W jaki sposób przekazywane jest sterowanie do jądra

Bardziej szczegółowo

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI plan Cechy, właściwości procesów Multitasking Scheduling Fork czym jest proces? Działającą instancją programu Program jest kolekcją

Bardziej szczegółowo

Procesy, wątki i zasoby

Procesy, wątki i zasoby Procesy, wątki i zasoby Koncepcja procesu i zasobu, Obsługa procesów i zasobów, Cykl zmian stanów procesu i kolejkowanie, Klasyfikacja zasobów, Wątki, Procesy i wątki we współczesnych systemach operacyjnych.

Bardziej szczegółowo

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

Celem wykładu jest przedstawienie zagadnień planowania przydziału procesora, czyli szeregowania procesów w dostępie do procesora. Celem wykładu jest przedstawienie zagadnień planowania przydziału procesora, czyli szeregowania procesów w dostępie do procesora. Planowanie takie sprowadza się do wyboru jednego z procesów (lub wątków)

Bardziej szczegółowo

SYSTEMY OPERACYJNE LABORATORIUM 2014/2015

SYSTEMY OPERACYJNE LABORATORIUM 2014/2015 1 SYSTEMY OPERACYJNE LABORATORIUM 2014/2015 ZASADY OCENIANIA ZADAŃ PROGRAMISTYCZNYCH: Zadania laboratoryjne polegają na symulacji i badaniu własności algorytmów/mechanizmów stosowanych w systemach operacyjnych.

Bardziej szczegółowo

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

Program jest więc strukturą statyczną zapisaną na jakimś nośniku. Natomiast proces jest wykonującym się programem. J. Ułasiewicz Programowanie aplikacji współbieżnych 1 1 Podstawowe definicje i pojęcia współbieżności 1.1 Motywacja Przewiduje się że w dalszej perspektywie głównym motorem wzrostu mocy przetwarzania komputerów

Bardziej szczegółowo

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

Zarządzanie w systemach i sieciach komputerowych. Dr inż. Robert Wójcik. Wykład 3. Zarządzanie przydziałami procesora w systemach komputerowych Zarządzanie w systemach i sieciach komputerowych Dr inż. Robert Wójcik Wykład 3. Zarządzanie przydziałami procesora w systemach komputerowych 3.2. Implementacja planowania przydziału procesora http://wazniak.mimuw.edu.pl/index.php

Bardziej szczegółowo

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

Stan procesu. Procesy i zarządzanie procesorem. Koncepcja procesu. Diagram stanów procesu Procesy i zarządzanie procesorem Stan procesu Koncepcja procesu i wątku Szeregowanie procesów (process scheduling) Operacje na procesach Procesy współpracujące Komunikacja między procesami Komunikacja

Bardziej szczegółowo

4. Procesy pojęcia podstawowe

4. Procesy pojęcia podstawowe 4. Procesy pojęcia podstawowe 4.1 Czym jest proces? Proces jest czymś innym niż program. Program jest zapisem algorytmu wraz ze strukturami danych na których algorytm ten operuje. Algorytm zapisany bywa

Bardziej szczegółowo

SYSTEMY OPERACYJNE WYKLAD 6 - wątki

SYSTEMY OPERACYJNE WYKLAD 6 - wątki Wrocław 2007 SYSTEMY OPERACYJNE WYKLAD 6 - wątki Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl www.equus.wroc.pl/studia.html 1 PLAN: 1. Wątki 2. Planowanie przydziału procesora (szeregowanie

Bardziej szczegółowo

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

Szeregowanie zadań w Linux Kernel 2.6. Daniel Górski Przemysław Jakubowski Szeregowanie zadań w Linux Kernel 2.6 Daniel Górski Przemysław Jakubowski Plan prezentacji Szeregowanie procesów - Szeregowanie - Cele szeregowania - Scheduler 2.6 - Struktury danych używane w 2.6 - Multiprocesorowość

Bardziej szczegółowo

1. Szeregowanie w systemach czasu rzeczywistego

1. Szeregowanie w systemach czasu rzeczywistego J. Ułasiewicz Systemy Czasu Rzeczywistego 1 1. Szeregowanie w systemach czasu rzeczywistego 1.1 Definicje Zadanie - proces lub wątek Gotowych do wykonania zadań jest zwykle dużo więcej niż mogących je

Bardziej szczegółowo

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

Przeplot. Synchronizacja procesów. Cel i metody synchronizacji procesów. Wątki współbieżne Synchronizacja procesów Przeplot Przeplot wątków współbieżnych Cel i metody synchronizacji procesów Problem sekcji krytycznej Semafory Blokady 3.1 3.3 Wątki współbieżne Cel i metody synchronizacji procesów

Bardziej szczegółowo

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

Procesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu Proces Procesy i wątki Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz

Bardziej szczegółowo

projektowanie systemu

projektowanie systemu projektowanie systemu cel użytkownika: system operacyjny powinien być wygodny, łatwy w użyciu, prosty do nauczenia, niezawodny, bezpieczny i szybki cel producenta: system operacyjny powinien być łatwy

Bardziej szczegółowo

Proces y i y w i ąt ą ki

Proces y i y w i ąt ą ki Procesy i wątki Proces Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz

Bardziej szczegółowo

Systemy operacyjne. Paweł Pełczyński

Systemy operacyjne. Paweł Pełczyński Systemy operacyjne Paweł Pełczyński ppelczynski@swspiz.pl 1 Program przedmiotu Wprowadzenie Struktura systemów operacyjnych Procesy i Wątki Komunikacja międzyprocesowa Szeregowanie procesów Zarządzanie

Bardziej szczegółowo

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

Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86 Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86 Spis treści Wprowadzenie... 11 1. Architektura procesorów rodziny x86... 17 1.1. Model procesorów

Bardziej szczegółowo

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1 Mariusz Rudnicki mariusz.rudnicki@eti.pg.gda.pl PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1 Przedmiot PSCR Przedmiot PSCR Wykład do połowy semestru Laboratorium od połowy semestru Projekt Zaliczenie

Bardziej szczegółowo

procesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

procesów Współbieżność i synchronizacja procesów Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Abstrakcja programowania współbieżnego Instrukcje atomowe i ich przeplot Istota synchronizacji Kryteria poprawności programów współbieżnych

Bardziej szczegółowo

Podstawy Informatyki Systemy operacyjne

Podstawy Informatyki Systemy operacyjne Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Definicje systemu operacyjnego Zadania systemu operacyjnego Klasyfikacja systemów operacyjnych 2 Zasoby systemu komputerowego

Bardziej szczegółowo

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

Przykłady implementacji planowania przydziału procesora. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Przykłady implementacji planowania przydziału procesora Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Celem wykładu jest przedstawienie podejść do planowania przydziału procesora w najbardziej popularnych

Bardziej szczegółowo

SYSTEMY CZASU RZECZYWISTEGO - VxWorks

SYSTEMY CZASU RZECZYWISTEGO - VxWorks WZAJEMNE WYKLUCZANIE Wiele metod. Np. wyłączanie przerwań: funkcja() //... Int blokada = intlock(); // Obszar krytyczny, któremu nie możemy przerwać intunlock(blokada); wyłączanie wywłaszczania: funkcja()

Bardziej szczegółowo

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy Systemy operacyjne Systemy operacyjne Dr inż. Ignacy Pardyka Literatura Siberschatz A. i inn. Podstawy systemów operacyjnych, WNT, Warszawa Skorupski A. Podstawy budowy i działania komputerów, WKiŁ, Warszawa

Bardziej szczegółowo

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

Współczesne aplikacje sterowania i akwizycji danych są zbiorem komunikujących się wątków lub procesów współbieżnych. J. Ułasiewicz Programowanie aplikacji współbieżnych 1 1 Podstawowe definicje i pojęcia współbieżności Współczesne aplikacje sterowania i akwizycji danych są zbiorem komunikujących się wątków lub procesów

Bardziej szczegółowo

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

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX) W informatyce występują ściśle obok siebie dwa pojęcia: sprzęt (ang. hardware) i oprogramowanie

Bardziej szczegółowo

Procesy, zasoby i wątki

Procesy, zasoby i wątki Procesy, zasoby i wątki Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Koncepcja procesu i zasobu Obsługa procesów i zasobów Cykl zmian stanów procesu i kolejkowanie Klasyfikacja zasobów

Bardziej szczegółowo

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

Mogą pracować w środowisku: Scentralizowanym -mikrokontroler Rozproszonym sieć sterująca, systemy hierarchiczne. Komunikacja z syst. J. Ułasiewicz Programowanie aplikacji współbieżnych 1 1 Podstawowe definicje i pojęcia współbieżności Współczesne aplikacje sterowania i akwizycji danych są zbiorem komunikujących się wątków lub procesów

Bardziej szczegółowo

Procesy, zasoby i wątki

Procesy, zasoby i wątki Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Koncepcja procesu i zasobu Obsługa procesów i zasobów Cykl zmian stanów procesu i kolejkowanie Klasyfikacja zasobów Wątki Procesy i wątki

Bardziej szczegółowo

SYSTEMY OPERACYJNE PROCESORÓW SYGNAŁOWYCH

SYSTEMY OPERACYJNE PROCESORÓW SYGNAŁOWYCH Zastosowania procesorów sygnałowych SYSTEMY OPERACYJNE PROCESORÓW SYGNAŁOWYCH Opracowanie: Grzegorz Szwoch Politechnika Gdańska, Katedra Systemów Multimedialnych Programowanie bez OS Proste programy na

Bardziej szczegółowo

Programowanie współbieżne Wykład 7. Iwona Kochaoska

Programowanie współbieżne Wykład 7. Iwona Kochaoska Programowanie współbieżne Wykład 7 Iwona Kochaoska Poprawnośd programów współbieżnych Właściwości związane z poprawnością programu współbieżnego: Właściwośd żywotności - program współbieżny jest żywotny,

Bardziej szczegółowo

Jadro Linux 2.6. a zadania czasu rzeczywistego. Artur Lewandowski. Jądro Linux 2.6 p.1/14

Jadro Linux 2.6. a zadania czasu rzeczywistego. Artur Lewandowski. Jądro Linux 2.6 p.1/14 Jadro Linux 2.6 a zadania czasu rzeczywistego Artur Lewandowski al167167@students.mimuw.edu.pl Jądro Linux 2.6 p.1/14 1 Wprowadzenie Linux 2.6 wprowadza dużo nowych cech polepszajacych wydajność zadań

Bardziej szczegółowo

Stworzenie klasy nie jest równoznaczne z wykorzystaniem wielowątkowości. Uzyskuje się ją dopiero poprzez inicjalizację wątku.

Stworzenie klasy nie jest równoznaczne z wykorzystaniem wielowątkowości. Uzyskuje się ją dopiero poprzez inicjalizację wątku. Laboratorium 7 Wstęp Jednym z podstawowych własności Javy jest wielowątkowość. Wiąże się to z możliwością współbieżnego wykonywania różnych operacji w ramach pojedynczej wirtualnej maszyny Javy (JVM).

Bardziej szczegółowo

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

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Definicja systemu operacyjnego (1) Miejsce,

Bardziej szczegółowo

Procesy, zasoby i wątki

Procesy, zasoby i wątki Dariusz Wawrzyniak Koncepcja procesu i zasobu Obsługa procesów i zasobów Cykl zmian stanów procesu i kolejkowanie Klasyfikacja zasobów Wątki Procesy i wątki we współczesnych systemach operacyjnych Plan

Bardziej szczegółowo

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

Celem wykładu jest wprowadzenie fundamentalnych pojęć, integralnie związanych z systemem operacyjnym, na których opiera się przetwarzanie we Celem wykładu jest wprowadzenie fundamentalnych pojęć, integralnie związanych z systemem operacyjnym, na których opiera się przetwarzanie we współczesnych systemach komputerowych pojęcia procesu i pojęcia

Bardziej szczegółowo

1 Podstawowe definicje i pojęcia współbieżności

1 Podstawowe definicje i pojęcia współbieżności J. Ułasiewicz Programowanie aplikacji współbieżnych 1 1 Podstawowe definicje i pojęcia współbieżności 1.1 Dlaczego zajmujemy się współbieżnością? W ciągu ostatnich 30 lat wzrost mocy przetwarzania osiągano

Bardziej szczegółowo

Klasyczne problemy współbieżności. Problem producenta i konsumenta Problem czytelników i pisarzy Problem pięciu filozofów

Klasyczne problemy współbieżności. Problem producenta i konsumenta Problem czytelników i pisarzy Problem pięciu filozofów Klasyczne problemy współbieżności Problem producenta i konsumenta Problem czytelników i pisarzy Problem pięciu filozofów Wzajemne wykluczanie Zsynchronizować N procesów, z których każdy w nieskończonej

Bardziej szczegółowo

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

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego (2) Miejsce, rola i zadania systemu operacyjnego

Bardziej szczegółowo

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

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Wprowadzenie Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak Plan wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działania systemu operacyjnego

Bardziej szczegółowo

Mechanizmy pracy równoległej. Jarosław Kuchta

Mechanizmy pracy równoległej. Jarosław Kuchta Mechanizmy pracy równoległej Jarosław Kuchta Zagadnienia Algorytmy wzajemnego wykluczania algorytm Dekkera Mechanizmy niskopoziomowe przerwania mechanizmy ochrony pamięci instrukcje specjalne Mechanizmy

Bardziej szczegółowo

Systemy operacyjne Procesy i wątki

Systemy operacyjne Procesy i wątki Systemy operacyjne Procesy i wątki [2] Proces w systemie operacyjnym Procesem nazywamy wykonujący się program wraz z jego środowiskiem obliczeniowym. Proces stanowi podstawowy obiekt dynamiczny w systemie

Bardziej szczegółowo

Systemy wbudowane. Systemy operacyjne czasu rzeczywistego

Systemy wbudowane. Systemy operacyjne czasu rzeczywistego Systemy wbudowane Systemy operacyjne czasu rzeczywistego Definicje System czasu rzeczywistego to taki, w którym wynik przetwarzania nie zależy tylko i wyłącznie od jego logicznej poprawności, ale również

Bardziej szczegółowo

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1 dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1 Cel wykładu Definicja, miejsce, rola i zadania systemu operacyjnego Klasyfikacja systemów operacyjnych Zasada działanie systemu operacyjnego

Bardziej szczegółowo

projekt akademicki w Institute for Mining and Technology of New Mexico. Autor Victor Yodaiken FSMLabs komercyjna odmiana RTLinuxPro

projekt akademicki w Institute for Mining and Technology of New Mexico. Autor Victor Yodaiken FSMLabs komercyjna odmiana RTLinuxPro projekt akademicki w Institute for Mining and Technology of New Mexico. Autor Victor Yodaiken FSMLabs komercyjna odmiana RTLinuxPro Rygorystyczny (twardy) system operacyjny czasu rzeczywistego. Jego charakterystyczną

Bardziej szczegółowo

SYSTEMY OPERACYJNE WYKLAD 6 - procesy

SYSTEMY OPERACYJNE WYKLAD 6 - procesy Wrocław 2007 SYSTEMY OPERACYJNE WYKLAD 6 - procesy Paweł Skrobanek C-3, pok. 323 e-mail: pawel.skrobanek@pwr.wroc.pl www.equus.wroc.pl/studia.html 1 Zasoby: PROCES wykonujący się program ; instancja programu

Bardziej szczegółowo

Budowa systemów komputerowych

Budowa systemów komputerowych Budowa systemów komputerowych Krzysztof Patan Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski k.patan@issi.uz.zgora.pl Współczesny system komputerowy System komputerowy składa

Bardziej szczegółowo

Systemy Operacyjne. wykład 1. Adam Kolany. Październik, Instytut Techniczny Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu

Systemy Operacyjne. wykład 1. Adam Kolany. Październik, Instytut Techniczny Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu Systemy Operacyjne wykład 1. Adam Kolany Instytut Techniczny Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu dr.a.kolany@wp.pl Październik, 2007 Literatura DrAK (PWSZ) Systemy Operacyjne 11 Październik,

Bardziej szczegółowo

1. Liczby i w zapisie zmiennoprzecinkowym przedstawia się następująco

1. Liczby i w zapisie zmiennoprzecinkowym przedstawia się następująco 1. Liczby 3456.0012 i 0.000076235 w zapisie zmiennoprzecinkowym przedstawia się następująco a) 0.34560012 10 4 i 0.76235 10 4 b) 3.4560012 10 3 i 7.6235 10 5 c) 3.4560012 10 3 i 7.6235 10 5 d) po prostu

Bardziej szczegółowo

Wprowadzenie do programowania współbieżnego

Wprowadzenie do programowania współbieżnego Wprowadzenie do programowania współbieżnego Marcin Engel Instytut Informatyki Uniwersytet Warszawski Zamiast wstępu... Zamiast wstępu... Możliwość wykonywania wielu akcji jednocześnie może ułatwić tworzenie

Bardziej szczegółowo

Podstawowe zagadnienia

Podstawowe zagadnienia SWB - Systemy operacyjne w systemach wbudowanych - wykład 14 asz 1 Podstawowe zagadnienia System operacyjny System czasu rzeczywistego Systemy wbudowane a system operacyjny Przykłady systemów operacyjnych

Bardziej szczegółowo

Struktury systemów operacyjnych

Struktury systemów operacyjnych Struktury systemów operacyjnych Zadania s.o. Usługi s.o. Budowa s.o. Podejście warstwowe Przykładowe konstrukcje Funkcje systemowe Programy systemowe Maszyny wirtualne Tworzenie i uruchamianie s.o. Procesy

Bardziej szczegółowo

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

Procesy i wątki. Blok kontrolny procesu. Proces. Proces - elementy. Stan procesu. Blok kontrolny procesu Proces Procesy i wątki Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz

Bardziej szczegółowo

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

Podstawy informatyki. System operacyjny. dr inż. Adam Klimowicz Podstawy informatyki System operacyjny dr inż. Adam Klimowicz System operacyjny OS (ang. Operating System) Program komputerowy bądź zbiór programów, który zarządza udostępnianiem zasobów komputera aplikacjom.

Bardziej szczegółowo

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

Wieloprogramowanie. Systemy operacyjne / Procesy i wątki str.4/32. Proces w systemie operacyjnym. Tworzenie i kończenie procesów Wieloprogramowanie Systemy Operacyjne Procesy i wątki dr inż. Tomasz Jordan Kruk T.Kruk@ia.pw.edu.pl Instytut utomatyki i Informatyki Stosowanej Politechnika Warszawska One program counter B C D switch

Bardziej szczegółowo

Jądro systemu operacyjnego

Jądro systemu operacyjnego Jądro systemu operacyjnego Jądro (ang. kernel) jest to podstawowa część systemu operacyjnego, która jest odpowiedzialna za wszystkie jego zadania. Zapewnia ono usługi systemowe takie jak: komunikacja między

Bardziej szczegółowo

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

Stan procesu. gotowy - czeka na przydział procesora, zakończony - zakończył działanie. Procesy i wątki Proces Proces jest wykonywanym programem. Wykonanie procesu musi przebiegać w sposób sekwencyjny ( w dowolnej chwili na zamówienie naszego procesu może być wykonany co najwyżej jeden rozkaz

Bardziej szczegółowo

Wykład 4. Synchronizacja procesów (i wątków) cześć I. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

Wykład 4. Synchronizacja procesów (i wątków) cześć I. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Wykład 4 Synchronizacja procesów (i wątków) cześć I Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Potrzeba synchronizacji Procesy wykonują się współbieżnie. Jeżeli w 100% są

Bardziej szczegółowo

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

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami Rok akademicki 2015/2016, Wykład nr 6 2/21 Plan wykładu nr 6 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2015/2016

Bardziej szczegółowo

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności.

Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle. Krzysztof Banaś, Obliczenia wysokiej wydajności. Wydajność systemów a organizacja pamięci, czyli dlaczego jednak nie jest aż tak źle Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Organizacja pamięci Organizacja pamięci współczesnych systemów komputerowych

Bardziej szczegółowo

Zarządzanie procesami (omawiane zagadnienia)

Zarządzanie procesami (omawiane zagadnienia) Zarządzanie procesami (omawiane zagadnienia) Pojęcie procesu Stany procesu Blok kontrolny procesu Tworzenie procesu Sygnały Kończenie wykonania procesu Działanie interpretatora poleceń (shell-a) Koncepcja

Bardziej szczegółowo

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

Wykład 3. Procesy i wątki. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Wykład 3 Procesy i wątki Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB Pojęcie procesu Program = plik wykonywalny na dysku Proces = uruchomiony i wykonywany program w pamięci

Bardziej szczegółowo

Systemy operacyjne III

Systemy operacyjne III Systemy operacyjne III WYKŁAD 3 Jan Kazimirski 1 Współbieżność 2 Współbieżność Wielozadaniowość - zarządzanie wieloma procesami w ramach jednego CPU Wieloprocesorowość - zarządzanie wieloma zadaniami w

Bardziej szczegółowo

Działanie systemu operacyjnego

Działanie systemu operacyjnego Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej I NIC sieci Pamięć operacyjna Przerwania Przerwania

Bardziej szczegółowo

5. Model komunikujących się procesów, komunikaty

5. Model komunikujących się procesów, komunikaty Jędrzej Ułasiewicz str. 1 5. Model komunikujących się procesów, komunikaty Obecnie stosuje się następujące modele przetwarzania: Model procesów i komunikatów Model procesów komunikujących się poprzez pamięć

Bardziej szczegółowo

Przetwarzanie wielowątkowe przetwarzanie współbieżne. Krzysztof Banaś Obliczenia równoległe 1

Przetwarzanie wielowątkowe przetwarzanie współbieżne. Krzysztof Banaś Obliczenia równoległe 1 Przetwarzanie wielowątkowe przetwarzanie współbieżne Krzysztof Banaś Obliczenia równoległe 1 Problemy współbieżności wyścig (race condition) synchronizacja realizowana sprzętowo (np. komputery macierzowe)

Bardziej szczegółowo

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1

Wydajność systemów a organizacja pamięci. Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Wydajność systemów a organizacja pamięci Krzysztof Banaś, Obliczenia wysokiej wydajności. 1 Motywacja - memory wall Krzysztof Banaś, Obliczenia wysokiej wydajności. 2 Organizacja pamięci Organizacja pamięci:

Bardziej szczegółowo

Procesy. W sk³ad procesu wchodzi:

Procesy. W sk³ad procesu wchodzi: 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

Bardziej szczegółowo