ореня іншого потоку, то первинний Потік и породив его процес зазвічай ототожнюються в свідомості користувача, а, часто и в свідомості програміста. Альо Останній может создать ще один або декілька потоків, Які розміщуються в одному и того ж адресного просторі, что захи процесові. Колі смороду створюються, батьківський процес почінає Виконувати НЕ послідовно, а паралельно. Так реалізується потокового багатозадачність. Кажуть, что потоки віконуються в контексті процеса.
Потік (thread) - це Основний елемент системи, якому ОС віділяє машинний годину. Потік может Виконувати якусь Частину загально коду процесу, в тому чіслі и ту частині, яка в цею годину Вже віконується іншім потоком. Наприклад, код Функції, что відображає на екрані ступінь Просування процеса передачі ІНФОРМАЦІЇ, может одночасно Виконувати двома потоками, Які обслуговують двох КЛІЄНТІВ одного сервера.
Всі потоки (threads) одного процеса корістуються ресурсами породжувача їх процеса. Крім того, шкірному потоку система і / або програміст пріпісує Пріоритет Виконання и набор структур мови С, что опісують контекст потоку. Система вікорістовує їх для запам'ятовування контексту потоку, коли его Виконання урівається. У контекст входять:
Стан регістрів;
Системний стек ядра ОС (kernel stack);
Стек користувача розташованій в адресному просторі процеса;
Блок змінніх оточення потоку.
Потоки подібні процесам, альо вімагають менших витрат при своєму створенні. Смороду у меншій мірі, чем Процеси, захищені один від одного, альо дозволяють поєднаті Виконання операцій и віграті в Загальній продуктівності процеса.
Перерахуємо найбільш типові випадка, коли слід застосовуваті багатопоточність:
Керування введенням в Різні документи МШ-інтерфейсу. Введення Даних шкірного документа додатка організованій у вігляді окрем потоку;
Управление введенням Даних з декількох прістроїв телекомунікації;
розмежування пріорітетів Виконання Завдання. Потокам, что вімагає вісокої Швидкості Реакції, прісвоюється високий Пріоритет, а іншім потокам більш низьких;
зниженя годині Реакції на Дії користувача по вводу Даних при одночасному віконанні фонових обчислень.
Зазвічай більш ефективного є реалізація багатозадачності у вігляді одного процеса з декількома потоками, чем у вігляді багатьох процесів з одним потоком, так як:
Контекст потоків займають менший об'єм, чем контексти процесів и система перемікає їх швідше;
Взаємодія потоків простіша, так як смороду могут користуватись глобальними зміннімі в загально для них адресного просторі процеса;
Потоки одного процеса легше сінхронізуваті, так як їм доступні опісувачі об'єктів ядра Із загально контексту.
.2.2 Стан процеса
Будь-який процес у багатозадачній ОС багаторазове відчуває Перехід з одного стану в Інший.
Основних станів Всього три.
Робота (running) - у цьом стані находится процес, програму Якого в Сейчас Виконує процесор. Працюючий процес іноді ЗРУЧНИЙ назіваті такоже потокової процесом.
Готовність (ready)...