3 Концепція процесу

№6 Процеси і потоки.

З одного боку, процес можна розглядати як спосіб об'єднання споріднених ресурсів в одну групу.

З іншого боку, процес можна розглядати як потік виконуваних команд або просто потік. У потоку є лічильник команд, що відслідковує порядок виконання дій. У нього є регістри, в яких зберігаються поточні змінні. У нього є стек, що містить протокол виконання процесу, де на кожну процедуру, викликану, але ще не повернулася, відведений окремий фрейм. Хоча потік повинен виконуватися всередині процесу, слід розрізняти концепції потоку і процесу. Процеси використовуються для групування ресурсів, а потоки є об'єктами, по черзі що виконуються на центральному процесорі.

Відмінності потоків і процесів:

Потоки мають «власний» стек і набір регістрів. Глобальні дані є загальними.

Як локальні, так і глобальні змінні процесів є «власними».

Будь потік состоітіз двох компонентів:

1) об'єкта ядра. через який операційна система управляє потоком. Там же зберігається статистична інформація про потік (додаткові потоки створюються також ядром); 2) стека потоку. який містить параметри всіх функцій і локальні змінні, необхідні потоку для виконання коду.

3 Концепція процесу

 Потік (thread) визначає послідовність виконання коду в процесі.

 Процес нічого не виконує, він просто служить контейнером потоків.

 Потоки завжди створюються в контексті будь-якого процесу, і все їхнє життя проходить тільки в його межах.

 Потоки можуть виконувати один і той же код і маніпулювати одними і тими ж даними, а також спільно використовувати описатели об'єктів ядра, оскільки таблиця описателей створюється не в окремих потоках, а в процесах.

Схожі статті