Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.3

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

Download "Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.3"

Transkrypt

1 Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.3

2 Szeregowanie Omawiane zagadnienia Czym jest szeregowanie? W jakim celu stosuje się mechanizmy szeregowania? Algorytmy szeregowania w RT OS: QNX Neutrino, RT Linux, Windows CE. Szeregowanie zadań okresowych i aperiodycznych. Niebezpieczeństwa związane z szeregowaniem. 2/38

3 Szeregowanie Algorytm szeregowania (ang. scheduler - planista) to algorytm rozwiązujący jedno z najważniejszych zagadnień programowania systemów czasu rzeczywistego, a mianowicie w jaki sposób rozdzielić czas procesora i dostęp do innych zasobów tj. pamięć, zasoby sprzętowe, pomiędzy zadania, które w praktyce zwykle o te zasoby konkurują, aby dostęp do tych zasobów był sprawiedliwy i zapewniał terminowe wykonanie zadań krytycznych. 3/38

4 Szeregowanie Implementacje algorytmu szeregowania mogą być różne: zazwyczaj moduł planisty umieszczony jest w jądrze systemu QNX Neutrino; może jednak być jednym ze zwykłych zadań, które dostarcza usług dla jądra. W niektórych systemach mogą istnieć różne algorytmy szeregowania dla zadań RT i non-rt. Algorytm szeregowania musi rozpatrywać wiele czynników: stan zadania (gotowość do wykonania); priorytet zadania; przeciwdziałać zagłodzeniu procesu. 4/38

5 Szeregowanie Szeregowanie a wywłaszczanie Wymuszone oddawania kontroli wielozadaniowość z wywłaszczaniem. Dobrowolne oddawanie kontroli wielozadaniowość oparta na współpracy (rzadziej stosowana źle zaprojektowany proces może zdestabilizować system). 5/38

6 Szeregowanie stany wątków Wątki posiadają dwa podstawowe stany: zablokowany: oczekuje na zdarzenie; istnieje wiele stanów blokowania w zależności od tego na co proces oczekuje np.: blokada REPLY proces oczekuje na odpowiedź IPC; blokada MUTEX proces oczekuje na mutex; blokada RECEIVE proces oczekuje na komunikat, gotowy: zdolny do użycia CPU; dwa podstawowe stany gotowości: RUNNING proces aktualnie używa CPU; READY proces oczekuje podczas gdy inny proces jest uruchomiony. 6/38

7 Szeregowanie stany wątków Pozostałe stany wątków: DEAD wątek jest martwy, nie może być przywrócony do pracy, nigdy nie opuści tego stanu; STOPPED zatrzymany przez sygnał stop, nie będzie kontynuowany dopóki nie dostanie sygnału wznowienia. 7/38

8 Szeregowanie priorytety Wszystkie wątki posiadają priorytety: priorytety są w zakresie od 0 (niski) do 255 (wysoki); mechanizm priorytetów tylko dla wątków w stanie gotowy; jądro zawsze wybiera wątek o najwyższym priorytecie i będący w stanie READY (pełne wywłaszczanie): stan wątku zmienia się na RUNNING, zablokowane wątki nawet nie są rozważane; większość wątków spędza najwięcej swojego czasu w stanie zablokowanym. 8/38

9 Szeregowanie priorytety References: 9/38

10 Szeregowanie algorytmy Algorytm karuzelowy ang. Round Robin: Każdemu procesowi przyporządkowana jest szczelina czasowa ang. timeslice równa 4 x clock period. Clock period zależy od zegara CPU: 40 MHz > f CPU cp = 10 ms; 40 MHz f CPU cp = 1 ms. Wątek: po wykorzystaniu swojego kwantu czasu zostaje wydziedziczony; dobrowolnie oddaje zasoby procesora przed upływem interwału czasu; zostaje wydziedziczony przez proces o wyższym priorytecie. References: 10/38

11 Szeregowanie algorytmy Algorytm sporadyczny ang. Sporadic scheduling: C initial budgetl; L Low priority; N Normal priority; T Replenishment period; R stan zablokowania; Max. liczba możliwych przeszeregowań wpływa na narzuty szeregowania sporadycznego; References: 11/38

