Відмінності між версіями «Потоки»

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук
(Створена сторінка: ='''Потоки в Win2k'''= 600px В сімействі операційних систем Microsoft Win2k (включаючи і ...)
 
Рядок 1: Рядок 1:
 
='''Потоки в Win2k'''=
 
='''Потоки в Win2k'''=
 +
Потоком в Windows називається об'єкт ядра, якому операційна система виділяє процесорний час для виконання програми.
 +
 +
Кожному потоку належать наступні ресурси:
 +
* код виконуваної функції;
 +
* набір регістрів процесора;
 +
* стек для роботи програми;
 +
* стек для роботи операційної системи;
 +
* маркер доступу, який містить інформацію для системи безпеки.
 +
 +
Всі ці ресурси утворюють контекст потоку в Windows. Крім дескриптора кожен потік в Windows також має свій ідентифікатор, який унікальний для потоків, що виконуються в системі. Ідентифікатори потоків використовуються службовими програмами, які дозволяють користувачам системи відстежувати роботу потоків.
 +
 +
В операційних системах Windows розрізняються потоки двох типів:
 +
* системні потоки - виконують різні сервіси операційної системи і запускаються ядром операційної системи;
 +
* користувальницькі потоки - служать для вирішення задач користувача і запускаються додатком.
 +
 
[[Файл:Ййфя1.JPG||600px]]
 
[[Файл:Ййфя1.JPG||600px]]
  
 
В сімействі операційних систем Microsoft Win2k (включаючи і сучасну Win7) процеси реалізуються у вигляді об'єктів.
 
В сімействі операційних систем Microsoft Win2k (включаючи і сучасну Win7) процеси реалізуються у вигляді об'єктів.
 +
 
В процесі, що виконується можуть міститись один, або декілька потоків.
 
В процесі, що виконується можуть міститись один, або декілька потоків.
 +
 
Можливості синхронізації вбудовуються в об'єкти-процеси та об'єкти-потоки.
 
Можливості синхронізації вбудовуються в об'єкти-процеси та об'єкти-потоки.
Атрибути процесу в Windows:
+
 
 +
Атрибути процесу в Windows:
 
* Ідентифікатор процесу - унікальне значення.
 
* Ідентифікатор процесу - унікальне значення.
 
* Дескриптор захисту - описує, хто створив об'єкт, хто має право доступу, хто є власником.
 
* Дескриптор захисту - описує, хто створив об'єкт, хто має право доступу, хто є власником.
Рядок 25: Рядок 43:
 
* '''Перехідний.''' Потік готовий до виконання, але ресурси недоступні.
 
* '''Перехідний.''' Потік готовий до виконання, але ресурси недоступні.
 
* '''Завершуючий.''' Завершення потоку ініціюється самим потоком, іншим потоком або може віббутися в зв'язку з завершенням батьківського процесу.
 
* '''Завершуючий.''' Завершення потоку ініціюється самим потоком, іншим потоком або може віббутися в зв'язку з завершенням батьківського процесу.
[[Файл:Йфя.JPG||600px]]
+
[[Файл:Йфя.JPG||500px]]

Версія за 21:41, 13 травня 2013

Потоки в Win2k

Потоком в Windows називається об'єкт ядра, якому операційна система виділяє процесорний час для виконання програми.

Кожному потоку належать наступні ресурси:

  • код виконуваної функції;
  • набір регістрів процесора;
  • стек для роботи програми;
  • стек для роботи операційної системи;
  • маркер доступу, який містить інформацію для системи безпеки.

Всі ці ресурси утворюють контекст потоку в Windows. Крім дескриптора кожен потік в Windows також має свій ідентифікатор, який унікальний для потоків, що виконуються в системі. Ідентифікатори потоків використовуються службовими програмами, які дозволяють користувачам системи відстежувати роботу потоків.

В операційних системах Windows розрізняються потоки двох типів:

  • системні потоки - виконують різні сервіси операційної системи і запускаються ядром операційної системи;
  • користувальницькі потоки - служать для вирішення задач користувача і запускаються додатком.

Ййфя1.JPG

В сімействі операційних систем Microsoft Win2k (включаючи і сучасну Win7) процеси реалізуються у вигляді об'єктів.

В процесі, що виконується можуть міститись один, або декілька потоків.

Можливості синхронізації вбудовуються в об'єкти-процеси та об'єкти-потоки.

Атрибути процесу в Windows:

  • Ідентифікатор процесу - унікальне значення.
  • Дескриптор захисту - описує, хто створив об'єкт, хто має право доступу, хто є власником.
  • Базовий пріоритет.
  • Процесор по замовчуванню.
  • Квоти - максимальна кількість сторінкової пам'яті, об'єм пам'яті, процесорний час.
  • Час виконання - сумарний час, що витрачається на всі потоки.
  • Лічильники вводу-виводу - змінні куди заносяться відомості про операції вводу=виводу.
  • Лічильники операцій з віртуальною пам'яттю.
  • Порти відладки - канали обміну між процесами.
  • статус виходу - причина завершення.

Стани потоків в Windows

  • Готовий до виконання. Потік може бути відправлений на виконання.
  • Резервний. Потік, що буде запущено наступним на даному процесорі. Може витісняти процес з меншим пріоритетом.
  • Виконуємий. Може знаходитися в цьому стані поки не буде повністю виконано, або витіснено.
  • Очікуючий. Потік знаходиться в стані чекання, якщо він:

1)заблокований подією; 2)добровільно чекає синхронізації; 3)середовище підсистеми вказує потоку щоб він сам себе призупинив.

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

Йфя.JPG