Zbigniew S. Szewczak Podstawy Systemów Operacyjnych

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

Download "Zbigniew S. Szewczak Podstawy Systemów Operacyjnych"

Transkrypt

1 Zbigniew S. Szewczak Podstawy Systemów Operacyjnych Wykład 7 Planowanie przydziału procesora. Toruń, 2004

2 Odrabianie wykładów czwartek, , S7, g za czwartek, , S7, g za 12.05

3 Planowanie przydziału procesora Podstawowe pojęcia Kryteria planowania Algorytmy planowania Planowanie wieloprocesorowe Planowanie w czasie rzeczywistym Ocena algorytmów

4 Podstawowe pojęcia Idea wieloprogramowania: wiele procesów dzieli (niepodzielny zasób) CPU Celem wieloprogramowania jest maksymalne wykorzystanie jednostki centralnej (CPU) Planowanie przydziału procesora (ang. CPU sheduling) jest kluczową funkcją w każdym systemie operacyjnym operacyjnym albowiem jest realizacją idei wieloprogramowania

5 Fazy procesu CPU-I/O - wykonanie procesu składa się z fazy procesora (ang. CPU burst) i fazy we/wy (ang. I/O burst) Krzywa częstości zatrudnień procesora ma kształt wykładniczy lub hiperwykładniczy Proces ograniczony przez we/wy ma wiele krótkich faz procesora, proces ograniczony przez procesor ma mało długich faz procesora

6 Naprzemienny ciąg faz procesora i we/wy załaduj przechowaj dodaj przechowaj czytaj z pliku czekaj na we/wy faza procesora faza we/wy przechowaj zwiększ indeks pisz do pliku faza procesora czekaj na we/wy załaduj przechowaj dodaj przechowaj czytaj z pliku czekaj na we/wy... faza we/wy faza procesora faza we/wy

7 Histogram czasów faz procesora 160 częstość występowania fazy czas trwania fazy (milisekundach)

8 Planista przydziału procesora Planista (krótkoterminowy) przydziału procesora (ang. CPU scheduler) wybiera jeden proces spośród przebywających w pamięci procesów gotowych do wykonania i przydziela mu procesor Decyzje o przydziale procesora podejmowane są 1. gdy proces przeszedł od stanu aktywności do czekania (np. z powodu we/wy) 2. gdy proces przeszedł od stanu aktywności do gotowości (np. wskutek przerwania) 3. gdy proces przeszedł od stanu czekania do gotowości (np. po zakończeniu we/wy) 4. gdy proces kończy działanie

9 Diagram stanów procesu nowy przyjęcie przerwanie wyjście zakończony gotowy aktywny obsłużenie zadrzenia lub operacja we/wy decyzja planisty czekający oczekiwanie na zdarzenie lub na wykonanie operacji we/wy

10 Planista przydziału procesora (c.d.) Planowanie w sytuacji 1 i 4 nazywamy niewywłaszczeniowym (ang. nonpreemptive) Każde inny algorytm planowania nazywamy wywłaszczeniowym (ang. preemptive) Planowanie bez wywłaszczeń : proces, który otrzyma procesor, zachowuje go tak długo aż nie odda go z powodu przejścia w stan oczekiwania lub zakończenia (nie wymaga zegara) użyta w systemie Windows 3.1 i Apple Macintosh

11 Planista przydziału procesora (c.d.) Planowanie wywłaszczające: drogie i ryzykowne Co się stanie gdy wywłaszczony zostanie proces w trakcie wykonywania funkcji systemowej (np. zmiany danych w blokach opisu kolejki we/wy)? UNIX czeka z przełączeniem kontekstu do zakończenia wywołania systemowego lub do zablokowania procesu na we/wy Nie można wywłaszczać procesu gdy wewnętrzne struktury jądra są niespójne Blokowanie przerwań przy wejściu do ryzykownych fragmentów kodu jądra

12 Ekspedytor Ekspedytor (ang. dispatcher) jest modułem, 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 Opóźnienie ekspedycji (ang. dispatch latency) to czas, który ekspedytor zużywa na wstrzymanie jednego procesu i uaktywnienie innego

