Procesy a vlákna v operačních systémech (OS) vždy patřily k mým oblíbeným tématům v informatice. Umožňují mnohem hlouběji pochopit, jak OS spravuje programy v různých fázích jejich provádění, řeší problémy týkající se paměti a zajišťuje izolovanou bezpečnost až do jádra. Je to prostě zatraceně zajímavé!
Základní myšlenka
Proces je jednoduše vykonávaný program. K jednomu programu je striktně přiřazen jeden proces. Ve velmi vzácných případech to nemusí platit vždy (příklad Google Chrome), ale většinou to tak je.
Každý proces má různé součásti, které mu umožňují provádět zamýšlené úkoly. Zejména zásobník a halda slouží k alokaci lokálních proměnných, respektive dynamické paměti.
Součástí je více, ale stačí říci, že každý proces potřebuje tyto součásti, aby mohl běžet jako program.
Monitorování procesů v systému
V každém okamžiku může být spuštěno několik set nebo méně procesů. Někdy je užitečné zobrazit o nich podrobné informace, zejména pokud počítač běží pomalu: některé procesy totiž mohou zabírat paměť počítače nebo procesor. Možnost přesně je určit a následně zničit je skutečně velmi užitečná a lze jí dosáhnout poměrně snadno.
Pokud používáte systém Windows, můžete otevřít Správce úloh a klepnutím na kartu Procesy tyto informace zobrazit. Pokud používáte systém Linux nebo počítač se systémem Unix, můžete spustit řadu různých příkazů:
ps aux // this will display a list of processestop // detailed information about all processes, threads, memory hoggers and network packets