Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
1. Procesy:
- Každý proces má svoj vlastný adresný priestor, údaje a zdroje.
- Sú to nezávislé entity a komunikujú prostredníctvom mechanizmov, ako sú potrubia, zásuvky a zdieľaná pamäť.
- Jadro Unix sa rýchlo prepína medzi procesmi, čo dáva ilúziu paralelného vykonávania.
2. Vlákna:
- Vlákna sú ľahké procesy, ktoré zdieľajú rovnaký adresný priestor a zdroje.
- Ponúkajú efektívnejší spôsob, ako implementovať súbežnosť ako procesy, pretože majú menej režijných nákladov.
- Vlákna je možné vytvoriť a spravovať pomocou knižníc, ako sú vlákna POSIX (PTHREADS).
Kľúčové koncepty:
- Čas krájania: CPU prideľuje do každého procesu alebo vlákna malý kúsok času a rýchlo medzi nimi prepína.
- multiplexing: Jadro riadi viac úloh prekladaním ich vykonávania a vyvoláva dojem paralelného vykonávania.
- Synchronizácia: Mechanizmy ako mutexes, semafory a premenné stavu sa používajú na koordináciu prístupu k zdieľaným zdrojom medzi súčasnými úlohami.
- Interprocess Communication (IPC): Metódy, ako sú potrubia, zásuvky a zdieľaná pamäť, umožňujú procesom výmeny údajov a synchronizovať ich operácie.
Výhody súbežnosti v Unix:
- Vylepšená citlivosť: Používatelia môžu interagovať so systémom, zatiaľ čo sú spustené iné úlohy.
- zvýšená priepustnosť: Súčasne je možné vykonať viac úloh, čím sa zlepší celkový výkon systému.
- Zdieľanie zdrojov: Viaceré úlohy môžu zdieľať rovnaké zdroje, znižovať režijné náklady na pamäť a zlepšiť efektívnosť.
Príklady súbežnosti v Unix:
- Procesy na pozadí: Úlohy, ako je tlač alebo sťahovanie súborov, sa môžu spustiť na pozadí, zatiaľ čo používateľ interaguje s inými aplikáciami.
- Webové servery: Viaceré požiadavky na klienta sa dajú spracovať súčasne jediným procesom webového servera.
- databázové systémy: Súbežné transakcie zabezpečujú, aby sa udržiava integrita údajov, zatiaľ čo viacero používateľov pristupuje k databáze.
Poznámka: Zatiaľ čo súbežnosť v UNIX poskytuje ilúziu paralelného vykonávania, skutočný paralelizmus vyžaduje viacnásobné CPU.