Správa procesoru. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. Petr Krajča (UP) KMI/YOS: Přednáška III. 7. listopad, / 23
|
|
- Olga Slavíková
- před 8 lety
- Počet zobrazení:
Transkript
1 Operační systémy Správa procesoru Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci Petr Krajča (UP) KMI/YOS: Přednáška III. 7. listopad, / 23
2 Procesy (1/2) neformálně: proces = běžící program (vykonává činnost) proces: pamět ový prostor kód programu data statická a dynamická (halda) zásobník registry Obecný životní cyklus procesu nový (new) proces byl vytvořen připravený (ready) proces čeká, až mu bude přidělen CPU běžící (running) CPU byl přidělen procesor a právě provádí činnost čekající (waiting) proces čeká na nějakou událost (např. na vyřízení I/O požadavku) ukončený (terminated) proces skončil svou činnost Petr Krajča (UP) KMI/YOS: Přednáška III. 7. listopad, / 23
3 Procesy (2/2) multi-tasking: (zdánlivě) souběžný běh více procesů informace o procesu má OS uloženy v process control block (PCB) obsahuje informace: identifikace procesu informace o stavu adresu instrukce, kterou bude program pokračovat stav registrů informace k plánování procesů informace o přidělené paměti informace o použivaných I/O zařízeních, otevřených souborech, atd. zásadní role při předávání procesoru mezi procesy uložení stavu CPU (context switch) = jde řešit softwarově nebo s podporou HW kooperativní vs. preemptivní multitasking preemptivní multitasking = velikost časového kvanta potřeba plánování Petr Krajča (UP) KMI/YOS: Přednáška III. 7. listopad, / 23
4 Plánování procesů (1/2) Požadavky férovost každému procesu by v rozumné době měl být přidělen CPU efektivita maximální využití CPU maximalizace odvedené práce (throughput) minimalizace doby odezvy minimalizace doby průchodu systémem (turnaround) Round robin každý proces má pevně stanovené kvantum připravené procesy jsou řazeny ve frontě a postupně dostavají CPU spravedlivý Priority připravené procesy jsou řazeny podle priorit riziko vyhladovění reálně se používají heuristické algoritmy sdílející obě vlastnosti Petr Krajča (UP) KMI/YOS: Přednáška III. 7. listopad, / 23
5 Plánování procesů (2/2) Různé typy úloh interaktivní dávkové zpracování pracující v realném čase intenzivní na CPU vs. I/O Symmetric Multi-processing přibývá problém, jak vybrat procesor = přesun procesu = vyprázdnění cache řešení: oddělené plánování pro každý procesor nebo maska affinity (definuje procesor na kterém může proces běžet) Petr Krajča (UP) KMI/YOS: Přednáška III. 7. listopad, / 23
6 Vlákna (Threads) OS umožňují rozdělení procesu na víc vláken základní entitou vykonávající program není proces, ale vlákno proces se skládá z jednoho a více vláken každé vlákno má svůj zásobník + registry = přepnutí vláken v rámci procesu rychlejší vlákna v rámci procesu sdíĺı pamět ový prostor, data, prostředky = jednoduché sdílení prostředků = nové problémy se synchronizací Realizace vztah kernel thread - user thread kernel thread vlákno, jak jej vídí OS user thread vlákno z pohledu uživatelského prostoru 1:N vlákna jsou realizovaná v uživatelském prostoru (problém s plánováním) 1:1 k jednomu vlánku v uživatelském prostoru existuje jedno v jaderném prostoru (nejčastější použití) M:N vlákna v uživatelském prostředí jsou mapována na menší počet jaderných vláken Petr Krajča (UP) KMI/YOS: Přednáška III. 7. listopad, / 23
7 Procesy a vlákna v Unixech původně základní entitou byl proces procesy tvoří hierarchii rodič-potomek (navrcholu je proces init) vytvoření procesu pomocí volání fork(), které vytvoří klon procesu přepsání procesu pomocí exec komunikace mezi procesy: zasílání signálů, roury,... možnost nastavit niceness procesu (prioritu od -20 do 20) vlákna do Unixu přidána až později (implementace se v rámci různých OS liší) v Linuxu (pthreads) vnitřně implementovány stejně jako procesy (task), ale sdíĺı pamět ový prostor Petr Krajča (UP) KMI/YOS: Přednáška III. 7. listopad, / 23
8 Procesy a vlákna ve Windows Windows NT navrženy s vlákny jako základní entitou pro běh aplikace proces sdružuje vlákna, plánování se účastní vlákno sofistikovaný systém priorit při plánování vláken priorita vlákna je odvozená od třídy priority procesu proměnlivá velikost kvant priority boost dochazí k dočasnému zvýšení priority po dokončení I/O operace po dokončení čekání na semafor probuzení vlákna, jako reakce na UI vlákno již dlouhodobu něběželo Petr Krajča (UP) KMI/YOS: Přednáška III. 7. listopad, / 23
9 Synchronizace vláken a procesů příklad: přičtení jedničky dvěma procesy 1 proměnná X = 1 2 A: načte hodnotu do registru 3 A: zvýší hodnotu v registru o jedna 4 B: načte hodnotu do registru 5 A: uloží hodnotu do paměti (X = 2) 6 B: zvýší hodnotu v registry o jedna 7 B: uloží hodnotu do paměti (X = 2) řešení atomické operace nebo synchronizace je potřeba zajistit, aby v průběhu manipulace s určitými zdroji s nimi nemohl manipulovat někdo jiný (vzájemné vyloučení) Petr Krajča (UP) KMI/YOS: Přednáška III. 7. listopad, / 23
10 Atomický přístup do paměti vícevláknové aplikace/víceprocesorové počítače (+ out-of-order provádění operací) obecně přístupy do paměti nemusí být atomické (záležitost CPU) kĺıčové slovo volatile často záleží na překladači memory barriers umožňují vynutit si synchronizaci (záležitost CPU) Atomické operace Compare-and-Swap (CAS): ověří jestli se daná hodnota rovná požadované a pokud ano, přiřadí ji novou (CMPXCHG) Fetch-and-Add: vrátí hodnotu místa v paměti a zvýší jeho hodnotu o jedna (XADD) Load-link/Store-Conditional (LL/CS): načte hodnotu a pokud během čtení nebyla změněna, uloží do ní novou hodnotu umožňují implementovat synchronizační primitiva na vyšší úrovni Petr Krajča (UP) KMI/YOS: Přednáška III. 7. listopad, / 23
11 Synchronizační primitiva slouží k řízení přístupu ke sdíleným prostředkům Petersonův algoritmus (umožňuje implementovat vzájemné vyloučení dvou procesů, pomocí běžných operací) Mutex & Kritická sekce potřebujeme zajistit, aby kód pracující se sdílenými zdroji mohlo použít jen jedno vlákno/proces = kritická sekce realizace pomocí mutexu dvě operace: vstoupit do kritické sekce (pokud je v kritické sekci jiný proces/vlákno, proces čeká) opustit kritickou sekci (pokud na vstup do kritické sekce čeká jiné vlákno, je vpuštěno) Petr Krajča (UP) KMI/YOS: Přednáška III. 7. listopad, / 23
12 Kritická sekce pomocí SWAP uvažujme následující atomickou operaci, která prohodí dvě hodnoty void swap(bool *a, bool *b) { bool tmp = *a; *a = *b; *b = tmp; } a kód key = true; while (key == true) swap(&lock, &key); // kritická sekce lock = false; Petr Krajča (UP) KMI/YOS: Přednáška III. 7. listopad, / 23
13 Semafor (1/2) chráněná proměnná obsahující počítadlo s nezápornými čísly operace P: pokud je hodnota čísla nenulová sníží hodnotu o jedna, jinak čeká, až bude hodnota zvýšena operace V: zvýší hodnotu o jedna operace P a V se provádí atomicky void P(Semaphore s) { while (s <= 0) { } s--; } void V(Semaphore s) { s++; } Petr Krajča (UP) KMI/YOS: Přednáška III. 7. listopad, / 23
14 Semafor (2/2) struct sem { int value; struct process * list; }; void P(struct sem * s) { s->value--; if (s->value < 0) { // přidej proces do s->list; block(); // uspi aktuální proces } } void V(struct sem * s) { s->value++; if (s->value <= 0) { // odeber process P z s->list wakeup(p); } } Petr Krajča (UP) KMI/YOS: Přednáška III. 7. listopad, / 23
15 Monitor modul nebo objekt v jeden okamžik může kteroukoliv metodu používat pouze jeden proces/vlákno nutná podpora prog. jazyka Java (synchronized),.net (lock) rozšíření o podporu čekání (Wait, Pulse, PulseAll) = možnost odemčít zámek společně s čekáním monitor v C# lock (obj) { // kriticka sekce } Petr Krajča (UP) KMI/YOS: Přednáška III. 7. listopad, / 23
16 Deadlock uváznutí systém se dostal do stavu, kdy nemůže dál pokračovat Užívání prostředků request požadavek na prostředek, není-li k dispozici, proces čeká use proces s prostředkem pracuje release uvolnění prostředku pro další použití Podmínky vzniku Mutual exclusion alespoň jeden prostředek je výlučně užíván jedním procesem Hold & wait proces vlastní alespoň jeden prostředek a čeká na další No preemption prostředek nelze násilně odebrat Circular wait cyklické čekání (proces A vlastní prostředek 1, chce prostředek 2, který drží B a současně žádá o 1) Petr Krajča (UP) KMI/YOS: Přednáška III. 7. listopad, / 23
17 Řešení deadlocku (1/4) Ignorace,,neřešení, v praxi často používané Detekce (detection & recovery) pokud vznikne deadlock, je detekován a některý proces odstraněn k detekci se používá alokační graf prostředků a graf čekání alokační graf: orientovaný graf dva typy uzlů prostředek, proces hrana proces-prostředek proces čeká na prostředek hrana prostředek-proces prostředek je vlastněn procesem graf čekání vznikne vynecháním uzlů prostředků a přidáním hran P n P m pokud existovaly hrany P n R a R P m, kde P n a P m jsou procesy a R je prostředek deadlock vznikne, pokud je v grafu čekání cyklus Kdy má smysl provádět detekci? Jak vybrat obět? Petr Krajča (UP) KMI/YOS: Přednáška III. 7. listopad, / 23
18 Řešení deadlocku (2/4) Zamezení vzniku (prevention) snažíme se zajistit, že některá z podmínek není splněna zamezení výlučnému vlastnění prostředků (často nelze z povahy prostředku) zamezení držení a čekání proces zažádá o všechny prostředky hned na začatku problém s odhadem pĺıtvání a hladovění množství prostředků nemusí být známé předem jde použít i v průběhu procesu (ale proces se musí vzdát všech prostředků) zavedení možnosti odejmout prostředek vhodné tam, kde lze odejmout prostředky tak, aby nešlo poznat, že byly odebrány zamezení cyklickému čekání zavedení globálního číslování prostředků a možnost žádat prostředky jen v daném pořadí Petr Krajča (UP) KMI/YOS: Přednáška III. 7. listopad, / 23
19 Řešení deadlocku (3/4) Vyhýbání se uváznutí (avoidance) procesy žádají prostředky libovolně systém se snaží vyhovět těm požadavkům, které nemohou vést k uváznutí bezpečný stav existuje pořadí procesů, ve kterém jejich požadavky budou vyřízeny bez vzniku deadlocku tomu je přizpůsobeno plánovaní procesů je potřeba znát předem, kolik prostředků bude vyžádáno systém, který není v bezpečném stavu, nemusí být v deadlocku systém odmítne přidělení prostředků, pokud by to znamenalo přechod do nebezpečného stavu (proces musí čekat) Petr Krajča (UP) KMI/YOS: Přednáška III. 7. listopad, / 23
20 Řešení deadlocku (4/4) Algoritmus na bázi alokačního grafu vhodný pokud existuje jen jedna instance každého prostředku do alokačního grafu přidáme hrany (proces-prostředek) označující potenciální žádosti procesu a prostředky žádosti a prostředek se vyhoví pouze tehdy, pokud konverze hrany na hranu typu (prostředek-je vlastněn-procesem) nepovede ke vzniku cyklu Bankéřův algoritmus vhodný tam, kde je větší počet prostředků daného typu na začátku každý proces oznamí, kolik prostředků jakého typu bude maximálně potřebovat při žádosti o prostředky systém ověří, jestli se nedostane do nebezpečného stavu pokud nelze vyhovět, je proces pozdržen porovnávají se volné prostředky, s aktualně přidělenými a maximálními Petr Krajča (UP) KMI/YOS: Přednáška III. 7. listopad, / 23
21 Bankéřův algoritmus (1/2) uvažujme m prostředků a n procesů matice n m max počet prostředků, které bude každý proces žádat assigned počet přiřazených prostředků jednotlivým procesům needed počet prostředků, které bude každý proces ješte potřebovat (evidentně needed = max assigned) vektory velikosti m E počet existujících prostředků P počet aktuálně držených prostředků A počet dostupných zdrojů (evidentně A = E P ) Algoritmus 1 najdi řádek i v needed takový, že needed[i] A, pokud takový není, systém není v bezpečném stavu 2 předpokládej, že proces skončil a uvolnil své zdroje, i.e., A A + assigned[i] 3 opakuj body 1 a 2, dokud nejsou odstraněny všechny procesy nebo není jasné, že systém není v bezpečném stavu Petr Krajča (UP) KMI/YOS: Přednáška III. 7. listopad, / 23
22 Bankéřův algoritmus (2/2) K L M N A B C D E assigned K L M N A B C D E needed E = 6, 3, 4, 2 P = 5, 3, 2, 2 A = 1, 0, 2, 0 podmínku splňuje proces D = odebrán a A 2, 1, 2, 1 podmínku splňuje proces A = odebrán a A 5, 1, 3, 2 podmínku splňuje proces B = odebrán a A 5, 2, 3, 2 podmínku splňuje proces C = odebrán a A 6, 3, 4, 2 podmínku splňuje proces E = odebrán a A 6, 3, 4, 2 Petr Krajča (UP) KMI/YOS: Přednáška III. 7. listopad, / 23
23 Samostudium Keprt A. Operační systémy. Kapitoly 9 11, tj. strany Petr Krajča (UP) KMI/YOS: Přednáška III. 7. listopad, / 23
Správa procesoru. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. 11. březen, 2011
Operační systémy Správa procesoru Petr Krajča Katedra informatiky Univerzita Palackého v Olomouci 11. březen, 2011 Petr Krajča (UP) KMI/XOSY: Přednáška III. 11. březen, 2011 1 / 18 Procesy (1/2) neformálně:
Procesy a vlákna (Processes and Threads)
ÚVOD DO OPERAČNÍCH SYSTÉMŮ Ver.1.00 Procesy a vlákna (Processes and Threads) Správa procesů a vláken České vysoké učení technické Fakulta elektrotechnická 2012 Použitá literatura [1] Stallings, W.: Operating
Procesy a vlákna - synchronizace
ÚVOD DO OPERAČNÍCH SYSTÉMŮ Ver.1.00 Procesy a vlákna - synchronizace České vysoké učení technické Fakulta elektrotechnická 2010 Studijní materiály a informace o předmětu http://measure.feld.cvut.cz/vyuka/predmety/bakalarske/navody
Management procesu I Mgr. Josef Horálek
Management procesu I Mgr. Josef Horálek Procesy = Starší počítače umožňovaly spouštět pouze jeden program. Tento program plně využíval OS i všechny systémové zdroje. Současné počítače umožňují běh více
Principy operačních systémů. Lekce 7: Obrana proti deadlocku
Principy operačních systémů Lekce 7: Obrana proti deadlocku Deadlock Deadlock = uváznutí, zablokování Vznik problému: proces drží určité prostředky, požaduje přidělení dalších prostředků, tyto nedostane
Principy operačních systémů. Lekce 6: Synchronizace procesů
Principy operačních systémů Lekce 6: Synchronizace procesů Kritická sekce Při multitaskingu (multithreadingu) různé procesy často pracují nad společnou datovou strukturou (např. zápis a čtení do/z fronty)
PB153 Operační systémy a jejich rozhraní
PB153 Operační systémy a jejich rozhraní Uváznutí 1 Problém uváznutí Existuje množina blokovaných procesů, každý proces vlastní nějaký prostředek (zdroj) a čeká na zdroj držený jiným procesem z této množiny
ÚVOD DO OPERAČNÍCH SYSTÉMŮ
ÚVOD DO OPERAČNÍCH SYSTÉMŮ Ver.1.00 Procesy a vlákna Plánování procesů (Process Scheduling) České vysoké učení technické Fakulta elektrotechnická 2010 Studijní materiály a informace o předmětu http://measure.feld.cvut.cz/vyuka/predmety/bakalarske/navody
Principy operačních systémů. Lekce 5: Multiprogramming a multitasking, vlákna
Principy operačních systémů Lekce 5: Multiprogramming a multitasking, vlákna Multiprogramování předchůdce multitaskingu Vzájemné volání: Implementován procesem (nikoliv OS) Procesu je přidělen procesor,
Spuštění instalace. nastavení boot z cd v BIOSu vložení CD s instal. médiem spuštění PC. nastavení parametrů instalace (F2 čěština)
Instalace OS Linux Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu www.rvp.cz, ISSN: 1802-4785. Provozuje Národní ústav pro vzdělávání,
Paralelní programování
Paralelní programování přednášky Jan Outrata únor duben 2011 Jan Outrata (KI UP) Paralelní programování únor duben 2011 1 / 16 Semafory Await synchronizace používající await běží na železe = využívají
Služba ve Windows. Služba (service) je program
Služby Windows Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu www.rvp.cz, ISSN: 1802-4785. Provozuje Národní ústav pro vzdělávání, školské
2010/2011 ZS. Operační systém. prostředky, zablokování
Principy počítačů a operačních systémů Operační systém prostředky, zablokování Základní pojmy Prostředek cokoliv, k čemu je potřeba hlídat přístup např.hwzařízení, záznamy v DB Odnímatelné vs. neodnímatelné
Obsah. Kapitola 1 Hardware, procesory a vlákna Prohlídka útrob počítače...20 Motivace pro vícejádrové procesory...21
Stručný obsah 1. Hardware, procesory a vlákna... 19 2. Programování s ohledemna výkon... 45 3. Identifikování příležitostí pro paralelizmus... 93 4. Synchronizace a sdílení dat... 123 5. Vlákna v rozhraní
vjj 1. Priority. Dispatcher
13.06.18 vjj 1 Priority Dispatcher 13.06.18 vjj 2 round-robin cyklická fronta připravených vláken 13.06.18 vjj 3 round-robin cyklická fronta připravených vláken čekající vlákna 13.06.18 vjj 4 Priority
Pavel Procházka. 3. prosince 2014
Jazyk C# (seminář 11) Pavel Procházka KMI 3. prosince 2014 Motivace Dnes už se prakticky nedělají jednojádrové procesory pokud potřebujeme výkon, musíme zapojit všechna jádra Často potřebujeme dělat více
Operační systémy. Přednáška 2: Procesy a vlákna
Operační systémy Přednáška 2: Procesy a vlákna 1 Procesy Všechen běžící software v systému je organizován jako množina sekvenčně běžících procesů. (Sekvenční) proces Abstrakce běžícího programu. Sekvence
Principy počítačů a operačních systémů
Principy počítačů a operačních systémů Operační systémy Synchronizace procesů, zablokování Zimní semestr 2011/2012 Přístup ke sdíleným datům Terminologie: souběžné vs. paralelní zpracování Paralelní provádění
Architektura a koncepce OS OS a HW (archos_hw) Architektura a koncepce OS Jádro OS (archos_kernel) Architektura a koncepce OS Typy OS (archos_typy)
Architektura a koncepce OS OS a HW (archos_hw) Aby fungoval OS s preemptivním multitaskingem, musí HW obsahovat: 1. (+2) přerušovací systém (interrupt system) 2. (+2) časovač Při používání DMA: 1. (+1)
Operační systémy. Přednáška 4: Komunikace mezi procesy
Operační systémy Přednáška 4: Komunikace mezi procesy 1 Časově závislé chyby Dva nebo několik procesů používá (čte/zapisuje) společné sdílené prostředky (např. sdílená paměť, sdílení proměnné, sdílené
Paralelní programování
Paralelní programování přednášky Jan Outrata únor duben 2011 Jan Outrata (KI UP) Paralelní programování únor duben 2011 1 / 17 Monitor Semafor vedle aktivní (čekací smyčka, busy-wait) i pasivní implementace
ZOS OPAKOVÁNÍ. L. Pešička
ZOS OPAKOVÁNÍ L. Pešička ZÁKLADNÍ PRAVIDLO Důležité je znát nejen fakta, ale porozumět jim a zasadit je do kontextu celého OS Př. algoritmus Second Chance využívá bitu Referenced tak, že (fakta) a kdy
Von Neumannovo schéma
Multitasking Von Neumannovo schéma RAM 3 ADD SUB ZA input 20 28 010 100 registr dat 2 registr instrukcí op. code adr 7 LOAD 28 mikroprogramy 30 32 LOAD 28 ADD 20 registr adres 1 4 6 R W 30 čítač instrukcí
MS WINDOWS II. Jádro. Správa objektů. Správa procesů. Zabezpečení. Správa paměti
MS WINDOWS II Jádro Správa objektů Správa procesů Zabezpečení Správa paměti JÁDRO I ntoskrnl.exe napsán v C (příp. assembler) základní mechanismy poskytované executivám trap dispečink synchronizace přístupů
Principy operačních systémů. Lekce 4: Správa procesů
Principy operačních systémů Lekce 4: Správa procesů Základní pojmy Program = zápis algoritmu v programovacím jazyce Je statický (neměnný) Proces = instance programu běžícího v počítači Je tvořen nejen
PB002 Základy informačních technologií
Operační systémy 25. září 2012 Struktura přednašky 1 Číselné soustavy 2 Reprezentace čísel 3 Operační systémy historie 4 OS - základní složky 5 Procesy Číselné soustavy 1 Dle základu: dvojková, osmičková,
Paralelní programování
Paralelní programování přednášky Jan Outrata únor květen 2011 Jan Outrata (KI UP) Paralelní programování únor květen 2011 1 / 15 Simulátor konkurence abstrakce = libovolné proložení atom. akcí sekvenčních
Zablokování (Deadlock) Mgr. Josef Horálek
Zablokování (Deadlock) Mgr. Josef Horálek Deadlock = V multiprogramovém prostředí si mohou různé prostředky konkurovat v získaní konečného počtu zdrojů = může se tedy stát, že čekající proces svůj stav
Přidělování CPU Mgr. Josef Horálek
Přidělování CPU Mgr. Josef Horálek Přidělování CPU = Přidělování CPU je základ multiprogramového OS = pomocí přidělování CPU různým procesům OS zvyšuje výkon výpočetního systému; = Základní myšlenka multiprogramování
Téma 3. Procesy a vlákna
Operační systémy a sítě Petr Štěpán, K13133 KN-E-129 stepan@fel.cvut.cz Téma 3. Procesy a vlákna Pojem Výpočetní proces Výpočetní proces (job, task) spuštěný program Proces je identifikovatelný jednoznačné
Výpočet v módu jádro. - přerušení (od zařízení asynchronně) - výjimky - softvérové přerušení. v důsledku událostí
Výpočet v módu jádro v důsledku událostí - přerušení (od zařízení asynchronně) - výjimky - softvérové přerušení řízení se předá na proceduru pro ošetření odpovídající události část stavu přerušeného procesu
Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací.
Trochu teorie Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací. Každá spuštěná aplikace má alespoň jeden proces
Stavy procesů. Požadavky na OS při práci s procesy
Téma 3 Obsah 1. Výpočetní procesy a jejich stavy 2. Stavový diagram procesů 3. Plánovače a přepínání kontextu 4. Typy plánování 5. Vznik a zánik procesu 6. Způsoby kooperace procesů 7. Proces a vlákna
Procesy a vlákna. A3B33OSD (J. Lažanský) verze: Jaro 2014
Téma 3 Obsah 1. Výpočetní procesy a jejich stavy 2. Stavový diagram procesů 3. Plánovače a přepínání kontextu 4. Typy plánování 5. Vznik a zánik procesu 6. Způsoby kooperace procesů 7. Proces a vlákna
Paralelní programování
Paralelní programování přednášky Jan Outrata únor duben 2011 Jan Outrata (KI UP) Paralelní programování únor duben 2011 1 / 11 Literatura Ben-Ari M.: Principles of concurrent and distributed programming.
Synchronizace Mgr. Josef Horálek
Synchronizace Mgr. Josef Horálek Synchronizace procesu = Kooperující proces je proces, který může ovlivnit nebo být ovlivněn jiným procesem právě spuštěným v systému = Spolupracující procesy mohou sdílet:
Procesy a vlákna Mgr. Josef Horálek
Procesy a vlákna Mgr. Josef Horálek Procesy a vlákna = Základním úkolem jádra je = Správa běžících procesů a vláken: = vytváření = plánování = nastavování = ukončování Proces, vlákno, úloha = Proces běžící
Stavy procesů. Požadavky na OS při práci s procesy
Téma 3 Obsah 1. Výpočetní procesy a jejich stavy 2. Stavový diagram procesů 3. Plánovače a přepínání kontextu 4. Typy plánování 5. Vznik a zánik procesu 6. Způsoby kooperace procesů 7. Proces a vlákna
OS Plánování procesů
OS Plánování procesů Tomáš Hudec Tomas.Hudec@upce.cz http://asuei01.upceucebny.cz/usr/hudec/vyuka/os/ Plánování scheduling scheduler plánovač rozhoduje, který proces (vlákno) má CPU řídí se plánovacím
Ukázka zkouškové písemka OSY
Ukázka zkouškové písemka OSY Jméno a příjmení:.......................................... Odpovězte na otázky zaškrtnutím příslušného políčka. Otázky označené znakem mohou mít více než jednu správnou odpověď.
ZOS 9. cvičení, ukázky kódu. Pavel Bžoch
ZOS 9. cvičení, ukázky kódu Pavel Bžoch Obsah Komunikace mezi procesy Atomické operace TSL a CAS Zámky Semafory Semafory vypsání věty Monitor Bariéra pomocí monitoru Implementace semaforu pomocí monitoru
Paralelní programování
Paralelní programování přednášky Jan Outrata únor duben 2011 Jan Outrata (KI UP) Paralelní programování únor duben 2011 1 / 14 Atomické akce dále nedělitelná = neproložitelná jiným procesem izolovaná =
Přidělování zdrojů (prostředků)
Přidělování zdrojů (prostředků) Proces potřebuje zdroje (prostředky) hardware (I/O zařízení, paměť) software (data, programy) Klasifikace zdrojů (z hlediska multitaskingového režimu) Násobně použitelné
09. Memory management. ZOS 2006, L.Pešička
09. Memory management ZOS 2006, L.Pešička Správa paměti paměťová pyramida absolutní adresa relativní adresa počet bytů od absolutní adresy fyzický prostor adres fyzicky k dispozici výpočetnímu systému
Vlákna a přístup ke sdílené paměti. B4B36PDV Paralelní a distribuované výpočty
Vlákna a přístup ke sdílené paměti B4B36PDV Paralelní a distribuované výpočty Minulé cvičení: Paralelizace nám může pomoct... 1 Minulé cvičení: Paralelizace nám může pomoct... B4B36PDV: Ale ne všechny
Operační systémy Tomáš Hudec. 6 Komunikace procesů (IPC) Obsah: 6.1 Klasické problémy souběhu. 6.1.1 Obědvající filosofové
Operační systémy Tomáš Hudec 6 Komunikace procesů (IPC) Obsah: 6.1 Klasické problémy souběhu, 6.1.1 Obědvající filosofové, 6.1.2 Producenti a konzumenti, 6.1.3 Problém spících holičů, 6.1.4 Problém pisatelů
Co mi to tu vlastně běží?
Co mi to tu vlastně běží? Procesy a jejich "běh" ve Windows Patrik Malina (Gopas) www.patrikmalina.eu 2/21/2008 Patrik Malina 1 O čem bude řeč Co vlastně běží ve Windows Pozorování procesů, vláken a běhu
2010/2011 ZS. Operační systém. procesy a vlákna. interakce a synchronizace
Principy počítačů a operačních systémů Operační systém procesy a vlákna plánování interakce a synchronizace Základní pojmy proces vykonávaný program vlákno (thread) oddělení místa vykonávání instrukcí
OS Deadlock a prevence
OS Deadlock a prevence Tomáš Hudec Tomas.Hudec@upce.cz http://asuei01.upceucebny.cz/usr/hudec/vyuka/os/ Prostředky poskytované OS OS poskytuje procesům systémové prostředky (zdroje, resources) HW zařízení,
Téma 3 Procesy a vlákna
Téma 3 Procesy a vlákna Obsah 1. Výpočetní procesy a jejich stavy 2. Stavový diagram procesů 3. Plánovače a přepínání kontextu 4. Typy plánování 5. Vznik a zánik procesu 6. Způsoby kooperace procesů 7.
Pojem Výpočetní proces. Požadavky na OS při práci s procesy. Stavy procesů
Téma 3 Procesy a vlákna Obsah 1 Výpočetní procesy a jejich stavy 2 Stavový diagram procesů 3 Plánovače a přepínání kontextu 4 Typy plánování 5 Vznik a zánik procesu 6 Způsoby kooperace procesů 7 Proces
Řada programovacích jazyků nabízí prostředky pro řešení meziprocesové komunikace jako je synchronizace a řízení přístupu do kritické sekce.
Operační systémy Tomáš Hudec 7 Prostředky programovacích jazyků pro IPC Obsah: 7.1 Monitor, 7.1.1 Použití monitoru pro řízení přístupu do kritické sekce, 7.1.2 Použití monitoru pro synchronizaci, 7.1.3
Vláknové programování část I
Vláknové programování část I Lukáš Hejmánek, Petr Holub {xhejtman,hopet}@ics.muni.cz Laboratoř pokročilých síťových technologií PV192 2015 04 07 1/27 Vláknové programování v C/C++ 1. Procesy, vlákna, přepínání
Semafory Zobecněním operací WAKEUP a SLEEP přidáním celočíselného čítače vzniknou semafory a jejich atomické operace DOWN a UP.
Semafory Zobecněním operací WAKEUP a SLEEP přidáním celočíselného čítače vzniknou semafory a jejich atomické operace DOWN a UP. Dvě sémantiky vzhledem k hodnotám čítače: 1. čítač >= 0 Operace DOWN zkontroluje
Procesy a vlákna IPC Komunikace mezi procesy (IPC = Inter-Process Communication)
ÚVOD DO OPERAČNÍCH SYSTÉMŮ Ver.1.00 Procesy a vlákna IPC Komunikace mezi procesy (IPC = Inter-Process Communication) České vysoké učení technické Fakulta elektrotechnická 2010 Studijní materiály a informace
Lineární datové struktury
Lineární datové struktury doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava Prezentace ke dni 13. března 2017 Jiří Dvorský (VŠB TUO) Lineární datové
Vlákna Co je to vlákno?
Vlákna Co je to vlákno? Hierarchie z pohledu operačního systému: Proces o největší výpočetní entita plánovače o vlastní prostředky, paměť a další zdroje o v závislosti na OS možnost preemptivního multitaskingu
Přidělování paměti I Mgr. Josef Horálek
Přidělování paměti I Mgr. Josef Horálek = Paměť = operační paměť je paměť, kterou přímo využívají procesory při zpracováni instrukci a dat; Paměť Funkce modulu přidělování paměti = Sledování stavu každého
Matematika v programovacích
Matematika v programovacích jazycích Pavla Kabelíková am.vsb.cz/kabelikova pavla.kabelikova@vsb.cz Úvodní diskuze Otázky: Jaké programovací jazyky znáte? S jakými programovacími jazyky jste již pracovali?
Ovladače pro Windows. Ovladače Windows A4M38KRP. Str. 1
Ovladače Windows A4M38KRP Str. 1 Struktura OS Windows Str. 2 Typy ovladačů Str. 3 Typy ovladačů Virtual Device Driver User mode ovladač Virtualizace HW pro DOS aplikace Legacy Driver Pro zařízení nepodporující
Paralelní programování
Paralelní programování cvičení Jan Outrata únor duben 2011 Jan Outrata (KI UP) Paralelní programování únor duben 2011 1 / 13 Cvičení 1 Jazyk C POSIX Threads (UNIX) hlavičkový soubor pthread.h, knihovna
Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012
Přednáška Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského
Operační systémy. Přednáška 1: Úvod
Operační systémy Přednáška 1: Úvod 1 Organizace předmětu Přednášky každé úterý 18:00-19:30 v K1 Přednášející Jan Trdlička email: trdlicka@fel.cvut.z kancelář: K324 Cvičení pondělí, úterý, středa Informace
Architektury paralelních počítačů II.
Architektury paralelních počítačů II. Sekvenční konzistence paměti Implementace synchronizačních událostí Ing. Miloš Bečvář s použitím slajdů Prof. Ing. Pavla Tvrdíka, CSc. Osnova přednášky Opakování definice
Principy operačních systémů. Lekce 1: Úvod
Principy operačních systémů Lekce 1: Úvod Sylabus Lekce 1: Úvod 2 Literatura Lekce 1: Úvod 3 Operační systém Základní programové vybavení počítače, které se zavádí do počítače při jeho startu a zůstává
Paralelní programování
Paralelní programování přednáška 5 Michal Krupka 15. března 2011 Michal Krupka (KI UP) Paralelní programování 15. března 2011 1 / 13 Ještě ke kritickým sekcím Použití v praxi obvykle pomocí zámků (locks)
30. Vlákna, jejich atributy, metody, organizace a stavy. Možnosti synchronizace. (A7B36PVJ)
30. Vlákna, jejich atributy, metody, organizace a stavy. Možnosti synchronizace. (A7B36PVJ) Procesy a vlákna Proces Každá aplikace je vlastně běžící proces. Pokud je aplikace spuštěna vícekrát, vytvoří
Principy operačních systémů
Principy operačních systémů Struktura programového vybavení Uživatelské programy Jádro operačního systému Interpret příkazů Hardware BIOS Služby OS Služební programy Operační systém Operační systém je
PRINCIPY OPERAČNÍCH SYSTÉMŮ
Metodický list č. 1 Název tématického celku: Přehled operačních systémů a jejich funkcí Základním cílem tohoto tematického celku je seznámení se s předmětem (vědním oborem) Operační systémy (OS) a se základními
Přidělování paměti II Mgr. Josef Horálek
Přidělování paměti II Mgr. Josef Horálek Techniky přidělování paměti = Přidělování jediné souvislé oblasti paměti = Přidělování paměti po sekcích = Dynamické přemisťování sekcí = Stránkování = Stránkování
Přednáška. Implementace procesů/vláken. Plánování vláken. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012
Přednáška Implementace procesů/vláken. Plánování vláken. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Příprava studijního programu Informatika je podporována
07. Plánování procesů Deadlock. ZOS 2006, L. Pešička
07. Plánování procesů Deadlock ZOS 2006, L. Pešička Pozvánka na přednášku Xen na ZČU architektura migrace virtuálního stroje reálná konfigurace na ZČU praktická ukázka konfigurace a instalace virtuálního
Stromy, haldy, prioritní fronty
Stromy, haldy, prioritní fronty prof. Ing. Pavel Tvrdík CSc. Katedra počítačů FEL České vysoké učení technické DSA, ZS 2008/9, Přednáška 6 http://service.felk.cvut.cz/courses/x36dsa/ prof. Pavel Tvrdík
Synchronizace procesů
Synchronizace procesů Tomáš Vojnar vojnar@fit.vutbr.cz Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, 612 66 BRNO 11. dubna 2011 Operační systémy Synchronizace procesů Současný
Synchronizace procesů
Synchronizace procesů Tomáš Vojnar vojnar@fit.vutbr.cz Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, 612 66 BRNO 3. dubna 2018 Operační systémy Synchronizace procesů Současný
VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy
VÝUKOVÝ MATERIÁL Identifikační údaje školy Číslo projektu Název projektu Číslo a název šablony Autor Tematická oblast Číslo a název materiálu Anotace Vyšší odborná škola a Střední škola, Varnsdorf, příspěvková
Správa paměti. doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 /
Správa paměti doc. Ing. Miroslav Beneš, Ph.D. katedra informatiky FEI VŠB-TUO A-1007 / 597 324 213 http://www.cs.vsb.cz/benes Miroslav.Benes@vsb.cz Obsah přednášky Motivace Úrovně správy paměti. Manuální
Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií
1 Fakulta elektrotechniky a informatiky Katedra softwarových technologií 12. října 2009 Organizace výuky Přednášky Teoretické základy dle normy jazyka C Cvičení Praktické úlohy odpřednášené látky Prostřední
ZOS. Verze 2010-srpen-31, v3 L. Pešička
ZOS Verze 2010-srpen-31, v3 L. Pešička Základní znalosti vhodné k opakování Rozhodně prosím neberte jako jediný materiál na učení ke zkouškám / státnicím obsahuje jen vybrané části Jde zde o zopakování,
Stavba operačního systému
Stavba operačního systému Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu www.rvp.cz, ISSN: 1802-4785. Provozuje Národní ústav pro vzdělávání,
03. Synchronizace procesů. ZOS 2006, L. Pešička
03. Synchronizace procesů ZOS 2006, L. Pešička Administrativa 1. zápočtový test 7.11.2006 (út), EP130, 18:30 praktická cvičení před testem (slide upraven na aktuální termín) Plánování procesů Krátkodobé
Vzájemné vyloučení procesů
PDV 10 2017/2018 Vzájemné vyloučení procesů Michal Jakob michal.jakob@fel.cvut.cz Centrum umělé inteligence, katedra počítačů, FEL ČVUT Příklad Bankovní server v cloudu. Dva zákaznici současně vloží 10
Logická organizace paměti Josef Horálek
Logická organizace paměti Josef Horálek Logická organizace paměti = Paměť využívají = uživatelské aplikace = operační systém = bios HW zařízení = uloženy adresy I/O zařízení atd. = Logická organizace paměti
Operační systémy. Přednáška 3: Plánování procesů a vláken
Operační systémy Přednáška 3: Plánování procesů a vláken 1 Plánovací algoritmy Určují, který z čekajících procesů (vláken) bude pokračovat. Typy plánování dlouhodobé (long-term scheduling) určuje, které
SUPERPOČÍTAČE DANIEL LANGR ČVUT FIT / VZLÚ
SUPERPOČÍTAČE DANIEL LANGR ČVUT FIT / VZLÚ TITAN / HOPPER / NOTEBOOK TITAN HOPPER NOTEBOOK Počet CPU jader 299 008 153 216 2 Operační paměť [GB] 598 016 217 000 8 Počet GPU (CUDA) jader 50 233 344 0 8
Programování v C++, 2. cvičení
Programování v C++, 2. cvičení 1 1 Fakulta jaderná a fyzikálně inženýrská České vysoké učení technické v Praze Zimní semestr 2018/2019 Přehled 1 Operátory new a delete 2 3 Operátory new a delete minule
Přednáška 11. Historie MS Windows. Architektura Windows XP. Grafické a znakové rozhraní. Úlohy, procesy a vlákna.
Přednáška 11 Historie MS Windows. Architektura Windows XP. Grafické a znakové rozhraní. Úlohy, procesy a vlákna. 1 Historie MS Windows I 1980 1981 1983 1990 1995 1998 2000 8-bitový procesor Intel 8080
Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek
Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek = Velmi malé jádro = implementuje jen vybrané základní mechanismy: = virtuální paměť; = plánování vláken; = obsluha výjimek; = zasílání
Možnosti programování se sdílenými proměnnými. Týden 6 Programování se sdílenými proměnnými (Shared Variables, SV) Procesy a vlákna.
Možnosti programování se sdílenými proměnnými Týden 6 Programování se sdílenými proměnnými (Shared Variables, SV). Sekvenční jazyk + paralelizující kompilátor = zatím málo efektivní (implicitní paralelismus).
Činnost počítače po zapnutí
Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/03.0009 Činnost počítače po zapnutí Paměť RWM(Read Write Memory - paměť pro čtení a zápis, označovaná také jako RAM)
Management procesu II Mgr. Josef Horálek
Management procesu II Mgr. Josef Horálek Vlákna = Vlákna (Threads) = proces je definován množinou zdrojů výpočetního systému, které používá a umístěním, kde je spuštěn; = vlákno (thread) nazýváme lehký
OPERAČNÍ SYSTÉMY VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ PŘIDĚLOVÁNÍ PROCESORU. doc. Dr. Ing. Oldřich Kodym.
VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ OPERAČNÍ SYSTÉMY PŘIDĚLOVÁNÍ PROCESORU doc. Dr. Ing. Oldřich Kodym Ostrava 2013 doc. Dr. Ing. Oldřich Kodym Vysoká škola báňská Technická
Přednáška. Správa paměti I. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012
Přednáška Správa paměti I. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského
Téma 36. Petr Husa
Přesné zadání: Téma 36 Petr Husa husap1@fel.cvut.cz Sdílení prostředků, časově závislé chyby, kritické sekce procesu. Synchronizační nástroje, uváznutí - původ, detekce, prevence. Komponenty JOS pro podporu
4. Úvod do paralelismu, metody paralelizace
4. Úvod do paralelismu, metody paralelizace algoritmů Ing. Michal Bližňák, Ph.D. Ústav informatiky a umělé inteligence Fakulta aplikované informatiky UTB Zĺın Paralelní procesy a programování, Zĺın, 26.
Přijímací zkouška - informatika
Přijímací zkouška - informatika Jméno a příjmení pište do okénka Číslo přihlášky Číslo zadání 1 Algoritmizace a datové struktury 1 Předpokládejme existenci oboustranně spojovaného seznamu prvků (list),
OPS Paralelní systémy, seznam pojmů, klasifikace
Moorův zákon (polovina 60. let) : Výpočetní výkon a počet tranzistorů na jeden CPU chip integrovaného obvodu mikroprocesoru se každý jeden až dva roky zdvojnásobí; cena se zmenší na polovinu. Paralelismus
Přednáška 1. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012
Přednáška 1 Úvod do HW a OS. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012 Příprava studijního programu Informatika je podporována projektem financovaným z Evropského
ČÁST 1. Základy 32bitového programování ve Windows
Obsah Úvod 13 ČÁST 1 Základy 32bitového programování ve Windows Kapitola 1 Nástroje pro programování ve Windows 19 První program v Assembleru a jeho kompilace 19 Objektové soubory 23 Direktiva INVOKE 25