Planowanie przydziału procesora
|
|
- Aleksander Jóźwiak
- 8 lat temu
- Przeglądów:
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 Koncepcja szeregowania (Basic Concepts) Kryteria szeregowania (Scheduling Criteria) Algorytmy szeregowania (Scheduling Algorithms)
Bardziej szczegółowoPlanowanie 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ółowoFazy 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ółowoPrzełą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ółowoPlanowanie 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ółowoPlanowanie 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ółowoWykł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ółowoZbigniew 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ółowoZarzą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ółowoPlanowanie 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ółowoOgó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ółowoZarzą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ółowoInformatyka, 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ółowoMateriał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ółowo2.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ółowoPrzykł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ółowoprzydział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ółowoSystemy 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ółowo4. 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ółowo4. 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ółowoFazy 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ółowoPlanowanie 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ółowoSystemy 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ółowoProgramowanie 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ółowoPrezentacja 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ółowoPlanowanie 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ółowoZarzą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ółowoJ. 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ółowoMateriał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ółowoWprowadzenie 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ółowoPlanowanie 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ółowoKOMPONENTY 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ółowoPytania 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ółowoProjektowanie 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ółowoProcesy, 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ółowoCelem 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ółowoSYSTEMY 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ółowoProgram 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ółowoZarzą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ółowoStan 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ółowo4. 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ółowoSYSTEMY 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ółowoSzeregowanie 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ółowo1. 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ółowoPrzeplot. 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ółowoProcesy 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ółowoprojektowanie 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ółowoProces 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ółowoSystemy 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ółowoKsię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ółowoMariusz 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ółowoprocesó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ółowoPodstawy 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ółowoPrzykł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ółowoSYSTEMY 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ółowoSystemy 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ółowoWspół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ółowoSYSTEMY 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ółowoProcesy, 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ółowoMogą 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ółowoProcesy, 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ółowoSYSTEMY 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ółowoProgramowanie 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ółowoJadro 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ółowoStworzenie 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ółowoWprowadzenie. 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ółowoProcesy, 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ółowoCelem 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ółowo1 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ółowoKlasyczne 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ółowoWprowadzenie. 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ółowoSystemy 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ółowoMechanizmy 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ółowoSystemy 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ółowoSystemy 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ółowodr 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ółowoprojekt 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ółowoSYSTEMY 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ółowoBudowa 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ółowoSystemy 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ółowo1. 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ółowoWprowadzenie 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ółowoPodstawowe 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ółowoStruktury 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ółowoProcesy 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ółowoPodstawy 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ółowoWieloprogramowanie. 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ółowoJą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ółowoStan 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ółowoWykł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ółowoStruktura 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ółowoWydajność 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ółowoZarzą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ółowoWykł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ółowoSystemy 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ółowoDział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ółowo5. 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ółowoPrzetwarzanie 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ółowoWydajność 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ółowoProcesy. 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