Головна

Реалізація поняття послідовного процесу в ОС

  1. Cинхронизация операцій технологічного процесу
  2. I. Основні поняття ОРГАНІЗАЦІЙНОЇ СОЦІАЛЬНОЇ ПСИХОЛОГІЇ
  3. O можливість здійснення рекламного процесу з використанням усього комплексу засобів і методів реклами і їх органічного зв'язку в комерційному підприємстві;
  4. Process Control Block і контекст процесу
  5. XX з'їзд КПРС і початок процесу десталінізації
  6. Абсолютна неперервність імовірнісних заходів, відповідних стрибкоподібним процесам.
  7. АВТОМАТИЗАЦІЯ Інкубаційний ПРОЦЕСУ

Для того щоб операційна система могла керувати процесами, вона повинна мати всю необхідну для цього інформацією. З цією метою на кожен процес зводиться спеціальна інформаційна структура, яка називається дескриптором процесу (Описателем завдання, блоком управління завданням). У загальному випадку дескриптор процесу містить наступну інформацію:

Q ідентифікатор процесу (так званий PID - process identificator);

Q тип (або клас) процесу, який визначає для супервізора деякі правила надання ресурсів;

Q пріоритет процесу, відповідно до якого супервізор надає ресурси. В рамках одного класу процесів в першу чергу обслуговуються більш пріоритетні процеси;

Q змінну стану, яка визначає, в якому стані знаходиться процес (готовий до роботи, в стані виконання, очікування пристрої введення / виводу і т. Д.);

Q захищену область пам'яті (або адреса такої зони), в якій зберігаються поточні значення регістрів процесора, якщо процес переривається, не закінчивши роботи. Ця інформація називається контекстом завдання;


Q інформацію про ресурсах, якими процес володіє і / або має право користуватися (покажчики на відкриті файли, інформація про незавершені операції введення / виводу і т. П.);

Q місце (або його адресу) для організації спілкування з іншими процесами;

Про параметри часу запуску (момент часу, коли процес повинен активізуватися, і періодичність цієї процедури);

Q в разі відсутності системи управління файлами - адреса завдання на диску в її початковому стані і адреса на диску, куди вона вивантажується з оперативної пам'яті, якщо її витісняє інша (для диск-резидентних задач, які постійно перебувають у зовнішній пам'яті на системному магнітному диску і завантажуються в оперативну пам'ять тільки на час виконання).

Описувачі завдань, як правило, постійно розташовуються в оперативній пам'яті з метою прискорити роботу супервізора, який організовує їх в списки (черги) і відображає зміну стану процесу переміщенням відповідного описателя з одного списку в інший. Для кожного стану (за винятком стану виконання для однопроцессорной системи) операційна система веде відповідний список завдань, які перебувають в цьому стані. Однак для стану очікування може бути не один список, а стільки, скільки різних видів ресурсів можуть викликати стан очікування. Наприклад, станів очікування завершення операції введення / виводу може бути стільки, скільки пристроїв введення / виводу є в системі.

У деяких операційних системах кількість описателей визначається жорстко і заздалегідь (на етапі генерації варіанти операційної системи або в файлі конфігурації, який використовується при завантаженні ОС), в інших - у міру необхідності система може виділяти ділянки пам'яті під нові описатели. Наприклад, в OS / 2 максимально можливу кількість описателей завдань визначається у файлі конфігурації CONFIG.SYS, а в Windows NT воно в явному вигляді не задається. Справедливості заради варто помітити, що в згаданому файлі вказується кількість не процесів, а саме завдань, і під завданням в даному випадку розуміється як процес, так і потік цього ж процесу, званий потоком або тред (див. Наступний розділ). Наприклад, рядок в файлі CONFIG.SYS

THREADS = 1024

вказує, що за все в системі може паралельно існувати і виконуватися до 1024 завдань, включаючи обчислювальні процеси і їх потоки. В ОС реального часу найчастіше кількість процесів фіксується і, отже, доцільно заздалегідь визначати (на етапі генерації або конфігурації ОС) кількість дескрипторів. Для використання таких ОС як систем загального призначення (що зараз зустрічається рідко, а в недалекому минулому досить часто в якості обчислювальних систем загального призначення набували міні-ЕОМ і встановлювали на них ОС реального часу) зазвичай кількість дескрипторів береться з деяким запасом, і поява нової завдання зв'язується з заповненням цієї інформаційної структури. Оскільки дескриптори процесів постійно розташовуються в оперативній пам'яті (з метою прискорити роботу диспетчера), то їх кількість не повинна бути дуже великою. При необхідності мати велику кількість завдань один і той же деск-


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

Для більш ефективної обробки даних в системах реального часу доцільно мати постійні завдання, повністю або частково завжди існуючі в системі незалежно від того, надійшло на них вимога чи ні. Кожна постійна задача володіє деякою власною областю оперативної пам'яті (ОЗУ-резидентні завдання) незалежно від того, виконується завдання в даний момент чи ні. Ця область, зокрема, може використовуватися для зберігання даних, отриманих завданням раніше. Дані можуть зберігатися в ній і тоді, коли завдання знаходиться в стані очікування або навіть в стані бездіяльності.

Для апаратної підтримки роботи операційних систем з цими інформаційними структурами (дескрипторами завдань) в процесорах можуть бути реалізовані відповідні механізми. Так, наприклад, в мікропроцесорах Intel 80x86 (див. Розділ 3 «Особливості архітектури мікропроцесорів i80x86 для організації мультипрограмних операційних систем»), починаючи з 80286, є спеціальний регістр TR (task register), який вказує місцезнаходження TSS (сегмента стану завдання1Див. У розділі «Нові системні регістри мікропроцесорів 180x86», глава 3), в якому при перемиканні з задачі на задачу автоматично зберігається вміст регістрів процесора [2, 22, 84]. Як правило, в сучасних ОС для цих мікропроцесорів дескриптор завдання включає в себе TSS. Іншими словами, дескриптор завдання більше за розміром, ніж TSS, і включає в себе такі традиційні поля, як ідентифікатор завдання, її ім'я, тип, пріоритет і т. П.

Діаграма станів процесу | Процеси і треди


ЧАСТИНА I Операційні | Системи і середовища | Поняття операційного середовища | Поняття обчислювального процесу і ресурсу | переривання | Основні види ресурсів | Класифікація операційних систем |

© 2016-2022  um.co.ua - учбові матеріали та реферати