Čo je to proces?
Proces je vykonanie programu, ktorý vám umožňuje vykonávať príslušné akcie špecifikované v programe. Môže byť definovaný ako exekučná jednotka, kde beží program. OS vám pomôže vytvoriť, naplánovať a ukončiť procesy, ktoré používa CPU. Ostatné procesy vytvorené hlavným procesom sa nazývajú podradený proces.
Operácie procesu možno ľahko ovládať pomocou PCB (Process Control Block). Môžete to považovať za mozog procesu, ktorý obsahuje všetky dôležité informácie súvisiace so spracovaním, ako je ID procesu, priorita, stav a obsah registra CPU atď.
V tomto výučbe Proces vs vlákno sa dozviete:
- Čo je to proces?
- Čo je vlákno?
- Vlastnosti procesu
- Vlastnosti vlákna
- Rozdiel medzi procesom a vláknom
- Čo je to multithreading?
Čo je vlákno?
Vlákno je exekučná jednotka, ktorá je súčasťou procesu. Proces môže mať viac vlákien, ktoré sa vykonávajú súčasne. Je to jednotka vykonávania v súbežnom programovaní. Vlákno je ľahké a dá sa nezávisle spravovať plánovačom. Pomáha vám zlepšiť výkonnosť aplikácie pomocou paralelizmu.
Viaceré vlákna zdieľajú informácie, ako sú údaje, kód, súbory atď. Vlákna môžeme implementovať tromi rôznymi spôsobmi:
- Vlákna na úrovni jadra
- Vlákna na úrovni používateľa
- Hybridné vlákna
KĽÚČOVÝ ROZDIEL
- Proces znamená, že program sa práve vykonáva, zatiaľ čo vlákno znamená segment procesu.
- Proces nie je ľahký, zatiaľ čo vlákna sú ľahký.
- Ukončenie procesu trvá dlhšie a ukončenie vlákna trvá kratšie.
- Vytvorenie procesu trvá dlhšie, kým vytvoreniu vlákna menej času.
- Proces prepínania kontextu bude pravdepodobne trvať dlhšie, zatiaľ čo pri podprocesoch prepínanie kontextu bude trvať kratšie.
- Proces je väčšinou izolovaný, zatiaľ čo vlákna zdieľajú pamäť.
- Proces nezdieľa údaje a vlákna zdieľajú údaje navzájom.
Vlastnosti procesu
Tu sú dôležité vlastnosti procesu:
- Vytvorenie každého procesu si vyžaduje samostatné systémové volania pre každý proces.
- Je to izolovaná exekučná entita a nezdieľa údaje a informácie.
- Procesy používajú na komunikáciu mechanizmus IPC (Inter-Process Communication), ktorý výrazne zvyšuje počet systémových volaní.
- Správa procesov vyžaduje viac systémových volaní.
- Proces má svoj zásobník, haldy pamäte s pamäťou a dátovú mapu.
Vlastnosti vlákna
Tu sú dôležité vlastnosti vlákna:
- Jediné systémové volanie môže vytvoriť viac ako jedno vlákno
- Vlákna zdieľajú údaje a informácie.
- Vlákna zdieľajú inštrukčné, globálne a haldy oblasti. Má však svoj register a zásobník.
- Správa vlákien spotrebuje veľmi málo alebo vôbec nie sú potrebné systémové hovory kvôli komunikácii medzi vláknami, ktorú je možné dosiahnuť pomocou zdieľanej pamäte.
Rozdiel medzi procesom a vláknom
Tu sú dôležité rozdiely medzi procesom a vláknom
Parameter | Proces | Závit |
---|---|---|
Definícia | Proces znamená, že program sa práve vykonáva. | Vlákno znamená segment procesu. |
Ľahký | Tento proces nie je ľahký. | Nite sú ľahké. |
Čas ukončenia | Ukončenie procesu trvá dlhšie. | Ukončenie vlákna trvá kratšiu dobu. |
Čas stvorenia | Trvá to viac času na vytvorenie. | Tvorba trvá menej času. |
Komunikácia | Komunikácia medzi procesmi si vyžaduje viac času v porovnaní s vláknami. | Komunikácia medzi vláknami si vyžaduje menej času v porovnaní s procesmi. |
Čas zmeny kontextu | Prepínanie kontextu trvá dlhšie. | Prepínanie kontextu trvá menej času. |
Zdroj | Proces spotrebúva viac zdrojov. | Vlákno spotrebuje menej zdrojov. |
Liečba OS | Rôzne procesy sú behúňom oddelene podľa OS. | Všetky operačné vlákna úrovne sú operačným systémom OS považované za jednu úlohu. |
Pamäť | Proces je väčšinou izolovaný. | Vlákna zdieľajú pamäť. |
Zdieľanie | Nezdieľa údaje | Vlákna navzájom zdieľajú údaje. |
Čo je to multithreading?
Multithreading označuje viac vlákien vykonávania v rámci operačného systému. Jednoducho povedané, dve alebo viac vlákien toho istého procesu sa vykonáva súčasne.