13 Kryteria planowania Definicje Wykorzystanie procesora - procesor musi być nieustannie zajęty pracą powinno się mieścić od 40% (słabe obciążenie systemu) do 90% (intensywna eksploatacja) Przepustowość (ang. throughput) - liczba procesów kończących w jednosce czasu: długie procesy 1 na godzinę, krótkie - 10 na sekundę Czas cyklu przetwarzania (ang. turnaround time) czas między nadejściem procesu do systemu a chwilą jego zakończenia: suma czasów czekania na wejście do pamięci, czekania w kolejce procesów gotowych, wykonywania we/wy, wykonania (CPU)

14 Kryteria planowania (c.d.) Czas oczekiwania - suma okresów, w których proces czeka w kolejce procesów gotowych do działania Czas odpowiedzi (ang. response time) - ilość czasu między wysłaniem żądania a pojawieniem się odpowiedzi (bez czasu potrzebnego na wyprowadzenie odpowiedzi np. na ekran). Czas odpowiedzi jest na ogół uzależniony od szybkości działania urządzenia wyjściowego

15 Kryteria optymalizacji Maksymalne wykorzystanie procesora Maksymalna przepustowość Minimalny cykl przetwarzania Minimalny czas oczekiwania Minimalny czas odpowiedzi minimalizowanie wariancji czasu odpowiedzi mało algorytmów minimalizujących wariancję pożądany system z sensownym i przewidywalnym czasem odpowiedzi

16 Planowanie metodą FCFS Pierwszy zgłoszony, pierwszy obsłużony (ang. first-come, first-served - FCFS) Implementuje się łatwo za pomocą kolejek FIFO - blok kontrolny procesu dołączany na koniec kolejki, procesor dostaje PCB z czoła kolejki Przykład: Proces Czas trwania fazy P 1 24 P 2 3 P 3 3 Przypuśćmy, że procesy nadejdą w porządku: P 1, P 2, P 3

17 Planowanie metodą FCFS (c.d.) Diagram Gantta dla FCFS P 1 P 2 P Czas oczekiwania dla P 1 = 0; P 2 = 24; P 3 = 27 Średni czas oczekiwania: ( )/3 = 17 milisekund

18 Planowanie metodą FCFS (c.d.) Przypuśćmy, że procesy nadejdą w porządku P 2, P 3, P 1 Diagram Gantta P 2 P 3 P Czas oczekiwania dla P 1 = 6; P 2 = 0 ; P 3 = 3 Średni czas oczekiwania ( )/3 = 3 Średni czas oczekiwania znacznie lepszy Dlaczego?

19 Planowanie metodą FCFS (c.d.) Założmy, ze mamy jeden proces P ograniczony przez procesor i wiele procesów ograniczonych przez we/wy (Q,R,..) proces P uzyskuje procesor i procesy Q,.. kończą we/wy urządzenia we/wy są bezczynne proces P kończy swoją fazę procesora, procesy Q,... zadziałają szybko (mają krotkie fazy procesora bo są ograniczone przez we/wy) proces P uzyskuje procesor, procesy Q,.. kończą we/wy... Efekt konwoju (ang. convoy effect) - procesy czekają aż wielki proces odda procesor

20 Planowanie metodą FCFS (c.d.) Algorytm FCFS jest niewywłaszczający Proces utrzymuje procesor do czasu aż zwolni go wskutek zakończenia lub zamówi operację we/wy Algorytm FCFS jest kłopotliwy w systemach z podziałem czasu bowiem w takich systemach ważne jest uzyskiwanie procesora w regularnych odstępach czasu

21 Planowanie metodą SJF Algorytm napierw najkrótsze zadanie (ang. shortestjob-first - SJF) wiąże z każdym procesem długość jego najbliższej z przyszłych faz procesora. Gdy procesor staje się dostępny wówczas zostaje przydzielony procesowi o najkrótszej następnej fazie (gdy fazy są równe to mamy FCFS) Algorytm może być wywłaszczający - SJF usunie proces jeśli nowy proces w kolejce procesów gotowych ma krótszą następną fazę procesora od czasu do zakończenia procesu; metoda najpierw najkrótszy pozostały czas (ang. shortest-remaining-time-first - SRTF) niewywłaszczający - pozwól procesowi zakończyć

22 SJF niewywłaszczający Proces Czas trwania fazy P 1 6 P 2 8 P 3 7 P 4 3 SJF (niewywłaszczający) P 4 P 1 P 3 P Średni czas oczekiwania: ( )/4 = 7

