SYSTEMY OPERACYJNE WYKLAD 6 - wątki

Podobne dokumenty
Zarządzanie procesami i wątkami

Paweł Skrobanek. C-3, pok

Paweł Skrobanek. C-3, pok pawel.skrobanek.staff.iiar.pwr.wroc.pl

Projektowanie oprogramowania systemów PROCESY I ZARZĄDZANIE PROCESAMI

SYSTEMY OPERACYJNE WYKLAD 6 - procesy

SYSTEMY OPERACYJNE WYKLAD 4 - zarządzanie pamięcią

Pytania do treści wykładów:

Zarządzanie procesorem

Planowanie przydziału procesora

Planowanie przydziału procesora

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

SYSTEMY OPERACYJNE WYKLAD 5 - zarządzanie pamięcią pomocniczą

Informatyka, systemy, sieci komputerowe

Systemy Operacyjne - zarządzanie procesami

Procesy, wątki i zasoby

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

Procesy, zasoby i wątki

Procesy, zasoby i wątki

Procesy, zasoby i wątki

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

Jądro systemu operacyjnego

Mariusz Rudnicki PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO CZ.3

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

Proces y i y w i ąt ą ki

projektowanie systemu

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

Systemy operacyjne III

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

PROGRAMOWANIE SYSTEMÓW WBUDOWANYCH

System komputerowy. System komputerowy

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

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

Planowanie przydziału procesora

Planowanie przydziału procesora

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

Systemy operacyjne Procesy i wątki

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

4. Procesy pojęcia podstawowe

4. Procesy pojęcia podstawowe

Struktury systemów operacyjnych

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

Podstawy architektury systemów z równoległością na poziomie wątków

4. Procesy pojęcia podstawowe

Systemy operacyjne III

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

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

Procesy, zasoby i wątki

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2010/2011

Podstawy informatyki. Izabela Szczęch. Politechnika Poznańska

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

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

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja

Przykłady implementacji planowania przydziału procesora

System operacyjny System operacyjny

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

Planowanie przydziału procesora

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 2. Zasoby i procesy w systemach i sieciach komputerowych

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

1.1 Definicja procesu

Prezentacja systemu RTLinux

Uniwersytet w Białymstoku Wydział Ekonomiczno-Informatyczny w Wilnie SYLLABUS na rok akademicki 2009/2010

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

Systemy operacyjne. Paweł Pełczyński

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

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

Wstęp do Informatyki. Klasyfikacja oprogramowania

Działanie systemu operacyjnego

Tworzenie programów równoległych. Krzysztof Banaś Obliczenia równoległe 1

Działanie systemu operacyjnego

Działanie systemu operacyjnego

Działanie systemu operacyjnego

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

System operacyjny komputera Informacje podstawowe

KARTA KURSU. Systemy operacyjne

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

Procesy i wątki. Wątki. Procesy

Budowa i zasada działania komputera. dr Artur Bartoszewski

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

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

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

Podstawowe zagadnienia

Komputery przemysłowe i systemy wbudowane

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

U M L. System operacyjny Linux zagnieżdżony w zewnętrznym systemie operacyjnym (Linux)

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład X

Wątek - definicja. Wykorzystanie kilku rdzeni procesora jednocześnie Zrównoleglenie obliczeń Jednoczesna obsługa ekranu i procesu obliczeniowego

41. System operacyjny. Postrzeganie systemu operacyjnego przez warstwę oprogramowania użytkowego

Systemy Operacyjne i Sieci Komputerowe

Przerwania. Przerwania. Budowa systemu komputerowego. Zdarzenia powodujące przerwanie: Wektor przerwań

Przerwania. Przerwania. Budowa systemu komputerowego. Zdarzenia powodujące przerwanie: Wektor przerwań

Tworzenie programów równoległych cd. Krzysztof Banaś Obliczenia równoległe 1

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Program wykładów. Strona WWW przedmiotu: Program ćwiczeń projektowych

Wprowadzenie do systemu Minix

Architektura potokowa RISC

1. Szeregowanie w systemach czasu rzeczywistego

Nowoczesne systemy operacyjne

System operacyjny wstęp

Architektura i administracja systemów operacyjnych

6. Algorytmy ochrony przed zagłodzeniem dla systemów Linux i Windows NT.

Transkrypt:

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 zadań) 3. Rozwiązania wspomagane hardware owo 4. Podsumowanie 2 WĄTKI 3 1

