Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекція № 4_МЗКІТ (10 ТП).docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

9. Керування процесами у Windows хр

Поняття процесу й потоку у Windows ХР чітко розмежовані. Процеси в даній системі визначають «поле діяльності» для потоків, які виконуються в їхньому адресному просторі. Серед ресурсів, з якими процес може працювати прямо, відсутній процесор — він доступний тільки потокам цього процесу. Процес, проте, може задати початкові характеристики для своїх потоків і тим самим вплинути на їхнє виконання.

9.1. Складові елементи процесу

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

♦ Адресний простір процесу складається з набору адрес віртуальної пам’яті, які він може використати. Ці адреси можуть бути пов’язані з оперативною пам'яттю, а можуть — з відображеними у пам’ять ресурсами. Адресний простір процесу недоступний іншим процесам.

♦ Процес володіє системними ресурсами, такими як файли, мережні з’єднання, пристрої введення-виведення, об’єкти синхронізації тощо.

♦ Процес містить деяку стартову інформацію для потоків, які в ньому створюватимуться. Наприклад, це інформація про базовий пріоритет і прив’язання до процесора.

♦ Процес має містити хоча б один потік, який система скеровує на виконання. Без потоків у Windows ХР наявність процесів неможлива

9.2. Структури даних процесу

Розглянемо структури даних, пов’язані із процесом у Windows ХР. Зазначимо, що у роботі з цими структурами система використовує об’єктну модель. Для виконавчої системи Windows ХР кожний процес зображається об’єктом-процесом виконавчої системи (executive process object); його також називають керуючим блоком процесу (executive process block, EPROCESS). Для ядра системи процес зображається об’єктом-процесом ядра (kernel process object), його також називають блоком процесу ядра (process kernel block, KPROCESS).

У режимі користувача доступним є блок оточення процесу (process environment block, РЕВ), що перебуває в адресному просторі цього процесу.

Розглянемо структури даних процесу докладніше. Зазначимо, що EPROCESS і KPROCESS, на відміну від РЕВ, доступні тільки із привілейованого режиму.

Керуючий блок процесу містить такі основні елементи:

♦ блок процесу ядра (KPROCESS);

♦ ідентифікаційну інформацію;

♦ інформацію про адресний простір процесу (її структуру розглянемо пізніш);

♦ інформацію про ресурси, доступні процесу, та обмеження на використання цих ресурсів;

♦ блок оточення процесу (РЕВ);

♦ інформацію для підсистеми безпеки.

До ідентифікаційної інформації належать:

♦ ідентифікатор процесу (pid);

♦ ідентифікатор процесу, що створив цей процес (незважаючи на те, що Windows ХР не підтримує відносини «предок -нащадок» автоматично, вони можуть бути задані програмним шляхом, тобто нащадок може сам призначити собі предка, задавши цей ідентифікатор);

♦ ім’я завантаженого програмного файлу.

Блок процесу ядра містить усю інформацію, що належить до потоків цього процесу:

♦ покажчик на ланцюжок блоків потоків ядра, де кожний блок відповідає потоку;

♦ базову інформацію, необхідну ядру системи для планування потоків (ця інформація буде успадкована потоками, пов’язаними із цим процесом; її буде розглянуто пізніше).

Блок оточення процесу містить інформацію про процес, яка призначена для доступу з режиму користувача:

♦ початкову адресу ділянки пам’яті, куди завантажився програмний файл;

♦ покажчик на динамічну ділянку нам’яті, доступну процесу.

Цю інформацію може використати завантажувач програм або процес підсистеми Win32.