23 SJF wywłaszczający Proces Czas przybycia Czas trwania fazy P P P P SRTF P 1 P 2 P 4 P 1 P Średni czas oczekiwania: ((10-1) + (1-1) + (17-2) + (5-3))/4 = 26/4=6.5

24 Następna faza procesora SJF jest optymalny: daje minimalny średni czas oczekiwania Nie ma sposobu na poznanie długości następnej fazy, możemy ją jedynie oszacować Można tego dokonać wyliczając średnią wykładniczą poprzednich faz procesora t(n) = długość n-tej fazy procesora s(n+1) = przewidywana długość nast. fazy a - liczba z przedziału [0,1], zwykle 0.5 Definiujemy s(n+1) = a*t(n) + (1-a)*s(n)

25 Następna faza procesora (c.d.) a=0 s(n+1) = s(n) niedawna historia nie ma wpływu a=1 s(n+1) = t(n) jedynie najnowsze notowanie długości fazy ma wpływ Jeśli rozwiniemy wzór to s(n+1) = a*t(n) + (1-a)*a*t(n-1) +... (1-a)^j*a*t(n-j) (1-a)^(n+1)*s(0) Ponieważ a i (1-a) są mniejsze od 1 to każdy następny składnik ma mniejszą wagę

26 Przykład dla s(0)=10; a=1/2 12 s(i) 10 8 t(i) faza procesora t(n) wartość odgadnięta s(n)

27 Planowanie priorytetowe SJF jest przykładem planowania priorytetowego (ang. priority scheduling) w którym każdemu procesowi przypisuje się priorytet (liczbę) Priorytety należą do pewnego skończonego podzbioru liczb naturalnych np. [0..7], [0,4095] nice {+ - n} polecenie Procesor przydziela się procesowi o najwyższym priorytecie (jeśli równe - FCFS) wywłaszczające niewywłaszczające SJF - priorytet jest odwrotnością następnej fazy

28 Przykład: 0 - najwyższy priorytet Proces Czas trwania fazy Priorytet P P P P P P 2 P 5 P 1 P 3 P średni czas oczekiwania: ( )/5 = 41/5 = 8.2

29 Planowanie priorytetowe Problem: nieskończone zablokowanie (ang. indefinite blocking) lub głodzenie (ang. starvation) - procesy o małym priorytecie mogą nigdy nie dostać czasu procesora W 1973 r. w wycofywanym w MIT z eksploatacji IBM 7094 wykryto zagłodzony niskopriorytetetowy proces przedłożony do wykonania w 1967 r. Rozwiązanie: postarzanie (ang. aging) polegające na podwyższeniu priorytetu procesów oczekujących już zbyt długo

30 Planowanie rotacyjne Planowanie rotacyjne (ang. round-robin - RR, time-slicing) zaprojektowano dla systemów z podziałem czasu Każdy proces otrzymuje małą jednostkę czasu, nazywaną kwantem czasu (ang. time quantum, time slice) zwykle od 10 do 100 milisekund. Gdy ten czas minie proces jest wywłaszczany i umieszczany na końcu kolejki zadań gotowych (FCFS z wywłaszeniami)

31 Planowanie rotacyjne (c.d.) Jeśli jest n procesów w kolejce procesów gotowych a kwant czasu wynosi q to każdy proces otrzymuje 1/n czasu procesora porcjami wielkości co najwyżej q jednostek czasu. Każdy proces czeka nie dłużej niż (n-1)*q jednostek czasu Wydajność algorytmu gdy q duże to RR przechodzi w FCFS gdy q małe to mamy dzielenie procesora (ang. processor sharing) ale wtedy q musi być duże w stosunku do przełączania kontekstu (inaczej mamy spowolnienie)

32 Mniejszy kwant czasu zwiększa przełączanie kontekstu czas procesu = 10 kwant przełą czenia kontekstu

33 Czas cyklu przetwarzania zależy od kwantu czasu 12.5 proces czas średni czas cyklu przetwarzania P 1 P 2 P 3 P kwant czasu

34 RR - średni czas cyklu przetwarzania z kwantem = 6 Proces Czas trwania fazy P 6 1 P 3 2 P 1 3 P 7 4 Diagram Gantta P 1 P 2 P 3 P 4 P Średni czas cyklu przetwarzania ( )/4=42/4=10,5