12 Szeregowanie algorytmy Algorytm sporadyczny ang. Sporadic scheduling wykorzystywany jest w sytuacji, gdy system reazlizuje Rate Monotonic Analysis (RMA) w celu zapewnienia obsługi procesów periodycznych i aperiodycznych. Dobrze zaprojektowanych system pozwala obsługiwać krytyczne zadania aperiodyczne z zachowaniem terminowego wykonania pozostałych zadań. References: 12/38

13 Szeregowanie algorytmy Algorytm FIFO ang. First In First Out: Wątek uruchomiony; Dobrowolnie zrzeka się kontroli; Zostaje wydziedziczony przez wątek o wyższym priorytecie. References: 13/38

14 Szeregowanie algorytmy Adaptive partitioning: W wielu systemach zachodzi konieczność ochrony aplikacji lub grupy aplikacji przed wpływem innych programów. Statyczne partycje gwarantują procesom dostęp do zasobów wyspecyfikowanych przez konstruktora systemu: podstawowym zasobem branym pod uwagę jest czas CPU, pozostałe to współdzielone zasoby takie jak pamięć, przestrzeń plików (dysk lub flash). 14/38

15 Szeregowanie algorytmy Adaptacyjność partycji w QNX Neutrino polega na: możliwości zmiany konfiguracji w trakcie pracy; stałym rozmiarze w danym czasie; automatycznym dostosowaniu się do warunków pracy systemu, dla przykładu: wolny czas CPU jest redystrybuowany do innych partycji; systemy plików mogą rozliczać czas klienta w oparciu o mechanizm tymczasowego przenoszenia wątków pomiędzy partycjami. W związku z powyższym adaptacyjne partycjonowanie jest mniej restrykcyjne i bardziej wydajne w stosunku do innych algorytmów szeregowania. 15/38

16 Szeregowanie algorytmy Czym są adaptacyjne partycje? nazwanymi zbiorami reguł; regułami wybranymi do sterowania zachowaniem globalnych zasobów systemu; kiedy proces lub wątek skojarzony jest z daną partycją jego działania zarządzane są zgodnie z regułami tej partycji w danym czasie. 16/38

17 Szeregowanie algorytmy Adaptacyjne partycje dostarczają: ochronę pamięci każda z partycji jest dyskretna i sterowana przez jednostkę zarządzającą pamięcią ang. Memory Management Unit MMU; ochronę przed przeciążeniem każda partycja ma zagwarantowany przedział czasu, na wykonywanie powiązanych z nią zadań, wyspecyfikowany przez twórcę systemu; 17/38

18 Szeregowanie algorytmy Dlaczego stosujemy adaptacyjne partycje? w celu zapewnienia wydajności RT z gwarancją zapobiegania przeciążeniom; ponieważ w systemach dynamicznych, statyczne partycję są nieefektywne; Dla przykładu statyczny podział czasu CPU pomiędzy partycje może prowadzić do marnowania tego zasobu i wprowadzać opóźnienia: jeżeli większość partycji jest wolna, a jedna bardzo obciążona, to obciążona partycja nie otrzymuje dodatkowego czasu, dopóki wątki tła w pozostałych partycjach marnują czas CPU, jeżeli przerwanie zostało przypisane do partycji, musi ono poczekać, aż partycja ruszy. To może powodować nieakceptowalne opóźnienia szczególnie w sytuacji sekwencji przerwań. 18/38

19 Szeregowanie algorytmy Adaptacyjne partycje vs. Bezpieczeństwo Wiele systemów podatnych jest na ataki DoS ang. Denial of Service DoS attack w/o adaptive partitioning 19/38

20 Szeregowanie algorytmy Adaptacyjne partycje vs. Bezpieczeństwo Wiele systemów podatnych jest na ataki DoS ang. Denial of Service DoS attack with adaptive partitioning 20/38

21 Szeregowanie algorytmy Planista Adaptacyjnego partycjonowania ang. Adaptive partitioning thread scheduler został zaprojektowany aby rozwiązywać następujące problemy: gwarancji współdzielenia czasu procesora na wyspecyfikowanym minimalnym poziomie w czasie przeciążenia systemu; zapobieganiu monopolizacji systemu przez nieistotne lub niezaufane aplikacje. 21/38

