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