35 RR - średni czas cyklu przetwarzania z kwantem = 5 Proces Czas trwania fazy P 6 1 P 3 2 P 1 3 P 7 4 Diagram Gantta P 1 P 2 P 3 P 4 P 1 P Średni czas cyklu przetwarzania ( )/4=49/4=12,25

36 Wielopoziomowe planowanie kolejek Wielopoziomowe planowanie kolejek (ang. mulitilevel queue scheduling ) polega na tym, że kolejka procesów gotowych zostaje podzielona na oddzielne (pod)kolejki procesy pierwszoplanowe (ang. foreground) - interakcyjne procesy drugoplanowe (ang. background) - wsadowe Każda z kolejek ma swój własny algorytm szeregujący pierwszoplanowa - RR drugoplanowa - FCFS

37 Wielopoziomowe planowanie kolejek (c.d.) Między kolejkami także należy dokonać wyboru algorytmu planowania planowanie priorytetowe tzn. obsłuż najpierw wszystkie procesy pierwszoplanowe potem drugoplanowe - możliwość zagłodzenia procesu drugoplanowego porcjowanie czasu (ang. time slice) - każda kolejka otrzymuje pewną porcję czasu procesora, który przydzielany jest każdej z kolejek np. 80% kolejka pierwszoplanowa z algorytmem RR 20% kolejka drugoplanowa z algorytmem FCFS

38 Wielopoziomowe planowanie kolejek (c.d.) najwyższy priorytet procesy systemowe procesy interakcyjne procesy redagowania interakcyjnego procesy wsadowe najniższy priorytet procesy studenckie

39 Kolejki wielopoziomowe ze sprzężeniem zwrotnym Kolejki wielopoziomowe z sprzężeniem zwrotnym (ang. multilevel feedback queue scheduling) umożliwiają przesuwanie procesów między kolejkami Proces, który zużywa za dużo procesora można zdymisjonować poprzez przesunięcie go do kolejki o niższym priorytecie i dzięki temu zapobiec zagłodzeniu innych procesów Postępowanie takie prowadzi do pozostawienia procesów ograniczonych przez we/wy oraz interakcyjnych w kolejkach o wyższych priorytetach

40 Kolejeki wielopoziomowe ze sprzężeniem zwrotnym (c.d.) kwant=8 kwant=16 FCFS

41 Kolejeki wielopoziomowe ze sprzężeniem zwrotnym (c.d.) Trzy koleki: Q 0 kwant czasu 8 milisekund Q 1 kwant czasu 16 milisekund Q 2 FCFS Planowanie nowe zadanie wchodzi do kolejki Q 0 obsługiwanej przez FCFS. Zadanie dostaje 8 milisekund i jeśli się nie zmieści w tym czasie zostaje przeniesione na koniec kolejki Q 1 W kolejce Q 1 zadanie jest znów obsługiwane przez algorytm FCFS i dostaje dodatkowe 16 milisekund. Jeśli ponownie nie zmieści się w tym czasie zostaje wywłaszone do kolejki Q 2

42 Kolejki wielopoziomowe ze sprzężeniem zwrotnym (c.d.) Algorytm ten daje najwyższy priorytet procesom o fazie nie większej niż 8ms, procesy o fazie między 8ms i 24ms są także szybko obsługiwane; długie procesy wchodzą do kolejki 2 i są obsługiwane (FCFS) w cyklach pracy procesora nie wykorzystanych przez procesy z kolejek 0 i 1 Planowanie ze sprzężeniem zwrotnym jest najogólniejszym i najbardziej złożonym algorytmem planowania przydziału procesora

43 Kolejeki wielopoziomowe ze sprzężeniem zwrotnym (c.d.) 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 metody użytej do decydowania o awansowaniu (ang. upgrade) procesu do kolejki o wyższym priorytecie metody użytej do decydowania o zdymisjonowaniu (ang. demote) procesu do kolejki o niższym priorytecie metody wyznaczenia kolejki, do której trafia proces potrzebujący obsługi

44 Planowanie wieloprocesorowe Planowanie wieloprocesorowe (ang. multipleprocessor scheduling) komplikuje się wraz ze wzrostem liczby procesorów i ich architektury Wypróbowano wiele metod planowania i nie znaleziono najlepszej Procesory mogą być homogeniczne (identyczne) lub heterogeniczne (różne) Planowanie wieloprocesorowe heterogeniczne - na danym procesorze można wykonać programy, które zostały przetłumaczone na odpowiadający mu zbiór rozkazów; sieciowe systemy operacyjne

