2. Процеси, потоки, завдання
Концепція багатозадачності (псевдопараллелізм) є суттєвою для системи реального часу з одним процесором, програми якої повинні бути здатні обробляти численні зовнішні події, що відбуваються практично одночасно. Концепція процесу, що прийшла з світу UNIX, погано реалізується в багатозадачному системі, оскільки процес має важкий контекст. Виникає поняття потоку (thread), який розуміється як підпроцесу, або легкий процес (light-weight process). Потоки існують в одному контексті процесу, тому перемикання між потоками відбувається дуже швидко, а питання безпеки не беруться до уваги. Потоки є легковажно, тому що їх регістровий контекст менше, тобто їхні управляючі блоки набагато компактнішим. Зменшуються накладні витрати, викликані збереженням та відновленням керуючих блоків перериваються потоків. Обсяг керуючих блоків залежить від конфігурації пам'яті. Якщо потоки виконуються в різних адресних просторах, система повинна підтримувати відображення пам'яті для кожного набору потоків.
Отже, в системах реального часу процес розпадається на завдання або потоки. У будь-якому випадку кожен процес розглядається як додаток. Між цими додатками не повинно бути занадто багато взаємодій, і в більшості випадків вони мають різну природу - жорсткого реального часу, м'якого реального часу, не реального часу.
3. Планування, пріоритети
У зв'язку з проблемою дедлайнів головною проблемою в ОСРВ стає планування завдань (scheduling), яке забезпечувало б передбачувану поведінку системи при всіх обставинах. Процес з дедлайну повинен стартувати і здійснюватися так, щоб він не пропустив жодного свого дедлайну. Якщо це неможливо, процес повинен бути відхилений.
У зв'язку з проблемами планування в ОСРВ вивчаються і розвиваються два підходи - статичні алгоритми планування (RMS - Rate Monotonic Scheduling) [LL73] і динамічні алгоритми планування (EDF - Earliest Deadline First).
RMS використовується для формального докази умов передбачуваності системи. Для реалізації цієї теорії необхідне планування на основі пріоритетів, переривають обслуговування (preemptive priority scheduling). У теорії RMS пріоритет заздалегідь призначається кожному процесу. Процеси повинні задовольняти таким умовам:
· процес має бути завершений за час його періоду,
· процеси не залежать один від одного,
· кожному процесу потрібно однакове процесорний час на кожному інтервалі,
· у неперіодичних процесів немає жорстких термінів,
· переривання процесу відбувається за обмежений час.
Процеси виконуються відповідно до пріоритетів. При плануванні RMS перевага віддається завданням із самими короткими періодами виконання.
У EDF пріоритет надається динамічно, і найбільший пріоритет виставляється процесу, у якого залишилося найменше час виконання. При великих завантаженнях системи у EDF є переваги перед RMS.
У всіх системах реального часу потрібно політика планування, керована дедлайну (deadline-driven scheduling). Однак цей підхід знаходиться у стадії розробки.
Зазвичай в ОСРВ використовується планування з пріоритетами, переривають обслуговування, яке засноване на RMS. Пріоритетне переривання обслуговування (preemption) є невід'ємною складовою ОСРВ, тому що в системі реального часу повинні існувати гарантії того, що подія з високим пріоритетом буде оброблено перед подією більш низького пріоритету. Все це веде до того, що ОСРВ потребує не тільки в механізмі планування на основі пріоритетів, переривають обслуговування, але також і у відповідному механізмі управління переривань. Більш того, ОСРВ повинна бути здатна забороняти переривання, коли необхідно виконати критичний код, який не можна переривати. Тривалість обробки переривань повинна бути зведена до мінімуму.
ОСРВ повинна володіти розвиненою системою пріоритетів. По-перше, це потрібно тому, що система сама може розглядатися як набір серверних додатків, що підрозділяються на потоки, і кілька високих рівнів пріоритетів має бути виділено системним процесам і потокам. По-друге, в складних додатках необхідно всі потоки реального часу поміщати на різні пріоритетні рівні, а потоки не реального часу розміщувати на один рівень (нижче, ніж будь-які потоки реального часу). При цьому потоки не реального часу можна обробляти в режимі циклічного планування (RRS - round-robin scheduling), при якому кожному процесу надається квант часу процесора, а коли квант закінчується, контекст процесу зберігається, і він ставиться в кінець черги. У багатьох ОСРВ для планування завдань на одному рівні використовується RRS. Пріоритетний рівень 0 зазвичай використовується для холостого режиму.
При плануванні на основі пріоритетів необхідно вирішити дві обов'язкові проблеми:
забезпечити виконання процесу з найвищим пріоритетом,
не допустити інверсії пріоритетів, коли завдання з високими пріоритетами очікують ресурси, захоплені завданнями з більш низькими пріоритетами.
Для боротьби з інверсією пріоритетів у ОСРВ часто використовується механізм успадкування пріоритетів, однак при цьому доводиться відмовлятися від планування на основі RMS, оскільки пріоритети стають динамічними.
ального часу, розроблену в ІСП РАН для приватної «системи на чіпі» (System-On-Chip) на базі цифрового сигнального процесора MicroDSP 1.1, коли на одному загальному кристалі розміщуються сам процесор, модулі розширення, програмна пам'ять і два банки пам'яті даних. Розміщення їх на одному кристалі дозволяє забезпечити дуже швидкий доступ до осередків пам'яті (звернення до пам'яті займає один такт). ...
... системи, як правило, підтримують захищений режим роботи, якій дозволяє зберігати програми ядра операційної системи окремо від файлів користувача. Доступ користувача до системних програм обмежений та не дозволяє йому випадково вивести систему з ладу. 2. Вбудований редактор FAR Manager Редагування файла. Для редагування текстового файла можна використовувати внутрішній редактор FAR, а також ...
... і додатки, такі як Mіcrosoft SQL Server і Exchange Server, також включають компоненти, що працюють як служби NT. · Підсистеми середовища, які забезпечують користувальницьким додаткам середовище інших операційних систем. Wіndows NT поставляється із трьома підсистемами: Wіn32, Posіx і OS/2 2.1. · Користувальницькі додатки одного з п'яти типів: Wіn32, Wіndows 3.1, MS-DOS, Posіx або OS/2 ...
... експлуатацію. Етапи 6 і 7 можуть об'єднуватися, якщо реальні дані повноцінні, тобто дозволяють перевірити програму на всіх практично можливих ситуаціях. Взагалі, стадії впровадження Інформаційних систем менеджменту можна означити у вигляді наступної таблиці 1.2. Таблиця 1.2. Стадії впровадження Інформаційних систем менеджменту Постановка завдання й оцінка готовності підприємства до ...
0 комментариев