OS MP, RT a vestavěné systémy



Podobné dokumenty
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

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

OPS Paralelní systémy, seznam pojmů, klasifikace

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)

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

Přidělování CPU Mgr. Josef Horálek

OS Plánování procesů

Přednáška 1. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Procesy a vlákna (Processes and Threads)

Programování systémů reálného času A3M35PSR, A4B35PSR

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

Operační systémy. Přednáška 1: Úvod

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

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 TECHNICKÉ VYBAVENÍ POČÍTAČŮ

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

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

Pokročilé architektury počítačů

Systémy pro sběr a přenos dat

Windows a real-time. Windows Embedded

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

Základy informatiky. 2. Přednáška HW. Lenka Carr Motyčková. February 22, 2011 Základy informatiky 2

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

Disková pole (RAID) 1

Přehled paralelních architektur. Dělení paralelních architektur Flynnova taxonomie Komunikační modely paralelních architektur

Paralelní systémy. SIMD jeden tok instrukcí + více toků dat jedním programem je zpracováváno více různých souborů dat

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

Řízení IO přenosů DMA řadičem

3. Počítačové systémy

Disková pole (RAID) 1

PB002 Základy informačních technologií

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

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

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

Profilová část maturitní zkoušky 2014/2015

Architektura počítače

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

Počítač jako prostředek řízení. Struktura a organizace počítače

Management procesu I Mgr. Josef Horálek

Systém adresace paměti

Vrstvy programového vybavení Klasifikace Systémové prostředky, ostatní SW Pořizování Využití

Topologická struktura měřicích systémů