45 Planowanie wieloprocesorowe (c.d.) Planowanie wieloprocesorowe homogeniczne dzielenie obciążeń (ang. load sharing) - wspólna kolejka dla wszystkich procesorów każdy procesor sam planuje swoje działanie, oba operują na tej samej kolejce procesów gotowych (ryzykowne - wymaga bardzo starannego zaprogramowania) - wieloprzetwarzanie symetryczne jeden procesor jest nadrzędny (ang. master), inne podporządkowane (ang. slave) - wieloprzetwarzanie asymetryczne (ang. asymmetric multiprocessing)

46 Planowanie w czasie rzeczywistym Rygorystyczne systemy czasu rzeczywistego - wymóg zakończenia zadania krytycznego w gwarantowanym czasie rezerwacja zasobów (ang. resource reservation) gwarantujących wykonanie zadania planista odrzuca zadanie jeśli nie może ich zarezerwować Łagodne systemy czasu rzeczywistego - procesy o decydującym znaczeniu mają priorytet nad słabiej sytuowanymi priorytety procesów czasu rzeczywistego nie mogą maleć z upływem czasu można np. zakazać dymisjonowania procesów czasu rzeczywistego

47 Planowanie w czasie rzeczywistym (c.d.) opóźnienie ekspediowania procesów do procesora musi być małe aby proces czasu rzeczywistego nie musiał czekać (Solaris: 100ms (z wywłaszczeniami 2ms)) musimy zezwolić na wywłaszczanie funkcji systemowych poprzez wstawienie w długotrwałych funkcjach systemowych punktów wywłaszczeń (ang. preemption points) wywłaszczanie całego jądra, struktury danych jądra muszą być chronione za pomocą mechanizmów synchronizacji (Solaris2) wysokopriorytetowe procesy nie mogą czekać na zakończenie niskopriorytetowych; sytuacja gdy proces wysokopriorytetowy czeka na zakończenie procesu o niższym priorytetcie nosi nazwę odwrócenia priorytetów (ang. priority inversion) protokół dziedziczenia priorytetów(ang. priority- inheritance) -w czasie użycia zasobów proces dziedziczy wysoki priorytetu

48 Opóźnienie ekspedycji zdarzenie czas do nadejścia odpowiedzi odpowiedź na zdarzenie przetwarzanie przerwania proces osiąga gotowość do działania opóźnienie ekspedycji konflikty ekspedycja wykonanie procesu w czasie rzeczywistym czas

49 Ocena algorytmów Modelowanie deterministyczne - przyjmuje się konkretne, z góry określone obciążenie robocze systemu i definiuje zachowanie algorytmu w warunkach tego obciążenia. Jest to odmiana oceny analitycznej (ang. analytic evaluation) dla danego zbioru procesów mających zadane uporządkowanie i wyrażone w milisekundach fazy procesora rozważamy algorytmy planowania (FCFS, SJF, RR (o zadanym kwancie czasu), itp.) Pytanie: który algorytm minimalizuje czas oczekiwania?

50 Ocena algorytmów (c.d) Modelowanie deterministyczne jest proste i szybkie, daje konkretne liczby pozwalające dokonać wyboru algorytmu planowania Modelowanie deterministyczne wymaga jednak specyficznych sytuacji i dokładnej wiedzy dlatego nie zasługuje na miano ogólnie użytecznego

51 Zadanie - przykład Proces Czas trwania fazy P 1 f 1 P 2 f 2 P 3 f 3 P 4 f 4 P 5 f 5 Zakładając, że wszystkie procesy przybyły w chwili 0, porównać algorytmy FCFS, SJF i RR (kwant = q ) metodą deterministyczną

52 Ocena algorytmów (c.d.) Modele obsługi kolejek - analiza obsługi kolejek w sieciach(ang. queueing-network analysis) Wzór Little a: n = l*w - liczba procesów opuszczających kolejkę musi się równać liczbie procesów przychodzących n - średnia długość kolejki W - średni czas oczekiwania w kolejce l - ilość nowych procesów na sekundę Symulacja sterowana rozkładami ma ograniczoną dokładność taśma śladów zdarzeń rzeczywistego systemu może poprawić dokładność Implementacja - kosztowna ale dokładna ocena