WĄTEK ang. thread, podstawowa jednostka Wątek 1: rejestry procesora, stos. Przykład (UNIX): Wspólne: KOD i DANE (PAMIĘĆ), PLIKI Wątek 2: rejestry procesora, stos. Wątek 3: rejestry procesora, stos. fork tworzy nowy proces (z kopią struktur danych), clone tworzy proces wskazujący na struktury procesu macierzystego (Uwaga: co ma być współdzielone określają parametry, teoretycznie moŝe działać jak fork) 4 Zalety: moŝliwość sterowania wykonywanie zadania (tzw. wątek sterujący), np. w trakcie rysowania grafiki moŝliwość wstrzymywania, modyfikacji parametrów, wznawiania, mniejsze koszty (np. czas, zasoby) tworzenia wątków niŝ procesów (teoretycznie - moŝliwa realizacja zadania przez wiele procesów, zamiast wątków tak było dawniej), moŝliwość realizacji zadań równocześnie (jeśli niezaleŝne) i/lub na wielu procesorach 5 Zalety: brak konieczności powielania kodu i danych dla kolejnych wątków (domyślne dzielenie zasobów procesu), 6 2

Wady: znajomość zasad zarządzanie wątkami - odpowiednia architektura oprogramowania oraz umiejętności architekta i programisty, wsparcie ze strony systemów operacyjnych, problemy związane z usuwaniem, prawami, dostępem do danych itp. 7 WĄTKI UśYTKOWNIKA (ang. user threads) tworzone i zarządzane w przestrzeni uŝytkownika, JĄDRA (ang. kernel threads) działają w przestrzeni jądra, tworzone i zarządzane poprze jądro (np. moŝliwość wykorzystania wielu procesorów, likwidacja blokad) Odwzorowanie wątków uŝytkownika w wątki jądra: wiele do 1 jeden wątek jądra obsługuje wiele wątków uŝytkownika (w danej chwili tylko jeden komunikuje się z jądrem); problem w przypadku blokady obsługiwanego wątku, moŝliwość wykonania wielu wątków dla jądra nie obsługującego wielowątkowości, 3

Odwzorowanie wątków uŝytkownika w wątki jądra cd.: 1 do 1 kaŝdemu wątkowi uŝytkownika odpowiada wątek jądra, np. Windows 2000, problem duŝa liczba wątków jądra, stąd np. ograniczenia na liczbę wątków jądra, wiele do wielu zastosowanie mechanizmu multipleksowania, wielu wątkom uŝytkownika odpowiada taka sama lub mniejsza liczba wątków jądra. PLANOWANIE PRZYDZIAŁU PROCESORA 11 Podstawowe pojęcia: scheduler (planista) odpowiada za przydział czasu procesora (oraz zasobów), PROBLEM: taki przydział procesora i innych zasobów, Ŝeby zakończyć wszystkie zadania w jak najkrótszym czasie, dispatcher (dyspozytor) komponent SO odpowiedzialny za przydział (przekazanie) procesora do dyspozycji procesora (główne zadanie: przełączanie kontekstu procesora);tzw. planista krótkoterminowy PROZBLEM: minimalizacja czasu (np. przemianowanie rejestrów, zamiast przeładowania) 12 4

PLANISTA KRÓTKOTERMINOWY odpowiada za wykonywanie procesów gotowych, musi być bardzo szybki (wpływ na opóźnienie w wykonywania kaŝdego przydziału procesora) DŁUGOTERMINOWY odpowiada za ładowanie procesów z pamięci masowej do operacyjnej, nie musi być bardzo szybki 13 Podstawowe pojęcia: głodzenie procesu sytuacja, gdy proces nie moŝe uzyskać dostępu do zasobu i zakończyć działania (np. na skutek niskiego priorytetu rozwiązanie, podnoszenie priorytetu starzejących się procesów) 14 Typowe algorytmy szeregowania: FIFO (first in, first out) pierwszy przyszedł, pierwszy wyszedł, wątki/procesy wykonują się tak długo, aŝ zostaną wywłaszczone przez zadanie o wyŝszym priorytecie lub przez siebie, Round Robin (RB) tzw. planowanie rotacyjne, kaŝdy proces/wątek otrzymuje kwant czasu, po wykorzystaniu którego jest ustawiany na końcu kolejki, shortet job first (SJF) najpierw ten, komu zostało najmniej czasu do zakończenia (problem: jeśli pojawiają się nowe procesy z krótkim czasem wykonania, to długi moŝe zostać zagłodzony) 15 5

Typowe algorytmy szeregowania: inne algorytmy: - pod red. Silberschatz Podstawy systemów operacyjnych, str.186 203; - http://pl.wikipedia.org/wiki/algorytm_szeregowania; - http://josh.trancesoftware.com/linux/linux_cpu_scheduler.pdf - http://en.wikipedia.org/wiki/scheduling_%28computing%29 16 Priorytety w systemie Windows XP 17 ROZWIĄZANIA WSPOMAGANE SPRZĘTOWO 18 6

Przetwarzanie w procesorach: sekwencyjne, potokowe, superskalarne (wielopotokowe), wielowątkowe (HT hyper threading) praktycznie zysk wydajności do 20-25%, wielozadaniowość wieloprocesorowość. 19 Jaki typ przetwarzania moŝliwy jest w poniŝszym procesorze? Źródło: serwis www.amd.com 20 Czym to się róŝni (a moŝe nie) od superskalarności? Źródło: PC World Komputer (numer podam później) 21 7