22 Szeregowanie algorytmy Partitioning Technology projektant systemu: definiuje partycje dla mechanizmu priorytetowania; przypisuje wątki/procesy do poszczególnych partycji: proces/wątek potomny domyślnie zostaje umieszczony w partycji rodzica; określa minimalne % zużycie procesora dla każdej partycji. 22/38

23 Szeregowanie RT LINUX Planista: ładowalny moduł RT Core; moduł stworzony przez użytkownika. Task 1 T1 = 50 ms, C1 = 25 ms. Task 2 T2 = 100 ms, C2 = 40 ms. Wykorzystanie procesora wyraża wzór U = C T 23/38

24 Szeregowanie RT LINUX RMS Rate Monotonic Scheduling Algorithm domyślny algorytm szeregowania bazujący na statycznych priorytetach uwzględnia okres wykonywania zadania, krótszy okres zadania wyższy jego priorytet; algorytm optymalny w takim sensie, jeśli zadanie nie jest szeregowalne (nie będzie wykonane na czas) tym algorytmem, to nie będzie szeregowalne według żadnego innego algorytmu bazującego na statycznych priorytetach; 24/38

25 Szeregowanie RT LINUX RMS Rate Monotonic Scheduling Algorithm wadą tego algorytmu jest niski limit szeregowalności 69,3%. Oznacza to iż w systemie, w którym zadania zużywają 70% czasu procesora, nie wszystkie zadania będą wykonane na czas. 25/38

26 Szeregowanie RT LINUX EDF - Earliest Deadline First obecny algorytm szeregowania bazujący na dynamicznych priorytetach: im bliższy deadline, tym wyższy priorytet; zaletą tego algorytmu jest 100% szeregowalność zadań; wadę stanowią narzuty związane z przeliczaniem priorytetów. 26/38

27 Szeregowanie RT LINUX Szeregowanie zadań nieokresowych algorytmy RMS i EDF nie gwarantują wykonania na czas zadań aperiodycznych inaczej zwanych sporadycznymi, czyli pojawiającymi się w dowolnym czasie; szeregowanie zadań aperiodycznych wykonywane jest przy użyciu następujących algorytmów: Slot shifting algorithms ; Stack Stealing algorithms. 27/38

28 Szeregowanie RT LINUX Szeregowanie zadań nieokresowych 28/38

29 Szeregowanie zakleszczenia Inwersja priorytetów ma miejsce w sytuacji, gdy zadanie o wysokim priorytecie nie otrzymuje czasu procesora, pomimo tego iż powinno; Rozważmy sytuację, w której wysokopriorytetowy wątek oczekuje, aż niskopriorytetowy wątek zwolni zasób. Opóźnienie wynikające z tego faktu może być oszacowane i uwzględnione. Gorszy przypadek następuje wtedy, gdy pojawi się wątek średniopriorytetowy, który nie korzysta ze wspólnego zasobu. Wówczas wątek o średnim priorytecie wydziedziczy wątek o niskim priorytecie. Przez co wątek o wysokim priorytecie nadal pozostaje blokowany. 29/38

30 Szeregowanie Inwersja priorytetów rozwiązania dziedziczenie priorytetów polega na tym że niskopriorytetowy wątek otrzymuje priorytet wątku o najwyższym priorytecie, który oczekuje na zasób. Zapobiega to przejmowaniu zasobów procesora przez wątki o średnim priorytecie. Czy ciągle możliwe jest zakleszczenie? 30/38

31 Szeregowanie zakleszczenia Zakleszczenia ang. deadlock rozwiązania Rozważmy sytuację kiedy dziedziczny proces żąda dostępu do innego zasobu, który jest w użyciu przez inny proces o wysokim priorytecie. 31/38

32 Szeregowanie zakleszczenia Ceiling Semaphore Protocol pułap zasobów, inaczej mówiąc semafor zapewniający wyłączny dostęp do danego zasobu, jest równy najwyższemu priorytetowi zadania, które może przejąć zasób plus jeden; Zgodnie z protokołem CSP poziom zadania, które zajmuje zasób jest równy pułapowi zasobu. Jest to rozwinięcie idei dziedziczenia priorytetów. 32/38

33 Szeregowanie zakleszczenia Rozważmy przypadek trzech procesów p1, p2, p3 o priorytetach p1>p2>p3. Pułap zasobu = 1. 33/38