53 Ocena planistów przydziału procesora - symulacja... CPU 10 we/wy 213 symulacja FCFS statystyka działania metodą FCFS faktyczne dane o wykonaniu procesu CPU 12 we/wy 112 CPU 2 symulacja SJF statystyka działania metodą SFJ we/wy 147 CPU taśma za śladem symulacja RR (Q=14) statystyka działania metodą RR (Q=14)

54 Przykład: Solaris 2 4 klasy: real time, system, time sharing, interactive Priorytet globalny i priorytety w obrębie klas Proces potomny dziedziczy klasę i priorytet Klasa domyślna time sharing wielopoziomowe kolejki ze sprzężeniem zwrotnym większy priorytet <-> mniejszy kwant czasu Klasa interactive:większy priorytet dla aplikacji X-ów Klasa system - procesy jądra proces działa, aż zostanie zablokowany lub wywłaszczony Wątki o tym samym priorytecie - planowanie RR

55 Przykłady poleceń w Solaris 2 vmstat licznik [przedział] licznik - liczba raportów przedział - przerwa między raportami (w sek.) vmstat 5 4 r - ilość działających procesów czekających na CPU cs - ilość przełączeń kontekstu us - procent cykli CPU w trybie użytkownika sy - procent cykli CPU w trybie jądra id - procent niewykorzystanych cykli CPU

56 Przykłady poleceń w Solaris 2 (c.d.) dispadmin -l dispadmin -g -c TS ts_quantum - kwant czasu ts_tqexp - nowy priorytet po wykorzystaniu czasu ts_slpret - nowy priorytet po wyjściu z uśpienia ts_maxwait - maksymalny czas pozostawania gotowym ts_lwait - nowy priorytet po przekroczeniu ts_maxwait priocntl -d -i all

57 Przykład: Windows 2000 Planowanie priorytetowe z wywłaszczeniami Wątek jest wykonywany aż zostanie wywłaszczony przez proces o wyższym priorytecie, zakończy, zużyje kwant czasu, wykona blokujące wywołanie systemowe (np. we/wy) 32 priorytety(kolejki procesów), 6 klas priorytetów, 7 relatywnych priorytetów w obrębie klas (API) NORMAL - priorytet domyślny w klasie Proces wybrany na ekranie ma zwiększany trzy razy kwant czasu

58 Podsumowanie (1) Planowanie przydziału procesora polega na podjęciu decyzji co do wyboru procesu z kolejki procesów gotowych Przydziału procesora do wybranego procesu dokonuje ekspedytor Najprostszy algorytm to pierwszy lepszy FCFS Optymalny algorytm (tj. dający najkrótszy średni czas oczekiwania) to najkrótszy najlepszy SJF

59 Podsumowanie (2) W systemach z podziałem czasu najodpowiedniejsze jest planowanie rotacyjne, które każdemu z procesów w kolejce procesów gotowych przydziela jednakowy kwant czasu problem: wybór kwantu czasu kwant za duży mamy FCFS kwant za mały wtedy zbyt częste przełączanie kontekstu Algorytm RR jest wywłaszczający, FCFS nie jest, SJF może być taki i taki

60 Podsumowanie (3) Algorytmy wielopoziomowego planowania kolejek pozwalają na używanie różnych algorytmów dla różnych klas kolejek pierwszoplanowa kolejka procesów interakcyjnych (RR) drugoplanowa kolejka wsadowa (FCFS) przemieszczanie procesów w kolejkach ze sprzężniem Metody pomagające wybierać właściwe algorytmy planowania kolejek analityczne do określania wydajności algorytmu symulacyjne pozwalające określić zachowanie procesu na reprezentatywnych próbkach procesów implementacja (kosztowna)

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 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 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

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

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 Pojęcia podstawowe. Kryteria planowania. Algorytmy planowania. Planowanie wieloprocesorowe. Planowanie w czasie rzeczywistym. Ocena algorytmów. Wiesław Płaczek Systemy Operacyjne:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 - wykład 9. Systemy czasu rzeczywistego Notes. Systemy czasu rzeczywistego Notes. Systemy czasu rzeczywistego Notes.

