Základy operačních systémů

Slides:



Advertisements
Podobné prezentace
Projektové řízení Modul č.1.
Advertisements

Komunikace periférii.
SOFTWARE dálkové studium PODNIKÁNÍ 2. listopad 2006.
SYSTÉM PŘERUŠENÍ U 68HC11.
Operační systémy. OPERAČNÍ SYSTÉMY pomoc operátorovi, podpora vlastností reálného času, víceuživatelských a více úlohových systémů.
Operační systém Adam Greguš, 4.A.
Komunikace v DS Přednášky z distribuovaných systémů Ing. Jiří Ledvina, CSc.
Principy překladačů Interpretované jazyky Jakub Yaghob.
Audit administrativních činností
7. přednáška konzistence dat (příklad) -multithreading (monoprocesor) -sdílení času -analýza časového kvanta -priorita -přepínání (procesů,
Vzdělávací materiál / DUMVY_32_INOVACE_02B2 Správa procesů AutorIng. Petr Haman Období vytvořeníProsinec 2012 Ročník / věková kategorie2. ročník Vyučovací.
Operační systémy.
Operační systémy.
Ing. Roman Danel, Ph.D. Institut ekonomiky a systémů řízení Hornicko – geologická fakulta.
Operační systém (OS) ICT Informační a komunikační technologie.
13AMP 2. přednáška Ing. Martin Molhanec, CSc.. Stav procesu (kontext) Stav procesu je úplná informace, kterou je nutné uschovat při přerušení procesu,
Správa procesů.
13AMP 3. přednáška Ing. Martin Molhanec, CSc.. Co jsme se naučili naposled I. Co je to kontext úlohy Co je to kontext úlohy Task switching (přepnutí úlohy)
Dokumentace informačního systému
Kontakty Webpage přednášky: – Slajdy (MS PowerPoint): –ftp://ulita.ms.mff.cuni.cz/predn/PRG017 Technické.
PROGRAMOVATELNÉ AUTOMATY CV PROCESY 03 Ing. Jana Horáková Elektrotechnika
Zablokování (deadlock, smrtelné objetí, uváznutí)
Správa procesů.
8. přednáška přepínání kontextu -plánování (pojmy, kritéria, prioritní fronty, vybrané typy) Studijní materiály najdete na adrese:
3. konzultace (5 hodin) Studijní materiály najdete na adrese:
Operační systémy Název a adresa školy
Co je to OS Správce prostředků –spravuje a přiděluje systémové zdroje systému úlohám, stará se o jejich efektivní sdílení procesoru (ů) operační paměti.
Kontakty Webpage přednášky: – Slajdy (MS PowerPoint): –ftp://ulita.ms.mff.cuni.cz/predn/PRG017 Technické.
Operační systémy. Výpočetní systém Stroj na zpracování dat vykonávající samočinně předem zadané operace.
1/28 PB153 OPERAČNÍ SYSTÉMY A JEJICH ROZHRANÍ Vlákna 06.
Základy operačních systémů Meziprocesová komunikace a synchronizace Jakub Yaghob.
Operační systémy. Výpočetní systém Stroj na zpracování dat vykonávající samočinně předem zadané operace.
1/16 PB153 OPERAČNÍ SYSTÉMY A JEJICH ROZHRANÍ Zdeněk Říha 01.
Základy operačních systémů
1/37 PB153 OPERAČNÍ SYSTÉMY A JEJICH ROZHRANÍ Plánování CPU 07.
1/32 PB153 OPERAČNÍ SYSTÉMY A JEJICH ROZHRANÍ Plánování CPU 07.
1/16 PB153 OPERAČNÍ SYSTÉMY A JEJICH ROZHRANÍ Zdeněk Říha 01.
Operační systémy LS 2014/ přednáška 30. března 2015.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Počítačová bezpečnost 2. Bezpečnost v OS © Milan Keršlágerhttp:// Obsah: ● jádro,
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Operační systém (OS) Základní funkce operačního systému: – Zajištění komunikace s okolím. – Řízení a zpracování programů. – Údržba informací na externích.
Uvedení autoři, není-li uvedeno jinak, jsou autory tohoto výukového materiálu a všech jeho částí. Tento projekt je spolufinancován ESF a státním rozpočtem.
Stránkování MATĚJ JURIČIČ 2015/2016 EP1 SPŠ A VOŠ JANA PALACHA KLADNO.
Operační systémy 10. Souběh a uváznutí
Zvídavé otázky 1. Prevence a detekce uváznutí
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 ISSN: 
Operační systémy - úvod
Soubor Soubor v informatice označuje pojmenovanou sadu dat uloženou na nějakém datovém médiu, se kterou lze pracovat nástroji operačního systému jako.
Operační systémy 6. Hardwarové prostředky
DIGITÁLNÍ UČEBNÍ MATERIÁL
UNIX 10. Procesy © Milan Keršláger
1. ročník oboru Mechanik opravář motorových vozidel
PB 169 Počítačové sítě a operační systémy
Počítačová bezpečnost 2. Bezpečnost v OS
Téma 4 – Plánování práce procesorů
Operační systémy 9. Spolupráce mezi procesy
1. ročník oboru Mechanik opravář motorových vozidel
1. ročník oboru Mechanik opravář motorových vozidel
PB 169 Počítačové sítě a operační systémy
Segmentace Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
UNIX 10. Procesy Obsah: algoritmus, program, proces, thread
Práce s procesy Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí Autor:
PB153 OPERAČNÍ SYSTÉMY A JEJICH ROZHRANÍ
Téma 4 – Plánování práce procesorů
Operační systémy.
Přepínání procesů Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Libor Otáhalík. Dostupné z Metodického portálu ISSN: 
Paměť.
Správa procesů.
Transkript prezentace:

Základy operačních systémů Procesy, plánování Jakub Yaghob

Základní pojmy Proces Vlákno (thread) Přerušení (interrupt) spuštěný program Vlákno (thread) oddělení místa vykonávání instrukcí od adresového prostoru Přerušení (interrupt) obsluha synchronní/asynchronní události

Procesy, vlákna - 1 proces vlákno paměť, prostředky, práva hierarchie procesů identifikace procesů (PID) vlákno uživatelský prostor jádro hybrid (m:n)

Procesy, vlákna - 2 Proces Vlákno Adresový prostor Programový čítač Prostředky Registry CPU Práva Zásobník Signály

Vlákna a Linux Linux Ostatní (Windows, Solaris) Nezná vlákna Procesy, které shodou okolností sdílí některé prostředky Speciální vlákna v jádře Ostatní (Windows, Solaris) Explicitní podpora pro vlákna

Stavy procesu

Druhy přerušení Synchronní Asynchronní Polling Záměrně – instrukce TRAP (vstup do OS) Výjimky (exception)– nesprávné chování procesu Asynchronní typicky vnější událost (HW) Polling kontrola stavu zařízení (PP)

Obsluha přerušení OS se ujme řízení uloží se stav CPU analyzuje se přerušení vyvolá se příslušná obsluha obslouží se přerušení obnovení stavu CPU může znamenat přeplánování aplikace pokračuje

Plánování plánovací entita (proces/vlákno) přidělování CPU plánovacím entitám plánovač preemptivní plánování větší OS (Win NT, Unix) nepreemptivní plánování starší nebo malé OS (Win 3.1, PalmOS)

Cíle plánování Spravedlnost Efektivnost Doba odpovědi Průchodnost každý proces dostane CPU Efektivnost využití CPU Doba odpovědi důležité pro interaktivní uživatele Průchodnost max. počet procesů ukončených v čase Minimální režie systému

Kritéria plánování Vázanost procesu na CPU Vázanost procesu na I/O Proces dávkový/interaktivní Priorita Výpadky stránek Skutečný CPU čas

Priority četnost naplánování v čase statická dynamická nemění se v průběhu času daná důležitostí procesu/uživatele dynamická mění se s časem splnění cíle spravedlnosti priorita = statická + dynamická

Plánovací algoritmy - 1 FIFO nepreemptivní kdo dřív přijde, ten dřív mele

Plánovací algoritmy - 2 Round Robin (RR) „kruhová sýkorka“ preemptivní časové kvantum (timeslice)

Plánovací algoritmy - 3 Více front se zpětnou vazbou dynamicky reaguje na vázanost procesů

Plánování v SMP fronta CPU čekajících na připravené procesy aktivní čekání spotřebovává energii pasivní čekání speciální instrukce afinita procesů k CPU

Real-time Obvykle aplikace řízená událostmi Příjem událostí a stavů (např. teploty) z čidel Reakce na stavy a události vyvoláním příslušných úkolů Každý úkol (task) má svůj reálný čas na dokončení (deadline) HW prostředky obvykle předimenzovány Plánování NP-úplný problém heuristiky Hard real-time Propásnutí času dokončení znamená kritický problém Soft real-time Propásnutí času dokončení významný, ale ne kritický problém

Plánování ve Windows – 1 Plánovač Plánuje se na úrovni vláken Není na jednom místě, ale rozprostřen po celém jádře Vlákno se stane připraveným k běhu – vzniklo nebo se odblokovalo Vlákno přestane běžet – došel mu čas, ukončilo se, zablokovalo se Změnily se priority vláken Změnila se svázanost (affinity) s CPU Datové struktury Fronty připravených vláken pro každou prioritu 32-bitová maska priorit s neprázdnou frontou 32-bitová maska volných CPU Vybere se vlákno z nejvyšší neprázdné fronty a přidělí se mu časové kvantum

Plánování ve Windows – 2 Priority 16 real-time úrovní Určeno typicky pro důležitá vlákna jádra Rozsah <16; 31> 15 proměnlivých úrovní Normální vlákna Rozsah <1; 15> 1 systémová úroveň Úroveň 0 Vlákno pro nulování stránek Dynamické priority v rozsahu <-2; 2> od základní Třídy priorit Real-time (24), High (13), Above Normal (10), Normal (8), Below Normal (6), Idle (4)

Plánování ve Windows – 3 Časová kvanta Na počátku vlákno má nastaveno 6 pro Workstation, 36 pro Server Při každém příchodu časovače se od kvanta odečte 3 na Workstation, 12 na Serveru Pokud je časové kvantum vyčerpáno, přeplánuje se Frekvence časovače je závislá na HAL 10ms na x86 jednoprocesoru 15ms na x86 MPS Pokud se vlákno zablokuje před příchodem časovače, odečte se 1

Plánování ve Windows – 4 Zvýšení (boost) priority Zvýšení vzhledem k jeho základní prioritě Vlákno běží jedno časové kvantum se zvýšenou prioritou Důvody Pří ukončení I/O operace Po ukončení čekání na synchronizační primitivum (semafor, …) Proces na popředí po ukončení čekání Vlákno s oknem po příchodu zprávy Ochrana před nenaplánováním Každou vteřinu se kontroluje (po 16), zda neexistuje vlákno, které neběželo déle než 300 tiků

Plánování ve Windows – 5 Plánovací scénáře Chtěné přepnutí Preempce Typicky čekání na I/O, synchronizační primitivum Vlákno do zablokovaného stavu Vybere se další Časové kvantum se zmenší o 1 po probuzení Preempce Objevilo se připravené vlákno s vyšší prioritou Odstraněné vlákno se umístí na začátek fronty příslušné priority Vyčerpání časového kvanta Zařazen na konec své prioritní fronty

Plánování ve Windows – 6 Plánování na SMP Každé vlákno má dvě čísla Ideální CPU – generováno náhodně při vzniku vlákna Poslední CPU – kde naposledy běželo Kam naplánovat? Pokud je nějaký volný CPU Ideální, poslední, aktuální, libovolný Pokud není volný CPU Může udělat preempci? Ideální, poslední, nejvyšší z možných Podle priority běžícího vlákna se buď stane běžícím nebo zařazen do příslušné prioritní fronty

Plánování v Linuxu – 1 Složitost O(1) Výborná SMP škálovatelnost Bez ohledu na počet procesů v systému Výborná SMP škálovatelnost Každý CPU má vlastní frontu Zlepšená SMP afinita Seskupování procesů na CPU, balancování front Dobrý výkon pro interaktivní procesy Spravedlnost Žádný proces nestojí moc dlouho, žádný naopak nedostane příliš velký timeslice Optimalizován pro 1-2 běžící procesy Rozumně škáluje i pro více

Plánování v Linuxu – 2 Runqueue Přepočítání timeslice Pro každý CPU Dvě prioritní fronty Aktivní – procesy s nenulovým timeslice Vyčerpaní – procesy s vyčerpaným timeslice Bitová maska obsazenosti pro jednotlivé priority 140 bitů Přepočítání timeslice Při vyčerpání před přesunutím do prioritní fronty vyčerpaných Po vyčerpání všech se pouze prohodí prioritní fronta aktivních a vyčerpaných

Plánování v Linuxu – 3 Naplánování Priority a timeslice Nalezení první neprázdné priority v aktivní prioritní frontě pomocí bitové masky Vybere první proces z vybrané priority Priority a timeslice Počáteční statická priorita (nice) rozsah <-20; 19>, default 0 Dynamická priorita Počítána na základě interaktivity procesu Heuristicky na základě toho, jak dlouho proces spí – vázán na I/O Úprava priority v rozsahu <-5; 5>

Plánování v Linuxu – 4 Vyvažování front na SMP Volání Pokud je fronta prázdná Jednou za 1ms, když se nic neděje, jinak každých 200ms Nalezení nejdelší fronty Musí být o 25% delší než ostatní Nalezení prioritní fronty Preferována fronta vyčerpaných procesů (asi nejsou v cache) Nejvyšší priorita Nalezení procesu Neběží, není svázán s CPU Přesunut do mé fronty Opakuj předchozí dva kroky, dokud není vyváženo