Jak Začít?

Máš v počítači zápisky z přednášek
nebo jiné materiály ze školy?

Nahraj je na studentino.cz a získej
4 Kč za každý materiál
a 50 Kč za registraci!



04 - Procesy a vlákna

PDF
Stáhnout kompletní materiál zdarma (233.05 kB)

Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.

Viz [1]

Zásobník:
•

datová struktura pro dočasné ukládání dat

•

manipulace s daty typu LIFO (Last in – First Out)

•

typická aplikace: vnitřní zásobník procesoru, vkládání do zás. =operace 
push, vybírání ze zás. = operace pop.

Viz 1. předn.

A7B38UOS   Úvod do operačních systémů 04 - Procesy a vlákna

Výhody vláken

•

Vícevláknový proces není blokován při zablokování jednoho z vláken (např. 
při čekání na událost)

•

Paměť a systémové prostředky jsou sdíleny (na rozdíl od procesů), zvyšuje 
se efektivita jejich využití, zjednodušuje se přenos dat mezi vlákny (např. 
použití globálních proměnných ale POZOR na kritické sekce!!! v programu)

•

Přepínání kontextu vláken je výrazně rychlejší než přepínání kontextu u 
procesů

•

Efektivní provádění pomalých I/O operací (I/O operace se mohou překrývat 
s výpočetními operacemi)

•

Výrazné zrychlení programu v případě multiprocesorové architektury (= 
počítačový systém obsahuje několik procesorů nebo vícejádrové procesory); 
vlákna běží skutečně paralelně (NE pseudoparalelně!!!)

•

Lepší strukturování programu (Ale s rozumem!!! Nepřehánět počet vláken, 
zvyšuje časovou režii při přepínání kontextu) 

A7B38UOS   Úvod do operačních systémů 04 - Procesy a vlákna

Implementace vláken - ULT

Přepínání kontextu vláken: na úrovni uživatele (a), jádra (b) nebo (c) 

kombinované.

(a) Na uživatelské úrovni (ULT User-level Thread)

Na úrovni aplikačního procesu (User Mode) musí být implementována 

speciální knihovna pro správu vláken (thread library) 

Výhody:
•

Nezávislost na podpoře jádra

•

Rychlejší přepínání kontextu a vytváření nových vláken

•

Plná kontrola procesu nad správou vláken ?!

Neýhody:
•

volání služby (blokujícího volání jádra) jedním vláknem blokuje všechna 
vlákna procesu 

•

nutnost dodatečného programování (řízení vláken programátorem) 

•

Vlákna jednoho procesu nemohou běžet na více procesorech 

A7B38UOS   Úvod do operačních systémů 04 - Procesy a vlákna

Implementace vláken - KLT

(b) Na úrovni jádra (KLT Kernel-level Thread)

Výhody:
•

Systémová volání neblokují ostatní vlákna téhož procesu 

•

Vlákna jednoho procesu mohou běžet na více procesorech

•

Programy jádra mohou být vícevláknová

Neýhody:
•

Správa vláken je nákladnější (časově náročnější) než u čistě uživatelských 
vláken 

Témata, do kterých materiál patří