Systemy wbudowane - wykład 9. Systemy czasu rzeczywistego Notes. Systemy czasu rzeczywistego Notes. Systemy czasu rzeczywistego Notes. Systemy wbudowane - wykład 9 Przemek Błaśkiewicz 26 maja 2017 1 / 93 Systemy czasu rzeczywistego sterowanie silnikiem rakietowym; 2 / 93 Systemy czasu rzeczywistego sterowanie silnikiem rakietowym; system

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

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

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, 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

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

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

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

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

Systemy operacyjne, architektura komputerów

Systemy operacyjne, architektura komputerów Systemy operacyjne, architektura komputerów 1. Struktura komputera: procesor, we/wy, magistrala, pamiec. Działanie komputera. Linie magistrali systemowej. Linia danych do przenoszenia danych np. szyna

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

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

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

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

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

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

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

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

System wejścia-wyjścia

System wejścia-wyjścia System wejścia-wyjścia System wejścia-wyjścia Trzy rodzaje urządzeń wejścia-wyjścia: Urządzenia pamięci (dyski, taśmy) Urządzenia przesyłania danych (karty sieciowe, modemy) Urządzenia komunikacji z człowiekiem

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

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

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

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

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

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

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.3

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.3 Mariusz Rudnicki mariusz.rudnicki@eti.pg.gda.pl PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.3 Szeregowanie Omawiane zagadnienia Czym jest szeregowanie? W jakim celu stosuje się mechanizmy szeregowania?

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

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

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

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

1. Działania na procesach

1. Działania na procesach 1. Działania na procesach (1.1) Tworzenie procesu Pamiętamy, że proces "twórca" nazywany jest procesem macierzystym, zaś nowo utworzony proces to proces potomny. Każdy nowo utworzony proces może tworzyć

Bardziej szczegółowo

System operacyjny MACH

System operacyjny MACH Emulacja w systemie MCH System operacyjny MCH 4. SD Systemu V HP/UX MS-DOS VMS inne Mikrojądro Zbigniew Suski Zbigniew Suski Podstawowe cele projektu MCH! Dostarczenie podstawy do budowy innych systemów

Bardziej szczegółowo

Porządek dostępu do zasobu: procesory obszary pamięci cykle procesora pliki urządzenia we/wy

Porządek dostępu do zasobu: procesory obszary pamięci cykle procesora pliki urządzenia we/wy ZAKLESZCZENIA w SO brak środków zapobiegania zakleszczeniom Zamówienia na zasoby => przydział dowolnego egzemplarza danego typu Zasoby w systemie typy; identyczne egzemplarze procesory obszary pamięci

Bardziej szczegółowo

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

Mariusz Rudnicki PROGRAMOWANIE WSPÓŁBIEŻNE I SYSTEMY CZASU RZECZYWISTEGO CZ.3 Mariusz Rudnicki mariusz.rudnicki@eti.pg.edu.pl PROGRAMOWANIE WSPÓŁBIEŻNE I SYSTEMY CZASU RZECZYWISTEGO CZ.3 Szeregowanie Omawiane zagadnienia Czym jest szeregowanie? W jakim celu stosuje się mechanizmy

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

Technika mikroprocesorowa. Systemy operacyjne czasu rzeczywistego

Technika mikroprocesorowa. Systemy operacyjne czasu rzeczywistego System operacyjny czasu rzeczywistego (RTOS Real Time Operating System) jest programem bazowym ułatwiającym tworzenie programu użytkowego systemu mikroprocesorowego. System operacyjny czasu rzeczywistego

Bardziej szczegółowo

Analiza ilościowa w przetwarzaniu równoległym

Analiza ilościowa w przetwarzaniu równoległym Komputery i Systemy Równoległe Jędrzej Ułasiewicz 1 Analiza ilościowa w przetwarzaniu równoległym 10. Analiza ilościowa w przetwarzaniu równoległym...2 10.1 Kryteria efektywności przetwarzania równoległego...2

Bardziej szczegółowo

Zbigniew S. Szewczak Systemy Operacyjne. Wykład 3 Planowanie procesora. Zarządzanie pamięcią.

Zbigniew S. Szewczak Systemy Operacyjne. Wykład 3 Planowanie procesora. Zarządzanie pamięcią. Zbigniew S. Szewczak Systemy Operacyjne Wykład 3 Planowanie procesora. Zarządzanie pamięcią. Toruń, 2005 Propozycje terminu egzaminu piątek, 17.02.2006, g.12.00-14.00 niedziela, 19.02.2006, g.14.00-16.00

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

Przerwania, polling, timery - wykład 9

