Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
putanya_do_kkr_i_isputy (1).doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
135 Кб
Скачать
☆
  1. Створення процесів

Створити процес - це створити описувач процесу (інформаційна структура, що містить відомості необхідні для

керування цим процесом)

Зміст: ідентифікатор, адреса модуля, що виконує, пріоритет, права доступу й ін.

Приклади описувачів для:

· Windows NT/2000/XP - процес^-процес-об'єкт-процес (object-process)

· UNIX - дескриптор процесу

· OS/2 - керуючий блок процесу (PCB -Process Control Block)

Крім того створити процес - це включає також наступні дії:

· Знайти програму на диску

· перерозподілити оперативну пам'ять

· виділити пам'ять новому процесу

· переписати програму у виділену пам'ять

· змінити деякі параметри програм

  1. Створення потоків

У багато потоковій системі при створенні процесу створюється хоча б один потік. Для потоку ОС генерує

описувач потоку (ідентифікатор потоку, дані про права, пріоритет, стан потоку й ін.)вихідний стан потоку - припинене.

Потік може породити інший потік - нащадок. При завершення потоку-батька використаються різні алгоритми.

Асинхронне завершення припускає продовження виконання нащадок^-нащадків-потоків-нащадків після завершення

потоку-батька. Синхронне завершення потоку-батька приводить до завершення всіх його нащадків.

Приклад створення потоків в Windows (object Pascal)

T=TThread.Create(false);

Приклад видалення потоку

T.Suspend; T.Terminate; T.Free;

Планування й диспетчеризація потоків (процесів)

Планування означає визначення моменту: коли перервати виконання активного потоку і який потік активізувати

Планування виконується на основі описувач потоків.

Застосовуються різні алгоритми планування.

У більшості ОС планувань динамічне, тобто рішення приймаються під час роботи ОС на основі аналізу поточної ситуації.

Інший тип планування статичний, у яких весь набір одночасно виконуваних завдань визначений заздалегідь (off-line),

наприклад за розкладом. Такий тип планування застосовується в спеціалізованих ОС, у системах реального часу

Диспетчеризація: реалізація результатів планування. Містить у собі:

· перемикання потоків

· збереження контексту поточного потоку

· завантаження контексту нового

  1. Планування й диспетчеризація потоків (процесів)

Диспетчеризація: реалізація результатів планування. Містить у собі:

· перемикання потоків

· збереження контексту поточного потоку

· завантаження контексту нового потоку

· запуск нового потоку

Збереження, завантаження й запуск потоків виконуються разом з апаратними засобами

Стан потоку

Потік може перебуває в одному із трьох основні стани:

· Виконання - активне

· Очікування - пасивне, заблокований по внутрішніх причинах

· Готовність - пасивне, заблокований у зв'язку із зовнішніми обставинами. Тільки при

мультипрограмуванні. Наприклад, процесор зайнятий іншим потоком.

Черги потоків - це черги їх описувачів

Планування процесів і потоків включає:

· Знищення^-знищення-створення-знищення процесів

· Взаємодія між процесами

· розподіл процесорного часу

· Забезпечення процесів необхідними ресурсами (одноосібно, спільно)

· Синхронізація (контроль за виникненням «гонок», блокувань)

· Після завершення процесу - «зачищення», тобто видалення слідів перебування в системі

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]