vjj 1. Priority. Dispatcher

Podobné dokumenty
ÚVOD DO OPERAČNÍCH SYSTÉMŮ

Von Neumannovo schéma

Stavba operačního systému

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řidělování CPU Mgr. Josef Horálek

Přednáška 11. Historie MS Windows. Architektura Windows XP. Grafické a znakové rozhraní. Úlohy, procesy a vlákna.

MS WINDOWS II. Jádro. Správa objektů. Správa procesů. Zabezpečení. Správa paměti

Operační systémy. Přednáška 3: Plánování procesů a vláken

07. Plánování procesů Deadlock. ZOS 2006, L. Pešička

Správa procesoru. Petr Krajča. Katedra informatiky Univerzita Palackého v Olomouci. 11. březen, 2011

Procesy a vlákna (Processes and Threads)

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

OS Plánování procesů

Management procesu I Mgr. Josef Horálek

Principy operačních systémů. Lekce 4: Správa procesů

Synchronizace vjj 1

Procesy a vlákna Mgr. Josef Horálek

Co mi to tu vlastně běží?

Windows a real-time. Windows Embedded

Operační systémy. Přednáška 2: Procesy a vlákna

Ovladače pro Windows. Ovladače Windows A4M38KRP. Str. 1

Poslední aktualizace: 25. května 2017

operační systém vjj 1

Principy operačních systémů

PB153 Operační systémy a jejich rozhraní

OPERAČNÍ SYSTÉMY VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ PŘIDĚLOVÁNÍ PROCESORU. doc. Dr. Ing. Oldřich Kodym.

Operační systémy. Tomáš Hudec.

Stručný obsah. Rejstřík 463

Petr Holášek / 1 of 21

Paralelní programování

Poslední aktualizace: 21. května 2015

Služba ve Windows. Služba (service) je program

Metody připojování periferií BI-MPP Přednáška 2

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)

GUIDELINES FOR CONNECTION TO FTP SERVER TO TRANSFER PRINTING DATA

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)

MKZ III. Windows CE architektura. Procesy, vlákna, plánování Správa paměti GWES Souborový systém

Stavy procesů. Požadavky na OS při práci s procesy

Procesy a vlákna. A3B33OSD (J. Lažanský) verze: Jaro 2014

Téma 4 Plánování práce procesorů

Stavy procesů. Požadavky na OS při práci s procesy

Téma 3. Procesy a vlákna

ZOS. Verze 2010-srpen-31, v3 L. Pešička

Principy operačních systémů. Lekce 5: Multiprogramming a multitasking, vlákna

Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Principy operačních systémů. Lekce 1: Úvod

Asynchronní programování v.net

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í

Pavel Procházka. 3. prosince 2014

Když se Linux nevejde. Jiné operační systémy Lenka Kosková Třísková, LinuxDays2018

Real Time programování v LabView. Ing. Martin Bušek, Ph.D.

BI-JPO. (Jednotky počítače) M. Sběrnice

Logická organizace paměti Josef Horálek

vjj 1. Windows programming. krátká nahlédnutí za oponu

Vývoj aplikačních programů pro systémy DAQ Možnosti vývoje aplikačního SW Jazyk C/C++ Pokročilé techniky programování Vícevláknové aplikace

Ukázka zkouškové písemka OSY

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

Pojem Výpočetní proces. Požadavky na OS při práci s procesy. Stavy procesů

Téma 3 Procesy a vlákna

Operační systémy. Tomáš Vojnar IOS 2009/2010. Vysoké učení technické v Brně Fakulta informačních technologií Božetěchova 2, Brno

Monitoring SQL Server, Resource Governor, Tracing SQL Server

Aleš Keprt Univerzita Palackého v Olomouci listopad 2008, listopad 2009 PARALLEL FX A PARALELNÍ PROGRAMOVÁNÍ NA PLATFORMĚ.NET 4.0

Virtuální přístroje. Použitá literatura. Operační systémy, vývoj aplikačních programů, speciální techniky programování

