Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1 Модуль.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
189.28 Кб
Скачать

54.Особливості планування потоків у ос Windows.

Ядро Windows XP розв'язує під час планування дві основні задачі :

• облік відносних пріоритетів, присвоєних кожному потокові;

• мінімізацію часу відгуку інтерактивних застосувань.

Базовою одиницею планування є потік. Під час планування ядро не розрізняє потоки різних процесів, воно має справу з пріоритетами потоків, готових до вико нання в певний момент часу.

Під час планування ядро працює з мінімальними версіями потоків (блоками KTHREAD). У них зберігається така інформація, як загальний час виконання по току, його базовий і поточний пріоритет, диспетчерський стан потоку (готовність, очікування, виконання тощо).

55.Створення потоків у ос Windows

Основним засобом створення потоків у Windows ХР є функція CreateThreadO Win32 АРІ. Етапи виконання цієї функції:

1. В адресному просторі процесу створюється стек режиму користувача для потоку.

2. Ініціалізація апаратного контексту потоку (у процесор завантажують дані, що визначають його стан). Цей крок залежить від архітектури процесора.

3. Створення об'єкту-потоку виконавчої системи у призупиненому стані, для чого в режимі ядра:

а) створення та ініціалізація структури даних потоку (блоки ETHREAD, KTHREAD, ТЕВ);

б) задавання стартової адреси потоку (використовуючи передану як параметр адресу процедури потоку);

в) задавання інформації для підсистеми безпеки та ідентифікатор потоку;

г) виділення місця під стек потоку ядра.

4. Підсистемі Win32 повідомляють про створення нового потоку.

5. Дескриптор та ідентифікатор потоку повертають у процес, що ініціював створення потоку (викликав CreateThreadO).

6. Початок виконання потоку (виконують перехід за стартовою адресою).

56.Особливості планування потоків у ос Windows.

Ядро Windows XP розв'язує під час планування дві основні задачі :

• облік відносних пріоритетів, присвоєних кожному потокові;

• мінімізацію часу відгуку інтерактивних застосувань.

Базовою одиницею планування є потік. Під час планування ядро не розрізняє потоки різних процесів, воно має справу з пріоритетами потоків, готових до вико нання в певний момент часу.

Під час планування ядро працює з мінімальними версіями потоків (блоками KTHREAD). У них зберігається така інформація, як загальний час виконання по току, його базовий і поточний пріоритет, диспетчерський стан потоку (готовність, очікування, виконання тощо).

57.Планування потоків у ос Windows: пріоритети.

Кожному потокові присвоюють пріоритет, заданий числом у діапазоні від 1 до 31 (що більше число, то вище пріоритет).

Розрізняють такі класи пріоритету процесів: реального часу (real-time, приблизно відповідає пріоритету потоку 24); високий (high, 13); нормальний (normal, 8); невикористовуваний (idle, 4). Відносні пріоритети потоку бувають такі: найвищий (+2 до базового); вище за нормальний (+1 до базового); нормальний (дорівнює базовому); нижче за нормальний (-1 від базового); найнижчий (-2 від базового). Є два додаткових модифікатори відносного пріоритету: критичний за часом (time-critical) і невикористовуваний (idle). Перший модифікатор тимчасово задає для потоку пріоритет 15 (найвищий динамічний пріоритет), другий аналогічним чином задає пріоритет 1.