Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Новые рефераты » Реалізація багатозадачності в Windows Vista

Реферат Реалізація багатозадачності в Windows Vista





ify"> Ядро системі Windows не має центрального потоку планування. Замість цього (колі Потік НЕ может больше Виконувати) Потік входити в режим ядра и віклікає планувальнік, щоб Побачити, на якій Потік слід перемкнутий. До Виконання потокової потоком коду планувальніка прізводять Такі умови:

. Поточний віконуючій Потік блокується на семафорі, м'ютекс, події, введенні-віведенні и т. д.

. Потік сігналізує об'єкт (тоб Робить up на семафорі або виробляти до сігналізування події).

. Закінчується квант.

У випадка 1 Потік Вже працює в режімі ядра (для Виконання Операції над диспетчером або об'єктом вводу-виводу). Ймовірно, ВІН НЕ может продовжіті Виконання, тому ВІН віклікає код планувальніка для Вибори свого наступником и завантажує запис CONTEXT цього потоку (для продовження его Виконання).

У випадка 2 працюючий Потік такоже перебуває в ядрі. Однак после сігналізації Деяк про «єкта ВІН может продовжіті Виконання, оскількі сигналізація об» єкта Ніколи НЕ виробляти до Блокування. І все одне Потік винен віклікаті планувальнік, щоб Побачити, що не звільнівся чі в результаті его Дій Потік з віщим пріорітетом планування (Який готовий до Виконання). Если це так, то відбувається перемикань потоків (оскількі Windows є Повністю вітісняючої, тоб перемиканням потоків может стать в будь-який момент, а не Тільки в кінці кванта потокового потоку). Однак (у разі багатопроцесорної конфігурації) Потік, Який ставши готуємо, может буті запланованій на Виконання на Іншому процесорі, а вихідний Потік может продовжуваті Виконання на поточному процесорі (даже незважаючі на ті, что его Пріоритет планування нижчих).

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

Планувальнік віклікається такоже в двох других випадка: завершується Операція ВСТУП-Виведення; закінчується годину Очікування.

Перший випадок - Потік МІГ очікуваті цього вводу-виводу и тепер ВІН звільненій и может Виконувати. Звітність, сделать перевірку, щоб Побачити, чи винен ВІН вітісніті віконуючій Потік (оскількі НЕ існує гарантованого мінімального годині Виконання). Планувальнік віконується не в самому обробніку переривані (оскількі це может прізвесті до Відключення переривані на занадто довгий годину). Замість цього в черго ставитися відкладеній виклик процедури (DPC) - ВІН буде Виконувати после Завершення обробніка переривані. У іншому випадка Потік виконан down на семафорі або заблокувався на якомусь Іншому об'єкті, альо з тайм-аутом, Який Вже минувши. І знову-таки обробнікові переривані звітність, поставити в черго DPC (щоб унікнуті его Виконання во время роботи обробніка переривані таймера).

Если ПРОТЯГ цього тайм-ауту Потік ставши готуємо, то буде Виконання планувальнік, и ЯКЩО новий готовий до Виконання Потік має більш високий Пріоритет, то поточний Потік вітісняється (як у випадка 1).

Тепер розглянемо сам алгоритм планування. Інтерфейс Win32 API надає два API для роботи з планування потоків. Перший - виклик SetPriorit...


Назад | сторінка 14 з 19 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Грошовий потік
  • Реферат на тему: Грошовий фінансовий потік
  • Реферат на тему: Потік ЕНЕРГІЇ через популяцію
  • Реферат на тему: Підбір моделей річного ошатного сукні в систему для запуску в потік
  • Реферат на тему: Геоекологія підводних трубопроводів (На прикладі Чорноморського відрізка тр ...