Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции_Р2.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
1.63 Mб
Скачать

2.10 Тема Керування процесами у Windows xp

Самостійна робота №11

План

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

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

  3. Створення процесів.

  4. Завершення процесів.

  5. Програмний інтерфейс керування процесами Win32 АРІ.

Мета: Навчитися визначати складові елементи процесу, структури даних процесу. Знати процес створення процесів,завершення процесів. Вивчити програмний інтерфейс керування процесами Win32 АРІ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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