Студопедия

КАТЕГОРИИ:


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

В. Диспетчеризація потоків




А. Керування потоками.

I. Інші функції.

У стандарті 1003.1b визначаються інші функції, такі, як синхронізований ввід/вивід, файли реального часу й т.п.

 

Стандарт 1003.1c (Threads) стосується функцій підтримки багатопоточної обробки всередині процесу:

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

Для потоків визначаються ті ж методи диспетчеризації, що й для процесів у стандарті 1003.1b. Так як в системі можуть одночасно існувати два планувальники (диспетчера) - планувальник процесів і планувальник потоків - визначається концепція конкурентного простору. Конкурентний простір деякого потоку - це набір потоків, з якими він конкурує за центральний процесор. При реалізації може виникнути три основних види різних конкурентних просторів:

  • Глобальна Диспетчеризація. Всі потоки мають глобальний конкурентний простір, і, отже, диспетчеризація кожного потоку виробляється з обліком всіх інших потоків, наявних у системі, незалежно від того, якому процесу вони належать. Планувальник працює тільки на рівні потоків, а параметри диспетчеризації процесів ігноруються.
  • Локальна Диспетчеризація. Потоки конкурують тільки з іншими потоками того ж самого процесу. Диспетчеризація виробляється на двох рівнях. Спочатку піддаються диспетчеризації всі процеси по відношенню один до одного. Потім потоки обраного процесу конкурують один з одним за центральний процесор.
  • Змішана Диспетчеризація. Деякі потоки мають глобальний конкурентний простір, а інші - локальний. Диспетчеризація виробляється на двох рівнях: на першому рівні диспетчеризації піддаються процеси й глобальні потоки; на другому рівні відбувається диспетчеризація локальних потоків обраного процесу.

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




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


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


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



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




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