Практичне заняття 7. Робота з процесами в ОС Windows
Мета роботи: Освоїти навики роботи з процесами засобами операційної системи Windows
Теоретичні відомості
Процес - програма, яка виконується в поточний момент. Стандарт ISO 9000:2000 визначає процес як сукупність взаємозв'язаних і взаємодіючих дій, що перетворюють вхідні дані в вихідні.
Комп'ютерна програма сама по собі - це лише пасивна послідовність інструкцій, в той час як процес - це безпосереднє виконання цих інструкцій.
Також, процесом називають поточну програму і всі її елементи: адресний простір, глобальні змінні, регістри, стек, відкриті файли і так далі.
Зазвичай, процес в обчислювальній системі представлений (також кажуть, «володіє») наступними ресурсами:
- типом виконуваного машинного коду, асоційованого з програмою;
- пам'яттю (зазвичай деякою областю віртуальної пам'яті), яка включає в себе:
o виконуваний
код;
o вхідні
і вихідні дані процесу;
o
стек
викликів (для відстеження активних підпрограм);
o
купу
для зберігання проміжних результатів обчислень, що генеруються під час
виконання;
- дескрипторами ресурсів операційної системи, виділеними для процесу, наприклад, файл
- файловими дескрипторами (в термінології ОС Unix) або «хендлом» (в термінології ОС Windows);
- атрибутами безпеки, такими як власник і набір повноважень процесу (допустимих операцій);
- станом процесора (контекстом), таким як:
o
вміст регістрів;
o
схема
перетворення віртуальних адрес в фізичні;
o
і т.д.
Купа (Heap) в інформатиці та програмуванні - назва структури даних, за допомогою якої реалізована динамічна пам'ять програми.
Розмір купи - розмір пам'яті, виділеної операційною системою (ОС) для зберігання купи.
Контекст пов'язаних з поточною діяльністю вивантажується в пам'ять, коли виконується перемикання на інший процес.
Операційна система зберігає більшу частину інформації про процеси в таблиці процесів.
В операційних системах, що підтримують потоки виконання, потоки також володіють власними ресурсами. Зазвичай це тільки стан процесора, хоча потоки можуть використовувати і інші ресурси.
Для зниження ймовірності впливу процесів один на одного і ймовірності відмови системи (наприклад, взаємних блокувань або пробуксовки) операційна система забезпечує ізоляцію процесів і виділяє необхідні їм ресурси. Також операційна система надає механізми для взаємодії процесів безпечними і передбачуваними способами.