34 Szeregowanie zakleszczenia Stack Resource Policy (SRP) zgodnie z szeregowaniem SRP zadanie nie może być rozpoczęte dopóki jego priorytet nie jest najwyższy z pośród aktywnych zadań lub poziom wywłaszczenia nie jest wyższy od pułapu systemowego; Poziom wywłaszczenia zadania T i jest zdefiniowany jako P i = 1 D i gdzie D i czas do zakończenia zadania. Używając algorytmu SRP mamy pewność, że zadanie rozpoczęte nie zostanie zablokowane przed jego zakończeniem. Może zostać jednak wydziedziczone przez zadanie o wyższym priorytecie. SRP wykorzystuje wspólny stos do przechowywania parametrów wszystkich wykonywanych funkcji i zwracanych adresów. 34/38

35 Szeregowanie algorytmy Inne algorytmy szeregowania: FCFS (first come, first serve) podobny do FIFO, bardzo słaba interaktywność systemu pojedynczy długi proces blokuje cały system, brak priorytetów nie ma możliwości wywłaszczenia; SJF (shortest job first) pierwsze najkrótsze zadanie, wada problem głodzenia długich procesów; 35/38

36 Szeregowanie Szeregowanie Windows Embedded CE: Wątki o tym samym priorytecie szeregowane są algorytmem Round Robin; domyślny kwant czasu wynosi 100 ms, może być zmieniany przez projektanta systemu; 256 poziomów priorytetów; wątki o priorytetach są priorytetami czasu rzeczywistego. 36/38

37 Szeregowanie Szeregowanie Windows Embedded CE: Pozostałe wątki opisane są w następujący sposób: 37/38

38 Szeregowanie Szeregowanie Windows Embedded CE: wątki o wyższym priorytecie, niższym numerze uruchamiane są w pierwszej kolejności; wątek o niższym priorytecie może zostać uruchomiony tylko w przypadku, gdy wszystkie wątki o wyższych priorytetach zakończyły działanie lub są zablokowane. wątki dla, których kwant czasu został ustawiony na 0 mają nieograniczony limit czasu, mogą zostać wydziedziczone przez wątek o wyższym priorytecie lub przez ISR; priorytety wątków są stałe wyjątek stanowi tu zjawisko dziedziczenia priorytetów; 38/38

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

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

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

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

