Vláknování je programová abstrakce pro paralelní provádění v moderních operačních systémech. Při vícevláknovém provádění programu dochází k následujícímu: adresní prostor RAM a otevřené soubory jsou sdíleny mezi vlákny, aby se minimalizovala režie a efektivněji využil čas procesoru. To vše dělá z vícevláknového spouštění efektivní a užitečný mechanismus. Vlákna můžete zobrazit pomocí nástrojů příkazového řádku ps
a top
. Dále se podíváme, jak to provést v operačním systému Linux.
Linux poskytuje dva způsoby, jak ladit vícevláknové procesy pro provádění určité činnosti. Jedním z nich je, když proces vytvoří své vlastní kopie pomocí mechanismu fork a tyto procesy pak komunikují prostřednictvím soketů nebo IPC. Т. Uživatel získá procesy, které zabírají prostředky a určité množství paměti. Dalším způsobem je alokace vláken v rámci jednoho procesu. Tímto způsobem budou mít všechna vlákna jednoho procesu jeden identifikátor skupiny vláken a také jedinečný identifikátor. To znamená, že budou mít přístup ke všem prostředkům nadřazeného procesu a budou zabírat méně paměti.
V tomto programu se vlákna procesu aktivují jedním příkazem - T.
Následujícím způsobem můžete zobrazit všechna vlákna procesů s PID pro Chromium:
$ ps -T -p
Ve sloupci SPID je uvedeno ID vlákna a ve sloupci CMD je uvedeno jméno vlákna.
Pomocí nástroje top lze snadno zobrazit vlákna v reálném čase. K tomu je třeba spustit nástroj top s volbou -H
. Pomocí klávesy H je možné zobrazení vláken za běhu povolit nebo zakázat:
$ top -H
Pokud potřebujete zobrazit pouze vlákna požadovaného procesu, použijte:
$ top -H -p pid
Jak vidíte, použití nástroje top je poměrně jednoduché.
Nejpohodlnějším nástrojem pro zobrazení vláken je však nástroj HTOP. Jedná se o hlavní interaktivní prohlížeč procesů na ncurces. S jeho pomocí můžete sledovat vlákna v reálném čase ve formě stromu.
K tomu je třeba v programu htop povolit zobrazení vláken: nejprve otevřete program, vstupte do nabídky stisknutím klávesy F2 a v části Nastavení vyberte možnost Možnosti zobrazení. Nyní zaškrtněte možnost Zobrazení tří vláken a Zobrazit vlastní názvy vláken. To je vše, nastavení můžete uložit stisknutím klávesy F10:
To je vše. Tímto způsobem můžete zobrazit vlákna ve stromovém zobrazení pro každý proces zvlášť. Zde opět vidíte vlákna pro prohlížeč Chromium: