Студопедия

КАТЕГОРИИ:


Архитектура-(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)

С. Синхронізація процесів




В. Блокування віртуальної пам'яті.

Хоча в базовому стандарті POSIX використання віртуальної пам'яті не потрібно, в UNIX-Системах цей механізм широко розповсюджений. Він дуже ефективний при роботі програм, що не ставляться до програм реального часу, але приводить до непередбачуваності часу реакції системи. Для того щоб обмежити час доступу до пам'яті, у стандарті 1003.1b визначаються функції блокування (фіксації) у пам'яті всього адресного простору процесу або окремих його областей. Ці функції варто використовувати для критичних процесів, а також для процесів, з якими синхронізуються критичні процеси. У цьому випадку час їхньої реакції може бути передбачуваним.

У стандарті 1003.1b визначаються функції керування синхронізацією процесів за допомогою семафорів-лічильників. Ці семафори ідентифікуються за ім'ям, що перебуває в деякому просторі імен, обумовленому при реалізації стандарту. Це простір імен може збігатися, але не обов'язково, із простором імен файлів. Семафор-Лічильник - це загальний механізм синхронізації, що дозволяє реалізувати взаємно доступ, до розподілюваних ресурсів, передачу сигналів, очікування процесів і інші механізми синхронізації. Одним з найпоширеніших застосувань семафорів є спільне використання даних процесами. Відповідно до стандарту, це можна реалізувати за допомогою об'єктів розподілюваної пам'яті, використовуваних разом із семафорами.

На жаль, семафори-лічильники, визначення яких дається в стандарті, допускають інверсію пріоритетів. Вона виникає тоді, коли високопріоритетний процес змушений чекати завершення деякої дії, виконуваного процесом з більше низьким пріоритетом. Це означає, що затримка високопріоритетних завдань викликається не тривалістю виконання критичних секцій, а залежить від загального часу виконання низькопріорітетних завдань. Ця ситуація може виникнути тоді, коли високопріорітетне завдання очікує звільнення низькопріорітетного завданням семафора, що управляє доступом до поділюваних ресурсів, а низкоприоритетная завдання витиснуте завданням із проміжним значенням пріоритету. Для завдань твердого реального часу такі тривалі затримки звичайно неприйнятні. Тому в стандарті 1003.1c (Threads), що описується далі, описується інший механізм синхронізації – м’ютекс (mutex) - який запобігає незаконному запереченню пріоритету й також може використовуватися в процесах.




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


Дата добавления: 2013-12-14; Просмотров: 351; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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