Автор работы: Пользователь скрыл имя, 26 Сентября 2013 в 21:57, курсовая работа
Таким чином, метою даної роботи є розгляд реалізації багатозадачності в Windows Vista. Для досягнення поставленої мети необхідно вирішити наступні завдання:
Висвітлити сутність багатозадачності.
Вивчити модель режиму багатозадачності.
Приділити особливу увагу розгляду реалізації багатозадачності в Windows Vista.
Об'єктом дослідження в даній роботі є операційна система Windows Vista. Предметом дослідження - реалізація багатозадачності в Windows Vista.
Вступ 3
Розділ 1. Теоретична частина 4
1.1.Суть багатозадачності 4
1.1.1. Властивості багатозадачного середовища 4
1.1.2.Типи псевдопаралельної багатозадачності 6
1.2. Моделювання режиму багатозадачності 12
1.2.1.Процеси і потоки 12
1.2.2.Стан процесу 15
1.3. Реалізяція багатозадачності в Windows Vista 21
1.3.1.Фундаментальні концепції 21
1.3.2. Реалізація процесів і потоків в Windows Vista 27
1.3.3. Планування 30
Розділ 2. Практична частина 38
Висновки 43
Список використаної літератури 44
Є ще один випадок коригування пріоритетів. Уявімо, що два потоки працюють разом над завданням «виробник-споживач». Робота виробника важче, так що він отримує більш високий пріоритет (наприклад, 12), ніж споживач (пріоритет 4). У певний момент виробник заповнює спільно використовуваний буфер і блокується на семафорі (рис. 1.3.3.2. а.).
Рис. 1.3.3.2. Приклад інверсії пріоритетів
До того як споживач отримує можливість запуститися, якийсь інший потік з пріоритетом 8 отримує готовність і починає виконання (рис.1.3.3.2. б) .Цей потік зможе виконуватися стільки, скільки він захоче, - оскільки він має більш високий пріоритет планування, ніж споживач (а виробник, пріоритет якого ще вище, блокований). У таких обставинах виробник ніколи не зможе запуститися (поки потік з пріоритетом 8 не піде).
Windows вирішує цю проблему
наступним способом. Система відстежує,
скільки часу пройшло з того
моменту, коли в останній раз
виконувався готовий потік.
Аналогічна проблема відбувається тоді, коли потік з пріоритетом 16 захоплює мьютекс і протягом тривалого часу не отримує можливості виконання (придушити таким чином більш важливі системні потоки, які чекають цей мьютекс). Цю проблему можна було б запобігти всередині операційної системи, якщо б потребує мьютекс потік на деякий короткий час відключав планування. (У багатопроцесорної системі слід використовувати спін-блокування.)
На клієнтських системах Windows значення кванта за замовчуванням дорівнює 20 мс. На серверних системах Windows - 180 мс. Короткий квант корисний інтерактивним користувачам, а довгий - зменшує кількість перемикань контексту і забезпечує таким чином більш високу ефективність.
Алгоритм планування має ще одну латочку: коли нове вікно стає вікном переднього плану, то всі його потоки отримують більш довгий квант (збільшений на певне значення, яке береться з реєстру). Це дає їм більше процесорного часу, що зазвичай забезпечує поліпшення сприйняття користувачем його роботи в цьому
Windows Vista
Windows Vista —операційна система сімейства Microsoft Windows NT, призначена для користувальницьких персональних комп'ютерів. В стадії розробки дана операційна система мала кодову назву «Longhorn».
30 листопада 2006 року Microsoft офіційно випустила Windows Vista і Office 2007 для корпоративних клієнтів. 30 січня 2007 року почалися продажі системи для звичайних користувачів.
.
Рис. 2.1. Знімок екрану Windows Vista
Багатозадачність
Багатозадачність – це властивість операційної системи або середовища програмування, забезпечувати можливість паралельної обробки декількох прцесів. Основною ознакою багатозадачної ОС є здатність поєднувати виконання декількох прикладних програм.
Розрізняють два способи реалізації багатозадачності:
Процес — об'єкт операційної системи, контейнер системних ресурсів, призначених для підтримки виконання програми. Коли в середовищі операційної системи запускаєтьсяприкладна програма, система створює спеціальний об’єкт – процес, – який призначений для підтримки її виконання.
Рис 2.2. Процес та його ресурси
Основні етапи створення процесу функцією CreateProcess такі:
Рис 2.3. Головні етапи створення процесу
Планувальник ОС
Планувальник ОС підтримує для кожного з базових рівнів пріоритету функціонування черги виконуваних або готових до виконання потоків (ready threads queue). Коли процесор стає доступним, то планувальник виробляє перемикання контекстів. Тут можна виділити такі кроки:
Рис. 2.4. Витіснення потоку з нижчим пріоритетом
Task Manager (диспетчер завдань)
Найвідоміша утиліта для аналізу активності процесів у Windows – системний Task Manager (диспетчер завдань). У ядрі Windows немає такого поняття, як завдання, тому Task Manager насправді є інструментом для керування процесами. Диспетчер завдань Windows відображає список активних процесів.
Рис 2.5. Диспетчер завдань із списком процесів
У даній роботі були розглянуті основні елементи теоретичних основ реалізації багатозадачності в Windows Vista.
Одним із ключових понять операційних
систем є поняття «процесу». Процес
являє собою деяку
Основні типи процедур планування процесів – невитісняюча та витісняюча. При невитісняючій процедурі планування (невитісняючій багатозадачності) активний процес виконується до тих пір, поки він сам, за власною ініціативою, не віддасть керування планувальнику ОС для того, щоб той вибрав з черги інший, готовий до виконання процес. При витісняючій процедурі планування (витісняючій багатозадачності) рішення про переключення процесора з виконання одного процесу на виконання іншого процесу приймається планувальником ОС, а не самою активною задачею.
Таким чином, багатозадачність - характеристика операційної системи, що забезпечує (псевдо) одночасне виконання декількох завдань на одному комп'ютері.
Информация о работе Реалізація багатозадачності в Windows Vista