Thread (multithreading): Rozdiel medzi revíziami

porovnanie vlákien a procesov
d (štylistika)
(porovnanie vlákien a procesov)
 
Veľa moderných operačných systémov priamo podporuje obidva spôsoby – rozdeľovanie času aj multiprocessing s plánovaním procesov ([[scheduling]]). Jadro operačného systému dovoľuje programátorom manipulovať s vláknami cez [[vyvolanie systému|vyvolania systému]]. Niektoré implementácie sa nazývaju vlákna jadra ([[kernel thread]]s) alebo odľahčené procesy. Program može mať vlákna implementované aj bez podpory operačného systému pomocou časovačov, signálov, alebo inak. Je však potrebné prerušiť vlastné vykonávanie a odtiaľ urobiť vlastné rozdeľovanie času. Tieto vlákna sa niekedy nazývaju používateľské.
 
==Porovnanie vlákien a procesov==
Procesy v tradičných multitask operačných systémoch sa od vlákien odlišujú najmä tým, že procesy:
*sú spravidla nezávislé,
*obsahujú značnú informáciu o svojom stave,
*majú oddelený adresný priestor a
*interagujú len prostredníctvom mechanizmov na medziprocesorovú komunikáciu, ktoré poskytuje operačný systém.
Na druhej strane viacero vlákien priamo zdieľa stavové informácie procesu, ako aj pamäť a ďalšie zdroje. Zmena kontextu medzi vláknami jedného procesu je spravidla rýchlejšia ako zmena kontextu medzi procesmi. Systémy ako [[Windows NT]] alebo [[OS/2]] majú "lacné" vlákna a "drahé" procesy; v ostatných operačných systémoch nie je medzi vláknami a procesmi taký veľký rozdiel.
 
[[Category:Technológie operačných systémov]]
1 302

úprav