Závit a proces
Závit vs proces
Proces
Ve světě počítačového programování je proces instancí nebo realizací programu. Každý proces obsahuje programový kód a existující aktivitu. Může jít o více než jeden podproces, který může vytvořit konkrétní proces. Pokyny mohou být prováděny souběžně. Bude však záviset na použitém operačním systému.
V podstatě jsou procesy velmi silnými programy. Spalují značné množství paměti. Proto jsou značně závislé na zdrojích, které jsou k dispozici k provedení. Řekněme, že je známo, že proces je "těžký proces".
Každý proces se objevuje na jiném místě paměti. Pokud je tedy více procesů přítomných, přepínání mezi jednotlivými procesy je velmi nákladné, protože bude vyžadovat čas od každé alokace paměti k přechodu na další alokaci. Každý proces má svůj vlastní adresový prostor, který může hltat značné množství dodávek.
Proces je nezávislý na jiných procesech. Takže když je rodičovský proces modifikován, nebude to nutně ovlivňovat jiné procesy. Kvůli tomuto chování vyžadují procesy komunikaci mezi procesy, aby mohli komunikovat se svými sourozenci.
Dále procesy, kvůli jejich mnohem složitější povaze, nejsou vytvořeny s lehkostí. To může vyžadovat nějakou duplikaci procesů, obvykle rodičovského procesu, k dosažení konstrukce.
Vlákno
Dokonce i s minimálními systémovými prostředky mohou být podprocesy prováděny současně za účelem dosažení zadaného úkolu. Důvodem je skutečnost, že vlákno je pouze prováděcí sekvence. Jedná se pouze o proces a proto je také označován jako "lehký proces".
To je považováno za nejmenší část programu, protože je to nezávislá postupná cesta provádění v rámci programu. Přepínání kontextu mezi vlákny vyžaduje minimální množství zdrojů na rozdíl od procesů. Vlákna v podstatě sdílejí adresová místa a jsou také snadno vytvořena.
Je třeba také zmínit, že změny provedené do hlavního vlákna mohou mít vliv na chování ostatních vláken v rámci stejného procesu. Zdá se, že komunikace mezi vlákny ve stejném procesu je přímá a bezproblémová.
Souhrn:
1. Proces může obsahovat více než jeden podproces. 2. Proces se považuje za "těžkou váhu", zatímco vlákno se považuje za "lehkou". 3. Procesy jsou silně závislé na dostupných systémových zdrojích, zatímco podprocesy vyžadují minimální množství prostředků. 4. Změna hlavního podprocesu může ovlivnit následné podprocesy, zatímco změny v nadřazeném procesu nemusí nutně ovlivnit podřízené procesy. 5. Závity v procesu komunikují přímo, zatímco procesy tak nekomunikují. 6. Nitě jsou snadno vytvářeny, zatímco procesy nejsou tak jednoduché.