МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах
РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ" ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах Гендерна антидискримінаційна експертиза може зробити нас моральними рабами ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів Контакти
Тлумачний словник |
|
|||||||
Структури даних процесуСкладові елементи процесу Керування процесами у Windows ХР Висновки
♦ Задача планування потоків зводиться до організації виконання кількох потоків на одному процесорі так, аби у користувачів виникало враження, що вони виконуються одночасно. Цілями планування є: мінімізація часу відгуку, максимізація пропускної здатності та справедливість. До основних стратегій планування належать витісняльна й невитісняльна багатозадачність. У сучасних ОС застосовують витісняльну багатозадачність, коли рішення про перемикання контексту потоку приймають у коді ядра системи, а не в коді потоку. ♦ Розрізняють довготермінове, середньотермінове й короткотермінове планування. Найважливіший тут короткотерміновий планувальник, котрий використовують для прийняття рішення про те, який потік запустити на виконання в певний момент. До основних алгоритмів короткотермінового планування належать планування кругове і з пріоритетами.
Поняття процесу й потоку у Windows ХР чітко розмежовані. Процеси в даній системі визначають «поле діяльності» для потоків, які виконуються в їхньому адресному просторі. Серед ресурсів, з якими процес може працювати прямо, відсутній процесор — він доступний тільки потокам цього процесу. Процес, проте, може задати початкові характеристики для своїх потоків і тим самим вплинути на їхнє виконання.
Розглянемо базові складові елементи процесу. ♦ Адресний простір процесу складається з набору адрес віртуальної пам'яті, які він може використати. Ці адреси можуть бути пов'язані з оперативною пам'яттю, а можуть - з відображеними у пам'ять ресурсами. Адресний простір процесу недоступний іншим процесам. ♦ Процес володіє системними ресурсами, такими як файли, мережні з'єднання, пристрої введення виведення, об'єкти синхронізації тощо. ♦ Процес містить деяку стартову інформацію для потоків, які в ньому створюватимуться. Наприклад, це інформація про базовий пріоритет і прив'язання до процесора. ♦ Процес має містити хоча б один потік, який система скеровує на виконання. Без потоків у Windows ХР наявність процесів неможлива.
Розглянемо структури даних, пов'язані із процесом у Windows ХР. Зазначимо, що у роботі з цими структурами система використовує об'єктну модель. Для виконавчої системи Windows ХР кожний процес зображується об'єктом-процесом виконавчої системи (executive process object); його також називають керуючим блоком процесу (executive process block, EPROCESS). Для ядра системи процес зображується об'єктом-процесом ядра (kernel process object), його також називають блоком процесу ядра (process kernel block, KPROCESS). У режимі користувача доступним є блок оточення процесу (process environment block, РЕВ), що перебуває в адресному просторі цього процесу. Розглянемо структури даних процесу докладніше. Зазначимо, що EPROCESS і KPROCESS, на відміну від РЕВ, доступні тільки із привілейованого режиму. Керуючий блок процесу містить такі основні елементи: ♦ блок процесу ядра (KPROCESS); ♦ ідентифікаційну інформацію; ♦ інформацію про адресний простір процесу (її структуру розглянемо в розділі 9); ♦ інформацію про ресурси, доступні процесу, та обмеження на використання цих ресурсів; ♦ блок оточення процесу (РЕВ); ♦ інформацію для підсистеми безпеки.
До ідентифікаційної інформації належать: ♦ ідентифікатор процесу (pid); ♦ ідентифікатор процесу, що створив цей процес (незважаючи на те, що Windows ХР не підтримує відносини «предок-нащадок» автоматично, вони можуть бути задані програмним шляхом, тобто нащадок може сам призначити собі предка, задавши цей ідентифікатор); ♦ ім'я завантаженого програмного файлу.
Блок процесу ядра містить усю інформацію, що належить до потоків цього процесу: ♦ покажчик на ланцюжок блоків потоків ядра, де кожний блок відповідає потоку; ♦ базову інформацію, необхідну ядру системи для планування потоків. Блок оточення процесу містить інформацію про процес, яка призначена для доступу з режиму користувача: ♦ початкову адресу ділянки пам'яті, куди завантажився програмний файл; ♦ покажчик на динамічну ділянку пам'яті, доступну процесу. Цю інформацію може використати завантажувач програм або процес підсистеми Win32.
Читайте також:
|
||||||||
|