Operační systémy pro systémy sběru dat (=DAQ systems). Vývoj aplikačních programů. Operační systémy pro DAQ RTOS VxWorks Windows CE RTX LabVIEW RT

Úvod do Linuxu. SŠSI Tábor 1

Předmět: Operační systémy

Univerzita Karlova v Praze. Matematicko-fyzikální fakulta BAKALÁŘSKÁ PRÁCE. Jan Dolejš. Úprava některých vlastností vláken v jádře Windows

Operační systémy. Přednášky pro výuku předmětu. I ng. Antonín Vaněk, CSc. DFJP, Univerzita Pardubice září 2003

Memory Management vjj 1

Von Neumannovo schema počítače

Přidělování paměti I Mgr. Josef Horálek

ZOS OPAKOVÁNÍ. L. Pešička

Činnost počítače po zapnutí

Vláknové programování část I

Procesy a vlákna - synchronizace

MANUÁL PRÁCE S HELPDESK VÁŠ SUPPORTNÍ TÝM SPOLEČNOSTI AXIOM PROVIS INT., S.R.O.

Česká letecká servisní a. s.

Implementace systémů HIPS: historie a současnost. Martin Dráb

Základy programování Operační systémy (UNIX) doc. RNDr. Petr Šaloun, Ph.D. VŠB-TUO, FEI (přednáška připravena z podkladů Ing. Michala Radeckého)

MetaCentrum - Virtualizace a její použití

Cvičení č. 5. Programování ve Windows program stopky 3 Body

úvod vjj 1

Vlákna a přístup ke sdílené paměti. B4B36PDV Paralelní a distribuované výpočty

IT ESS II. 1. Operating Systém Fundamentals

Operační systémy a databáze

PB153 OPERAČNÍ SYSTÉMY A JEJICH ROZHRANÍ

PB153 Operační systémy a jejich rozhraní

RNDr. Michal Kopecký, Ph.D. Department of Software Engineering, Faculty of Mathematics and Physics, Charles University in Prague

Paralelní a distribuované výpočty (B4B36PDV)

PRINCIPY OPERAČNÍCH SYSTÉMŮ

2010/2011 ZS. Operační systém. procesy a vlákna. interakce a synchronizace

Obsah. 1.1 Klienti SQL Serveru. 1.1 Klienti SQL Serveru SQL Server agent Nastavení databáze Systémový katalog...

Pronunciation: \ ske-(,)jül, -jəl, Canada also she-, British usually she-(,)dyül\

Operační systémy (OS)

PROGRAMOVÁNÍ ŘÍDÍCÍCH SYSTÉMŮ

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.

Operační systémy. Přednáška 4: Komunikace mezi procesy

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

MANUÁL PRÁCE S HELPDESKOVÝM SYSTÉMEM SPOLEČNOSTI AXIOM PROVIS Int., S.R.O. VÁŠ SUPPORTNÍ TÝM

Transkript:

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 vlákna ve frontě jsou seřazena podle priorit, tj. vyšší priorita umožňuje předbíhat proč? foreground x background aplikace x systém kdo? uživatel (?) programátor uživatelských aplikací (?) programátor serverových aplikací administrátor serverových aplikací

Priority - pro uživatele (?) > pgm.exe > START pgm.exe > START /NORMAL pgm.exe > START /LOW pgm.exe > START /HIGH pgm.exe > START /REALTIME pgm.exe Windows Task Manager záložka Processes process local menu (mouse right button) Set Priority RealTime, High, Above Normal, Normal, Below Normal, Low 13.06.18 vjj 5

Priority - pro uživatele (?) > pgm.exe > START pgm.exe > START /NORMAL pgm.exe > START /LOW pgm.exe > START /HIGH pgm.exe > START /REALTIME pgm.exe Windows Task Manager záložka Processes process local menu (mouse right button) Set Priority RealTime, High, Above Normal, Normal, Below Normal, Low 13.06.18 vjj 6