Struktura počítačů z{kladní pojmy

Datasheet SanDisk Řada PCIe-SSD Fusion iomemory PX600 Server

Server je v informatice obecné označení pro počítač, který poskytuje nějaké služby nebo počítačový program, který tyto služby realizuje.

Principy operačních systémů

Počítač jako elektronické, Číslicové zařízení

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Přidělování zdrojů (prostředků)

Miroslav Tichý, tic136

AKTIVNÍ RFID SYSTÉMY. Ing. Václav Kolčava vedoucí vývoje HW COMINFO a.s.

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit

Paralelní programování

Profilová část maturitní zkoušky 2015/2016

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

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

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

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

Optimalizaci aplikací. Ing. Martin Pavlica

Paměťový podsystém počítače

Architektura Intel Atom

Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010

1 Osobní počítač Obecně o počítačích Technické a programové vybavení... 4

Management sítí OSI management framework SNMP Komerční diagnostické nástroje Opensource diagnostické nástroje

Disková pole (RAID) 1

Roman Výtisk, VYT027

FPGA + mikroprocesorové jádro:

Témata profilové maturitní zkoušky

Stavba operačního systému

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE

Pohled do nitra mikroprocesoru Josef Horálek

VYUŽITÍ PYTHONU PRO REALTIMOVÉ ŘÍZENÍ PERIFERIÍ

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

Výpočetní technika. PRACOVNÍ LIST č. 7. Ing. Luděk Richter

OPERAČNÍ SYSTÉMY. Operační systém je prostředník mezi hardwarem (technickým vybavením počítače) a určitým programem, který uživatel používá.

Architektura procesoru ARM

VYSOKÁ ŠKOLA BÁŇSKÁ TECHNICKÁ UNIVERZITA OSTRAVA FAKULTA STROJNÍ DATABÁZOVÉ SYSTÉMY ARCHITEKTURA DATABÁZOVÝCH SYSTÉMŮ. Ing. Lukáš OTTE, Ph.D.

Základy logického řízení

4. Úvod do paralelismu, metody paralelizace

SMART GRID SYSTEM TECHNOLOGIE PRO ANALYTIKU A SPRÁVU ENERGETICKÝCH SÍTÍ. Představení společnosti Analyzátor sítě

Procesy a vlákna Mgr. Josef Horálek

Endura 2.0 Nová generace CCTV IP systémů s Full-HD rozlišením Endura Optimalizace HD

Úloha OS, prostředky počítače, představa virtuálního počítače

09. Memory management. ZOS 2006, L.Pešička

Operační systémy 2. Přednáška číslo 1. Úvod do OS

Zvýšení spolehlivosti a diagnostika operačních systémů pracujících v reálném čase

PRINCIPY OPERAČNÍCH SYSTÉMŮ

Automatická regulace spojité řízení (P, PI, PD, PID), nespojité řízení, fuzzy řízení,

Logická organizace paměti Josef Horálek

Paralelní výpočty ve finančnictví

Paralelní programování

Přenos signálů, výstupy snímačů

Přerušovací systém s prioritním řetězem

Obsah. Kapitola 1 Hardware, procesory a vlákna Prohlídka útrob počítače...20 Motivace pro vícejádrové procesory...21

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

Distribuovaný systém je takový systém propojení množiny nezávislých počítačů, který poskytuje uživateli dojem jednotného systému.

Představení a vývoj architektur vektorových procesorů

Von Neumannovo schéma

Principy operačních systémů. Lekce 6: Synchronizace procesů

Transkript:

OS MP, RT a vestavěné systémy Tomáš Hudec Tomas.Hudec@upce.cz http://asuei01.upceucebny.cz/usr/hudec/vyuka/os/

Kategorie počítačových systémů SISD (single instruction, single data) jeden procesor zpracovává jednu množinu dat jedním proudem instrukcí SIMD (single instruction, multiple data) jedním proudem instrukcí zpracovává více procesorů více různých množin dat každá instrukce se provede současně v n procesorech každý procesor zpracovává jiná data

Kategorie počítačových systémů MISD (multiple instruction, single data) více procesorů provádí různé operace nad jednou množinou dat v podstatě nebylo nikdy realizováno MIMD (multiple instruction, multiple data) více procesorů zpracovává různými proudy instrukcí více různých množin dat

MP systémy podle vazby MP systém s volnou vazbou loosely coupled každý procesor má vlastní operační paměť a V/V subsystém různé typy vazby společná sběrnice Common Bus (např. VME) společné disky Common Disk nic společného Common Nothing (vazba LAN) MP systém s těsnou vazbou tightly coupled procesory sdílejí operační paměť řízen jedním operačním systémem

MP systémy podle symetrie symetrický víceprocesorový systém SMP procesory jsou shodné jádro OS může provádět libovolný procesor procesy i vlákna lze provádět libovolným procesorem asymetrický víceprocesorový systém procesory jsou funkčně specializované V/V procesory, grafické procesory, FPU apod. sytém je řízen centrálním procesorem

Granularita úlohy každou úlohu můžeme rozčlenit na úseky, které lze provést samostatně pokud jeden úsek potřebuje pro svoji činnost výsledky jiného, musí na tyto výsledky čekat takové úseky lze ve víceprocesorovém systému provádět paralelně na různých procesorech je nutná komunikace a synchronizace různé typy úloh se liší velikostí a počtem takových úseků

Granularita a stupeň vazby (1) hrubě granulovaná úloha vhodné jsou kooperující procesy jemněji granulovaná úloha úseky kratší požadavky na komunikaci a synchronizaci častější vhodnější jsou vlákna pokud běží na oddělených procesorech, přinášejí výrazné zvýšení výkonnosti čím je vazba MP systému volnější, tím větší časové ztráty přináší komunikace a synchronizace

Granularita a stupeň vazby (2) pro hrubě granulované úlohy postačí MP systém s volnou vazbou je obvykle levnější pro jemně granulované úlohy je nutné použít MP systém s těsnou vazbou jinak by paralelní řešení nebylo efektivní

Paralelismus (1) nezávislý paralelismus v jednotlivých procesorech běží nezávislé procesy nevyžaduje synchronizaci zkrácení střední doby odezvy pro uživatele velmi hrubý paralelismus distribuované zpracování rozptýlené do více uzlů sítě představujících jedno výpočetní prostředí počítačové shluky (clusters) vhodný, když interakce mezi procesy nejsou časté přenos zpráv sítí zpomalí komunikaci

Paralelismus (2) hrubý paralelismus jako provádění více procesů na jednom procesoru (multiprocesing), ale rozložené na víc procesorů střední paralelismus paralelní zpracování nebo multitasking v rámci jedné aplikace jedna aplikace je tvořena více vlákny interakce mezi vlákny jsou obvykle časté

Plánování procesů na MP fronta připravených procesů pro všechny procesy jedna (globální) pro každou prioritu samostatná všechny fronty plní společnou zásobárnu (pool) procesorů procesu se přiřadí první volný procesor složitější plánovací algoritmy se při použití více procesorů obvykle nepoužívají

Plánování vláken na MP sdílení zátěže (load sharing) skupinové plánování (gang scheduling) související vlákna jsou plánována tak, aby běžela na různých procesorech současně pevné přiřazení procesoru (dedicated processor assignment) žádný proces není přiřazen k určitému procesoru vlákna jsou přiřazena specifickému procesoru dynamické plánování (dynamic scheduling)

Sdílení zátěže zátěž se rozděluje mezi procesory náhodně zajišťuje, aby žádný procesor nezůstal nevyužitý není potřebný centralizovaný plánovač používá globální fronty

Nevýhody sdílení zátěže globální fronta vyžaduje výlučný přístup je nepravděpodobné, že přerušené vlákno bude znovu spuštěno ve stejném procesoru představuje úzký profil, jestliže o přidělení práce žádá více procesorů najednou snižuje se efektivita použití cache jestliže v globální frontě čekají všechna vlákna, nebudou všem vláknům jednoho procesu přiděleny procesory ve stejnou dobu

Skupinové plánování všem vláknům tvořícím jeden proces (thread gang) se přidělují procesory současně užitečné pro aplikace, jejichž výkonnost by výrazně poklesla, kdyby některá část aplikace neběžela vlákna obvykle vyžadují vzájemnou synchronizaci

Pevné přiřazení procesoru když se plánuje spuštění aplikace, jsou všem jejím vláknům napevno přiřazeny procesory některé procesory mohou zůstat nevyužity brání přepínání procesů

Dynamické plánování počet vláken procesu se může dynamicky měnit OS upravuje zátěž s cílem zlepšit využití systému obsazuje volné procesory nově příchozím může být přiřazen procesor obsazený úlohou, která právě používá více než jeden procesor požadavek trvá, dokud není k dispozici volný procesor nově příchozí dostanou procesor ještě před existujícími běžícími aplikacemi

Reálný čas a počítač úlohy a procesy v počítači mohou být reakcí na události v okolí systému nebo mají takové události vyvolat události v okolí systému probíhají v reálném čase počítač nemá na tok času vliv procesy s nimi musí držet krok musí např. dokázat řídit chemickou reakci tak, aby nedošlo k jejímu nechtěnému zastavení nebo naopak k explozi

Správná funkce systémů správná funkce systému nezávisí pouze na formální správnosti výpočtů, ale také na tom, kdy jsou výsledky k dispozici! opožděně získané výsledky pro nás ztrácejí význam výsledky výpočtů ztrácejí časem aktuálnost opoždění výsledku nás může i ohrozit

Systémy pracující v reálném čase RT (Real-Time) Systems pojem obvykle používáme pro oblast technických kybernetických systémů výstupy mohou být závislé na aktuálních hodnotách vstupů (kombinační automat) aktuálních hodnotách a historii vstupů (sekvenční automat, systém s pamětí) oba typy lze realizovat bez počítače, ale druhý typ se dnes obvykle realizuje pomocí počítače systémy s pamětí mohou být samoučící (mohou měnit pravidla chování na základě získaných zkušeností)

Systémy pracující v reálném čase příklady řízení výrobních procesů robotika řízení letového provozu telekomunikační systémy řízení laboratorních experimentů řízení chemických reakcí

Specifické požadavky RTS zpracování dat ve stanoveném časovém limitu minimalizace rizika selhání systému zpoždění přenosu může způsobit nestabilitu nebo nefunkčnost systému v oblastech, kde selhání ohrožuje lidské životy, musí systém vyhovovat zvláštním předpisům (homologace, dependabilita) konstrukční a signálová unifikace v systému lze kombinovat produkty různých stran snižuje vývojové, výrobní i provozní náklady

Minimalizace rizika selhání systému vysoce spolehlivý a odolný hardware redundance prvků a subsystémů (HW i SW) redundantní subsystémy a komunikační cesty záložní řídicí prvky nebo distribuované řízení týká se OS! řízená výkonová degradace systému v případě poruchy při snížení výkonnosti v důsledku poruchy plní systém pouze kritické úlohy (mission-critical)

Real Time Operating System operační systém pro počítače pracující v reálném čase RTOS je charakterizován deterministickým chováním operace se provádějí v pevných předem určených časech nebo v předem určených časových intervalech u každé operace je známo, kdy nejpozději skončí krátkou dobou odezvy vysokou spolehlivostí

Doba odezvy čas, ve kterém musí systém přiměřeně reagovat na událost časové měřítko je relativní někdy může být sekunda příliš dlouhý čas, jindy na nějaké té sekundě nezáleží závisí na aplikační oblasti stovky mikrosekund např. řízení reaktoru až desítky sekund např. systém pro rezervaci letenek

Doba odezvy exaktně doba odezvy za jak dlouho operační systém reaguje na požadavek přerušení tento čas nesmí překročit předem stanovenou hodnotu skládá se z doby latence (interrupt latence) doba mezi okamžikem příchodu požadavku na přerušení a okamžikem, kdy se začne provádět odpovídající obslužný program a doby obsluhy přerušení (interrupt processing) doba potřebná k vlastnímu zpracování přerušení

Spolehlivost mission critical system dependable system porucha může mít katastrofální důsledky systém natolik spolehlivý a bezpečný, že na něm můžeme být zcela závislí FT (fault tolerant) system systém odolný proti poruchám porucha může snížit výkonnost systému, ale nesmí ho vyřadit z funkce přednost mají úlohy kritické pro funkci systému, úlohy s nižší prioritou se provádějí, jen když na ně zbývá čas

Typické vlastnosti RTOS (1) rychlé přepínání kontextu např. pro každou přerušovací úroveň samostatná sada registrů aby se při přerušení nemusely ukládat registry preemptivní plánování založené na prioritách preempce umožňuje systému rychlou reakci na přerušení multitasking s komunikací procesů semafory, signály, fronty zpráv,

Typické vlastnosti RTOS (2) rychlý souborový systém rychlá komunikace procesů spolupracující procesy musí být schopny rychle komunikovat a vzájemně se synchronizovat speciální systémové služby musí umožňovat rychlé čtení a ukládání dat alarm, timeout apod. malé rozměry OS obsahuje jen nejnutnější prvky

Specifické požadavky na procesy v RTOS některé procesy musí být trvale v oper. paměti práva a priority procesů závisí na úlohách, které plní odložení na disk nepřípustné prodloužení odezvy procesy důležité pro správné chování a bezpečnost systému musí mít přednost minimalizace intervalů se zákazem přerušení např. pro řešení kritických oblastí se nepoužívá zablokování přerušení

Rozdělení RTS obecně neplatí, že v reálném čase znamená velmi rychle hard real time soft real time existují absolutní časové limity, při jejichž překročení je odezva zcela bezcenná, systém selže časové limity jsou pouze přibližné, jejich překročení pouze sníží užitečnost systému firm real time odezva po časovém limitu je bezcenná, nicméně systém může snést několik málo zmeškání

Plánování v reálném čase (1) statické (table driven) tabulkami je přesně stanoveno, kdy která úloha má být spuštěna tabulky pro všechny možné úlohy jsou vytvořeny před spuštěním systému dynamické (planning based, best effort) plánuje se dynamicky za běhu systému

Plánování v reálném čase (2) preemptivní běžící proces může být přerušen procesem s vyšší prioritou př.: fixed priority preemptive scheduling preemptivní se statickými prioritami nepreemptivní běžící proces nesmí být přerušen proces se může vzdát běhu na procesoru sám př.: cooperative scheduling kooperativní plánování

Termínové plánování EDF (Earliest Deadline First) pro aplikace reálného času není důležitá rychlost, ale provedení úlohy ve stanoveném čase ke spuštění lze vybrat úlohu s nejbližším požadovaným časem zahájení (deadline) minimalizuje se podíl úloh, které nejsou dokončeny v požadovaném termínu bere v úvahu nové úlohy a čas potřebný pro již rozpracované úlohy

Výhody termínového plánování EDF je optimální na preemptivních jednoprocesorových systémech je-li systém je plánovatelný, EDF naplánuje úlohy tak, že budou termíny vždy dodrženy systém je plánovatelný, pokud suma časů potřebných na obsloužení událostí dělená jejich periodami je menší nebo rovna jedné n Ci T 1 i=1 i

Nevýhody termínového plánování při přetížení systému je chování nepředvídatelné chování je závislé na termínech a na čase, kdy nastalo přetížení implementace v HW je náročná reprezentování termínů různého rozsahu je poněkud komplikované termíny se musí reprezentovat konečnými čísly

Plánování RT úloh FCFS bez preempce (obrázek) výchozí předpoklady First-Come First-Served (nepreemptivní)

Plánování RT úloh EDF s preempcí (obrázek) výchozí předpoklady Earliest Deadline First (preemptivní)

Plánování RT úloh EDF bez preempce (obrázek) výchozí předpoklady Earliest Deadline First (nepreemptivní)

RTOS příklady QNX [kjunix] nebo [kjú en ex] unixový systém založený na mikrojádře určen zejména pro vestavěné systémy RTLinux modifikace Linuxu s RT jádrem VxWorks určen zejména pro vestavěné systémy Windows CE a další: LynxOS, ecos, ThreadX, RTEMS, OS-9

Vestavěné systémy embedded systems [imbedid] počítačové systémy, které jsou součástí jiných (obvykle technických) systémů obvykle představují jejich řídicí složku nebo tvoří jejich podsystémy obvyklá je schopnost práce v reálném čase

Vestavěné systémy (obrázek)

OS ve vestavěných systémech OS transparentní pro uživatele jeho činnost se uživateli jeví jako funkce podsystému nebo aplikace nevyžaduje zvláštní údržbu nevyžaduje zvláštní znalosti

Podíl vestavěných systémů na trhu s mikroprocesory ročně se prodá asi 8 miliard mikroprocesorů a mikropočítačů* z toho jdou jen necelá 2 % do sektoru klasické výpočetní techniky osobní počítače, servery přes 98 % jde do sektoru vestavěných systémů * Nick Tredennick, Gilder Technology Report, 2004 http://www.gildertech.com/public/telecosm2004/presentations/wednesday%20ppt/1020-tredennick.ppt

Nosné aplikační oblasti (1) specializované počítače funkce podobná jako běžné počítače, ale ve specifickém provedení video-hry, přenosné počítače, PDA, domácnosti domácí spotřebiče, elektronika mikrovlnné trouby, set-top boxy, videorekordéry, kamery, fotoaparáty, audio přehrávače,

Nosné aplikační oblasti (2) řídicí systémy zpětnovazební regulace v reálném čase zpracování signálu zpracování souvislých proudů dat v reálném čase dopravní prostředky, technologické procesy, jaderné reaktory, radar, sonar, video, telekomunikace a sítě přepínání a směrování přenosu dat pevné a mobilní telefonní sítě, Internet,

Přínos pro uživatele obvykle modernizace mechanického nebo elektromechanického systému snížená cena zlepšená funkce zvýšený výkon zvýšená spolehlivost pokud je systém správně navržen a dobře otestován

Typické funkce (1) řídicí algoritmy sekvenční logika PID regulace, fuzzy logika, automaty, přepínání režimů řízení, zpracování signálů komprese multimediálních dat, digitální filtrace,

Typické funkce (2) aplikačně specifická rozhraní tlačítka, akustická a světelná signalizace, rychlé vstupy a výstupy reakce na chyby detekce a rekonfigurace, diagnostika,

Typické požadavky (souhrn) malá spotřeba odolnost malé rozměry a váha reaktivita funkce v reálném čase spolehlivost a bezpečnost cenová citlivost

Typické požadavky (1) malá spotřeba bateriové napájení omezená možnost chlazení odolnost horko, mráz, vibrace, nárazy, kolísání napájení, rušení, blesky vlhkost a zkrápění vodou, koroze nesprávné zacházení

Typické požadavky (2) malé rozměry a váha přenosná elektronika dopravní prostředky přebytek váhy znamená vyšší provozní náklady reaktivita výpočty probíhají jako odezva na externí události periodické rotační stroje, zpětnovazební řídicí smyčky,... aperiodické tlačítka,

Typické požadavky (3) funkce v reálném čase správnost je částečně funkcí času spolehlivost a bezpečnost musí fungovat správně, ale hlavně nesmí fungovat nepřijatelně! správný, bezpečný správný, nebezpečný nesprávný, bezpečný nesprávný, nebezpečný extrémní cenová citlivost snížení ceny o jednotky až desítky Kč může znamenat zvýšení prodeje o miliony kusů