Przerwania, polling, timery - wykład 9 SWB - Przerwania, polling, timery - wykład 9 asz 1 Przerwania, polling, timery - wykład 9 Adam Szmigielski aszmigie@pjwstk.edu.pl SWB - Przerwania, polling, timery - wykład 9 asz 2 Metody obsługi zdarzeń

Bardziej szczegółowo

PROGRAMOWANIE SYSTEMÓW WBUDOWANYCH

PROGRAMOWANIE SYSTEMÓW WBUDOWANYCH PROGRAMOWANIE SYSTEMÓW WBUDOWANYCH SCHEDULING Mariusz Rudnicki mariusz.rudnicki@eti.pg.edu.pl Programowanie Systemów Wbudowanych 1/40 SZEREGOWANIE ZAGADNIENIA Czym jest szeregowanie? W jakim celu stosuje

Bardziej szczegółowo

Wprowadzenie do systemów operacyjnych. mgr inż. Krzysztof Szałajko

Wprowadzenie do systemów operacyjnych. mgr inż. Krzysztof Szałajko Wprowadzenie do systemów operacyjnych mgr inż. Krzysztof Szałajko Co to jest system operacyjny? Co to jest system komputerowy? 2 / 37 Definicja: system operacyjny System operacyjny jest programem pośredniczącym

Bardziej szczegółowo

Systemy Czasu Rzeczywistego (SCR)

Systemy Czasu Rzeczywistego (SCR) Systemy Czasu Rzeczywistego (SCR) Wykład 13: Elementy systemów operacyjnych czasu rzeczywistego (2/2) SKiTI2017 WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA Kierunek: Automatyka

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

Komunikacja za pomocą potoków. Tomasz Borzyszkowski

Komunikacja za pomocą potoków. Tomasz Borzyszkowski Komunikacja za pomocą potoków Tomasz Borzyszkowski Wstęp Sygnały, omówione wcześniej, są użyteczne w sytuacjach błędnych lub innych wyjątkowych stanach programu, jednak nie nadają się do przekazywania

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

PRZYDZIAŁ PAMIĘCI OPERACYJNEJ

PRZYDZIAŁ PAMIĘCI OPERACYJNEJ PRZYDZIAŁ PAMIĘCI OPERACYJNEJ dr inż. Krzysztof Patan Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski k.patan@issi.uz.zgora.pl Wstęp Pamięć komputera wielka tablica słów (bajtów)

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

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

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

Logiczny model komputera i działanie procesora. Część 1.

Logiczny model komputera i działanie procesora. Część 1. Logiczny model komputera i działanie procesora. Część 1. Klasyczny komputer o architekturze podanej przez von Neumana składa się z trzech podstawowych bloków: procesora pamięci operacyjnej urządzeń wejścia/wyjścia.

Bardziej szczegółowo

Mikroprocesor Operacje wejścia / wyjścia

Mikroprocesor Operacje wejścia / wyjścia Definicja Mikroprocesor Operacje wejścia / wyjścia Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz Operacjami wejścia/wyjścia nazywamy całokształt działań potrzebnych

Bardziej szczegółowo

Rachunek prawdopodobieństwa dla informatyków

Rachunek prawdopodobieństwa dla informatyków Rachunek prawdopodobieństwa dla informatyków Adam Roman Instytut Informatyki UJ Wykład 7 teoria kolejek prawo Little a systemy jedno- i wielokolejkowe 1/75 System kolejkowy System kolejkowy to układ złożony

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

Architektura potokowa RISC

Architektura potokowa RISC Architektura potokowa RISC Podział zadania na odrębne części i niezależny sprzęt szeregowe Brak nawrotów" podczas pracy potokowe Przetwarzanie szeregowe i potokowe Podział instrukcji na fazy wykonania

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

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

Zarządzanie wieloserwerowym środowiskiem SAS z wykorzystaniem SAS Grid Managera. Katarzyna Wyszomierska

Zarządzanie wieloserwerowym środowiskiem SAS z wykorzystaniem SAS Grid Managera. Katarzyna Wyszomierska Zarządzanie wieloserwerowym środowiskiem SAS z wykorzystaniem SAS Grid Managera Katarzyna Wyszomierska Wyzwania administratora Nowe oprogra mowanie Sprzęt Użytkownicy Dane Wyzwania administratora Potrzebne

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