Priority - pro uživatele (?) > pgm.exe > START pgm.exe > START /NORMAL pgm.exe > START /LOW pgm.exe > START /HIGH pgm.exe > START /REALTIME pgm.exe Windows Task Manager záložka Processes nebo Details process local menu (mouse right button) Set Priority > RealTime, High, Above Normal, Normal, Below Normal, Low 13.06.18 vjj 7

Windows Priority

13.06.18 vjj 9 pgm - priorita procesu DWORD PrioritaProcesu = GetPriorityClass (HANDLE hprocess) ; BOOL SetPriorityClass ( HANDLE hprocess, DWORD PrioritaProcesu ) ;

13.06.18 vjj 10 proces - vlákno Priorita procesu Normální priorita vlákna IDLE_PRIORITY_CLASS 4 NORMAL_PRIORITY_CLASS HIGH_PRIORITY_CLASS 13 REALTIME_PRIORITY_CLASS 24 7 (background) 8 9 (foreground)

13.06.18 vjj 11 pgm - priorita vlákna int PrioritaVlákna = GetThreadPriority (HANDLE hthread) ; BOOL SetThreadPriority (HANDLE hthread, int PrioritaVlákna) ; THREAD_PRIORITY_IDLE 1 (16 pro realtime) THREAD_PRIORITY_LOWEST Normal 2 THREAD_PRIORITY_BELOW_NORMAL Normal 1 THREAD_PRIORITY_NORMAL Normal (viz priorita procesu) THREAD_PRIORITY_ABOVE_NORMAL Normal + 1 THREAD_PRIORITY_HIGHEST Normal + 2 THREAD_PRIORITY_TIME_CRITICAL 15 (31 pro realtime)

Windows "realtime" třída priorit "realtime" je jen formálním označením a nemá se zpracováním v reálném čase nic společného přiřazení úrovně "realtime" vyžaduje privilegium "increase scheduling priority "

13.06.18 vjj 13 dynamické priority Po ukončení I/O operací (base +1... +8, pak postupně zpět) Po skončení čekání na událost nebo semafor (base +1, pak postupně zpět) Po skončení čekání vlákna foregroundového procesu na objekt jádra (current +PsPrioritySeparation, pak postupně zpět) GUI thread je vzbuzen díky "windowing activity" (= přišla nová zpráva) (navíc +2, pak postupně zpět) Pokud připravený thread už nějaký čas (~300 ticks) neběžel (CPU starvation) (->15 a 2x/4x delší kvantum, pak okamžitě zpět)

13.06.18 vjj 14 Preemptivní multitasking Thread dobrovolně opustil "running state", protože začal čekat (wait state event, semaphor, I/O, process, thread, zpráva,..) priority < 14 : kvantum = kvantum 1 priority 14 : kvantum = full Vlákno vyčerpalo přidělené časové kvantum Vlákno skončilo (nebo bylo ukončeno) Preempce Thread s vyšší prioritou skončil čekání Priorita aktivního vlákna byla změněna

13.06.18 vjj 15 Rescheduling Thread změnil stav na připraven např. thread byl nově vytvořen nebo právě ukončil čekání (wait state) Thread opustil "running state", protože mu vypršelo kvantum nebo začal čekat (wait state) změnila se priorita vlákna díky volání služby systému nebo proto, že ji změnily samotné Windows změnila se procesorová afinita vlákna

13.06.18 vjj 16 problém Systém (Task Manager, Dispatcher, Memory Manager,...) provádí změny ve frontách vláken (pořadí ve frontě, přesun mezi frontami,...) interrupt vyvolá požadavek na změnu ve frontách vláken

IRQL Dispatcher Priority 13.06.18 vjj 17

13.06.18 vjj 18 alternativa pro samostudium Process Scheduling Paul Krzyzanowski, Computer Science Department at Rutgers University at the New Brunswick https://www.cs.rutgers.edu/~pxk/416/notes/07- scheduling.html