Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Механізми синхронізації




Рівні пріоритетів

Як було вказано, для організації паралельного виконання декількох потоків найчастіше необхідний поділ цих потоків за ступенем важливості (або критичним строком обслуговування). Серед сукупності паралельно виконуваних задач виділяються потоки жорсткого реального часу, потоки м’якого реального часу і потоки, не критичні до часу обслуговування. Кожна з зазначених груп повинна мати свій рівень пріоритетів, до того ж потоки жорсткого реального часу, у ряді випадків, повинні мати індивідуальні значення пріоритетів. Практичний досвід розробки систем реального часу говорить, що збільшення кількості по-різному пріоритетних потоків призведе до непрозорості і непередбачуваності системи. Однак не завжди це виглядає саме так.

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

Апарат ЧМА дозволяє провести таке дослідження для випадку періодичних критичних часів обслуговування. Однак для його застосування потоки, що аналізуються, повинні мати унікальні значення пріоритетів, обумовлені періодом кожного потоку. У зв’язку з цією вимогою розробники ОСРЧ закладають у своїх системах досить велику кількість пріоритетів. Для прикладу в QNX 6.x їх 64, а в Wіndows СЕ і VxWorks – 256.

Таким чином, можна сформувати другу функціональну вимогу ОСРЧ: ОС повинна мати досить велику (визначається масштабом задачі) кількість пріоритетів. Рекомендованим значенням є 128 рівнів. Природно, що в прикладних задачах необхідно вкрай обережно використовувати потоки з різними пріоритетами і, по можливості, прагнути до мінімізації їхньої кількості. Велика кількість потоків з різним пріоритетом може привести не тільки до втрати передбачуваності системи, але і до проблем синхронізації на доступі до поділюваних ресурсів.

 

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

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

 




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 516; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.