REAL-TIME LINUX. ZGODNOŚĆ Z POSIX ( PSE51 (minimal realtime system profile)

REAL-TIME LINUX. ZGODNOŚĆ Z POSIX ( PSE51 (minimal realtime system profile) KRÓTKO O HISTORII RT-LINUX STAN PRAWNY - NIEFORTUNNY PATENT INNE ROZWIĄZANIA ZGODNOŚĆ Z POSIX (1003.13 PSE51 (minimal realtime system profile) KLUCZOWE ELEMENTY KONCEPCJI RTL WIRTUALNY SYSTEM PRZERWAŃ

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

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

7. Szeregowanie procesów w systemie QNX6 Neutrino

7. Szeregowanie procesów w systemie QNX6 Neutrino J. Ułasiewicz Programowanie aplikacji współbieżnych 1 7. Szeregowanie procesów w systemie QNX6 Neutrino 7.1 PRIORYTETY Każdy z procesów wykonywanych w systemie RTS ma przyporządkowany priorytet. W systemie

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

Organizacja oprogramowania

Organizacja oprogramowania Organizacja oprogramowania 1. Cykliczny program sekwencyjny RS232 a/c µc (regulator) c/a Zadania czas wykonania cykl (a) pomiar 1 ms 10 ms (b) obliczenie 2 ms 10 ms (c) wyjście 1 ms 10 ms 4 ms (a) (b)

Bardziej szczegółowo

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.1

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

Bardziej szczegółowo

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

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

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

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

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

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

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

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

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

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

Jądro systemu operacyjnego

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

Bardziej szczegółowo

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

7. Szeregowanie procesów w systemie QNX6 Neutrino

7. Szeregowanie procesów w systemie QNX6 Neutrino J. Ułasiewicz Programowanie aplikacji współbieżnych 1 7. Szeregowanie procesów w systemie QNX6 Neutrino 7.1 Priorytety Każdy z procesów wykonywanych w systemie RTS ma przyporządkowany priorytet. W systemie

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

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

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

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

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

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

Systemy czasu rzeczywistego. Systemy czasu rzeczywistego. Systemy czasu rzeczywistego. Systemy czasu rzeczywistego - przykłady

Systemy czasu rzeczywistego. Systemy czasu rzeczywistego. Systemy czasu rzeczywistego. Systemy czasu rzeczywistego - przykłady Systemy czasu rzeczywistego Definicja IEEE: System czasu rzeczywistego (real time) to system, którego poprawność działania zależy nie tylko od poprawności logicznych rezultatów, lecz również od czasu,

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

Budowa i oprogramowanie komputerowych systemów sterowania. Wykład 9. Systemy operacyjne

Budowa i oprogramowanie komputerowych systemów sterowania. Wykład 9. Systemy operacyjne Budowa i oprogramowanie komputerowych systemów sterowania Wykład 9 Systemy operacyjne Pamięć wirtualna Pamięć wirtualna jest techniką programową a także sprzętową gospodarowania pamięcią operacyjną RAM

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

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

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 czasu rzeczywistego. Systemy czasu rzeczywistego. Systemy czasu rzeczywistego. Systemy czasu rzeczywistego - przykłady

Systemy czasu rzeczywistego. Systemy czasu rzeczywistego. Systemy czasu rzeczywistego. Systemy czasu rzeczywistego - przykłady Systemy czasu rzeczywistego Definicja IEEE: System czasu rzeczywistego (real time) to system, którego poprawność działania zależy nie tylko od poprawności logicznych rezultatów, lecz również od czasu,

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

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

Wykład 3: Implementacja programów wbudowanych

Wykład 3: Implementacja programów wbudowanych Systemy wbudowane Wykład 3: Implementacja programów wbudowanych Problemy implementacji oprogramowania wbudowanego Szeregowanie zadań System operacyjny Obsługa przerwań 10/16/2010 S.Deniziak:Systemy wbudowane

Bardziej szczegółowo

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.2

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.2 Mariusz Rudnicki mariusz.rudnicki@eti.pg.gda.pl PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.2 Architektura - Procesy Proces program załadowany do pamięci; identyfikowany przez id procesu, zwykle nazywany

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

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

Planowanie przydziału procesora

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

Bardziej szczegółowo

Systemy Czasu Rzeczywistego (SCR)

Systemy Czasu Rzeczywistego (SCR) Systemy Czasu Rzeczywistego (SCR) Elementy systemów operacyjnych czasu rzeczywistego Politechnika Gdańska Wydział Elektrotechniki i Automatyki Kierunek: Automatyka i Robotyka Studia stacjonarne I stopnia:

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

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

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

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

Bardziej szczegółowo

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

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

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux.

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Linux. Kod szkolenia: Tytuł szkolenia: PS/LINUX Programowanie systemowe w Linux Dni: 5 Opis: Adresaci szkolenia Szkolenie adresowane jest do programistów tworzących aplikacje w systemie Linux, którzy chcą poznać

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

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

1.1 Definicja procesu

1.1 Definicja procesu 1 Procesy pojęcia podstawowe 1 1.1 Definicja procesu 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

Sieciowe Systemy Operacyjne

Sieciowe Systemy Operacyjne 1 Sieciowe Systemy Operacyjne 1. Etapy rozwoju systemów komputerowych System scentralizowany System sieciowy System rozproszony 1.1 System scentralizowany Zastosowane duże komputery (mainframes ) Użytkownicy

Bardziej szczegółowo

Nowoczesne systemy operacyjne

Nowoczesne systemy operacyjne Nowoczesne systemy operacyjne Szymon Krywult Jan Kleszczyński 13 maja 2013 Plan Wstęp Kernel Procesy i wątki System plików System wejścia-wyjścia Podsumowanie Wstęp Definicja Zbiór oprogramowania zarządzającego

Bardziej szczegółowo

Spis treści. Rozdział 3. Instalacja i konfiguracja systemu RTLinux... 27. Przebieg instalacji...e...e.37

Spis treści. Rozdział 3. Instalacja i konfiguracja systemu RTLinux... 27. Przebieg instalacji...e...e.37 Spis treści Wstęp...z... 5 Rozdział 1. Linux a czas rzeczywisty...z... 11 Jądro systemu...e...e.....11 Szeregowanie procesów...e...12 Rozdzielczość szeregowania...e...12 Wywołania systemowe...e...e13 Przerwania

Bardziej szczegółowo

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2010/2011 Wykład nr 7 (24.01.2011) dr inż. Jarosław Forenc Rok akademicki

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

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

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

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

1. Etapy rozwoju systemów komputerowych

1. Etapy rozwoju systemów komputerowych 1 Sieciowe Systemy Operacyjne Wprowadzenie do wykładu, podstawowe definicje, rola 1 systemu operacyjnego Procesy POSIX, zarządzanie procesami 2 Pliki, komunikacja przez pliki, blokowanie 1 Łącza nazwane

Bardziej szczegółowo

SYSTEMY OPERACYJNE PROCESORÓW SYGNAŁOWYCH

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

Bardziej szczegółowo

Systemy operacyjne III

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

Bardziej szczegółowo

dr inŝ. Jarosław Forenc

dr inŝ. Jarosław Forenc Rok akademicki 2009/2010, Wykład nr 8 2/19 Plan wykładu nr 8 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2009/2010

Bardziej szczegółowo

Definicja systemu operacyjnego (1) Definicja systemu operacyjnego (2) Miejsce systemu operacyjnego w architekturze systemu komputerowego

Definicja systemu operacyjnego (1) Definicja systemu operacyjnego (2) Miejsce systemu operacyjnego w architekturze systemu komputerowego Systemy operacyjne wprowadzenie 1 Definicja systemu operacyjnego (1) Definicja systemu operacyjnego (2) System operacyjny jest zbiorem ręcznych i automatycznych procedur, które pozwalają grupie osób na

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

Zaawansowane programowanie w C++ (PCP)

Zaawansowane programowanie w C++ (PCP) Wykład 10 - boost Thread. 8 czerwca 2007 Równoległość bardzo wolna reakcja człowieka wolne urządzenia wejścia - wyjścia (np. drukarki) bardzo szybkie procesory można przeprowadzać obliczenia podczas obsługi

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

* Wymień typowe standardy sygnałów procesowych: - analogowy - dwustanowe

* Wymień typowe standardy sygnałów procesowych: - analogowy - dwustanowe * Zaznaczyć wszystkie zadania charakteryzujące system czasu rzeczywistego o ostrych ograniczeniach czasowych: - ograniczenia czasowe zależą od techniki realizacji systemu - przekroczenie ograniczeń czasowych

Bardziej szczegółowo

Jadro monolityczne vs. mikrojadro. Mikrojadro. Olga Kowalczuk. 9 grudnia 2008

Jadro monolityczne vs. mikrojadro. Mikrojadro. Olga Kowalczuk. 9 grudnia 2008 Jadro monolityczne vs. mikrojadro 9 grudnia 2008 Jadro monolityczne vs. mikrojadro Jadro monolityczne vs. mikrojadro Jadro monolityczne vs. mikrojadro Jadro monolityczne Aplikacje użytownika wywołania

Bardziej szczegółowo

Linux - Real-Time (?)

Linux - Real-Time (?) Linux - Real-Time (?) Marcin Bis marcin@bis.org.pl 6 marca 2012 Marcin Bis Linux - Real-Time (?) O czym to będzie? Linux w systemach wbudowanych (głównie) dużo gotowego oprogramowania w wielu przypadkach

Bardziej szczegółowo

Opis efektów kształcenia dla modułu zajęć

Opis efektów kształcenia dla modułu zajęć Nazwa modułu: Projektowanie i użytkowanie systemów operacyjnych Rok akademicki: 2013/2014 Kod: EAR-2-324-n Punkty ECTS: 5 Wydział: Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Kierunek:

Bardziej szczegółowo

2009-03-21. Paweł Skrobanek. C-3, pok. 321 e-mail: pawel.skrobanek@pwr.wroc.pl pawel.skrobanek.staff.iiar.pwr.wroc.pl

2009-03-21. Paweł Skrobanek. C-3, pok. 321 e-mail: pawel.skrobanek@pwr.wroc.pl pawel.skrobanek.staff.iiar.pwr.wroc.pl Wrocław 2007-09 SYSTEMY OPERACYJNE WPROWADZENIE Paweł Skrobanek C-3, pok. 321 e-mail: pawel.skrobanek@pwr.wroc.pl pawel.skrobanek.staff.iiar.pwr.wroc.pl 1 PLAN: 1. Komputer (przypomnienie) 2. System operacyjny

Bardziej szczegółowo

System komputerowy. System komputerowy

System komputerowy. System komputerowy System komputerowy System komputerowy System komputerowy układ współdziałających ze sobą (według pewnych zasad) dwóch składowych: sprzętu komputerowego (hardware) oraz oprogramowania (software) po to,

Bardziej szczegółowo

System operacyjny System operacyjny

System operacyjny System operacyjny System operacyjny System operacyjny (ang. operating system) jest programem (grupą programów), który pośredniczy między użytkownikiem komputera a sprzętem komputerowym. Jest on niezbędny do prawidłowej

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

Wielowątkowość mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011

Wielowątkowość mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Wielowątkowość mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Uruchomienie programu powoduje stworzenie nowego procesu przez system operacyjny. Proces wykonywany program wraz

Bardziej szczegółowo

WYKŁAD 3 Jądro systemu i procesy. Marcin Tomana Wyższa Szkoła Informatyki i Zarządzania

WYKŁAD 3 Jądro systemu i procesy. Marcin Tomana Wyższa Szkoła Informatyki i Zarządzania SYSTEMY OPERACYJNE WYKŁAD 3 Jądro systemu i procesy Marcin Tomana Wyższa Szkoła Informatyki i Zarządzania Program wykładu 2 Jądro systemu Możliwości procesorów Działanie procesów i wątków Zarządzanie procesami

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

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

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

Systemy Czasu Rzeczywistego (SCR)

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

Bardziej szczegółowo

SYSTEMY CZASU RZECZYWISTEGO - VxWorks

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

Bardziej szczegółowo

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 005 Plik wymiany Pamięć wirtualna 2 SO i SK/WIN Plik wymiany - rodzaj pamięci wirtualnej komputerów. Plik ten służy do tymczasowego przechowywania

Bardziej szczegółowo

Wielozadaniowość w systemie Microsoft Windows

Wielozadaniowość w systemie Microsoft Windows Wielozadaniowość w systemie Microsoft Windows mgr inż. Tomasz Jaworski tjaworski@kis.p.lodz.pl http://tjaworski.kis.p.lodz.pl/ Idea wielozadaniowości Proces główny Wątki Algorytm szeregowania ustala kolejność

Bardziej szczegółowo

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2009/2010 Wykład nr 8 (29.01.2009) dr inż. Jarosław Forenc Rok akademicki

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

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

Kurs programowania. Wykład 8. Wojciech Macyna

Kurs programowania. Wykład 8. Wojciech Macyna Wykład 8 Program bez watków, jeden procesor, trzy zadania Program z watkami, jeden procesor, trzy zadania Procesory wielordzeniowe, każde zadanie na osobnym procesorze Trzy zadania uruchomione w watkach

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

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

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

Bardziej szczegółowo

XMEGA. Warsztaty CHIP Rok akademicki 2014/2015

XMEGA. Warsztaty CHIP Rok akademicki 2014/2015 XMEGA Warsztaty CHIP Rok akademicki 2014/2015 Plan warsztatów: Wprowadzenie do Atmel Studio (20/11/2014) Porty I/O (20/11/2014) Przerwania (27/11/2014) Wykorzystana literatura: [1] Dokumentacja ATMEL(www.atmel.com):

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Systemy operacyjne II

Systemy operacyjne II Systemy operacyjne II Wojciech Kwedlo Wydział Informatyki PB, p. 205 wkwedlo@ii.pb.bialystok.pl aragorn.pb.bialystok.pl/~wkwedlo Pracownia specjalistyczna: Wojciech Kwedlo Krzysztof Bandurski Wojciech

Bardziej szczegółowo

Jesień LinuksowaLinux - Real-Time w systemach wbudowanych

Jesień LinuksowaLinux - Real-Time w systemach wbudowanych Jesień Linuksowa Linux - Real-Time w systemach wbudowanych marcin@bis-linux.com 13 padziernika 2012 Jesień LinuksowaLinux - Real-Time w systemach wbudowanych O mnie http://bis.org.pl/ GNU/Linux (administracja,

Bardziej szczegółowo