Реалізація багатозадачності в Windows Vista
Властивості багатозадачного середовища. Історія розвитку багатозадачних операційних систем. Моделювання режиму, процеси і потоки. Відповідність пріоритетів Win32 пріоритетам Windows. Етапи створення процесу функцією CreateProcess, диспетчер завдань.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 29.01.2014 |
Размер файла | 2,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
По-друге, якщо потік чекав на семафорі, мьютекс або іншу подію, то при його звільненні він отримує підвищення пріоритету на 2 рівня, якщо він знаходиться у фоновому процесі (наприклад, процес, який управляє вікном, у яке надсилається введення з клавіатури), і на 1 рівень у всіх інших випадках. Таке підвищення піднімає інтерактивні процеси над великою кількістю процесів, що знаходяться на рівні 8. І нарешті, якщо потік графічного інтерфейсу користувача прокидається з причини наявності вводу від користувача, то він також отримує підвищення (з тієї ж самої причини).
Такі підвищення робляться не назавжди. Вони вступають в дію негайно і можуть викликати зміни в плануванні процесора. Однак якщо потік використовує весь свій наступний квант, то він втрачає один рівень пріоритету і переміщується вниз на одну чергу в масиві пріоритетів. Якщо ж він використовує другий повний квант, то він переміщається вниз ще на один рівень - і так до тих пір, поки він не дійде до свого базового рівня (де і залишиться до наступного підвищення).
Є ще один випадок коригування пріоритетів. Уявімо, що два потоки працюють разом над завданням «виробник-споживач». Робота виробника важче, так що він отримує більш високий пріоритет (наприклад, 12), ніж споживач (пріоритет 4). У певний момент виробник заповнює спільно використовуваний буфер і блокується на семафорі (рис. 1.3.3.2. а.).
Рис. 1.3.3.2. Приклад інверсії пріоритетів
До того як споживач отримує можливість запуститися, якийсь інший потік з пріоритетом 8 отримує готовність і починає виконання (рис.1.3.3.2. б) .Цей потік зможе виконуватися стільки, скільки він захоче, - оскільки він має більш високий пріоритет планування, ніж споживач (а виробник, пріоритет якого ще вище, блокований). У таких обставинах виробник ніколи не зможе запуститися (поки потік з пріоритетом 8 не піде).
Windows вирішує цю проблему наступним способом. Система відстежує, скільки часу пройшло з того моменту, коли в останній раз виконувався готовий потік. Якщо цей час перевищує певну межу, то його пріоритет підвищується до 15 на час двох квантів. Це може дати їй можливість розблокувати виробника. Після закінчення двох квантів часу це підвищення різко знімається (а не зменшується поступово). Ймовірно, більш вдалим рішенням було б штрафувати потоки, які використовують свій квант знову і знову (знижувати їх пріоритет). Зрештою, проблема була викликана не голодним потоком, а ненажерливим. Ця проблема добре відома як інверсія пріоритетів (priority inversion).
Аналогічна проблема відбувається тоді, коли потік з пріоритетом 16 захоплює мьютекс і протягом тривалого часу не отримує можливості виконання (придушити таким чином більш важливі системні потоки, які чекають цей мьютекс). Цю проблему можна було б запобігти всередині операційної системи, якщо б потребує мьютекс потік на деякий короткий час відключав планування. (У багатопроцесорної системі слід використовувати спін-блокування.)
На клієнтських системах Windows значення кванта за замовчуванням дорівнює 20 мс. На серверних системах Windows - 180 мс. Короткий квант корисний інтерактивним користувачам, а довгий - зменшує кількість перемикань контексту і забезпечує таким чином більш високу ефективність.
Алгоритм планування має ще одну латочку: коли нове вікно стає вікном переднього плану, то всі його потоки отримують більш довгий квант (збільшений на певне значення, яке береться з реєстру). Це дає їм більше процесорного часу, що зазвичай забезпечує поліпшення сприйняття користувачем його роботи в цьому
Розділ 2. Практична частина
Windows Vista
Windows Vista --операційна система сімейства Microsoft Windows NT, призначена для користувальницьких персональних комп'ютерів. В стадії розробки дана операційна система мала кодову назву «Longhorn».
30 листопада 2006 року Microsoft офіційно випустила Windows Vista і Office 2007 для корпоративних клієнтів. 30 січня 2007 року почалися продажі системи для звичайних користувачів.
.
Рис. 2.1. Знімок екрану Windows Vista
Багатозадачність
Багатозадачність - це властивість операційної системи або середовища програмування, забезпечувати можливість паралельної обробки декількох прцесів. Основною ознакою багатозадачної ОС є здатність поєднувати виконання декількох прикладних програм.
Розрізняють два способи реалізації багатозадачності:
створити один процес, що має декілька потоків виконання (threads);
створити декілька процесів, кожен з яких має один або декілька потоків виконання.
Процес -- об'єкт операційної системи, контейнер системних ресурсів, призначених для підтримки виконання програми. Коли в середовищі операційної системи запускаєтьсяприкладна програма, система створює спеціальний об'єкт - процес, - який призначений для підтримки її виконання.
Рис 2.2. Процес та його ресурси
Основні етапи створення процесу функцією CreateProcess такі:
Відкривається файл образу (ЕХЕ), що буде виконуватися в процесі.
Створюється об'єкт "процес" виконавчої системи.
Створюється первинний потік (стек, контекст і об'єкт "потік" виконавчої системи).
Підсистема Windows повідомляється про створення нового процесу й потоку.
Починається виконання первинного потоку (якщо не зазначено прапорець CREATE_SUSPENDED- створити "завислим").
У контексті нового процесу й потоку ініціалізується адресний простір (наприклад, завантажуються необхідні DLL) і починається виконання програми.
Рис 2.3. Головні етапи створення процесу
Планувальник ОС
Планувальник ОС підтримує для кожного з базових рівнів пріоритету функціонування черги виконуваних або готових до виконання потоків (ready threads queue). Коли процесор стає доступним, то планувальник виробляє перемикання контекстів. Тут можна виділити такі кроки:
збереження контексту потоку, що завершує виконання; Об переміщення цього потоку в кінець своєї черги;
пошук черги з вищим пріоритетом, яка містить потоки, готові до виконання;
вибір першого потоку з цієї черги, завантаження його контексту і запуск на виконання.
Рис. 2.4. Витіснення потоку з нижчим пріоритетом
Task Manager (диспетчер завдань)
Найвідоміша утиліта для аналізу активності процесів у Windows - системний Task Manager (диспетчер завдань). У ядрі Windows немає такого поняття, як завдання, тому Task Manager насправді є інструментом для керування процесами. Диспетчер завдань Windows відображає список активних процесів.
Рис 2.5. Диспетчер завдань із списком процесів
Висновки
У даній роботі були розглянуті основні елементи теоретичних основ реалізації багатозадачності в Windows Vista.
Одним із ключових понять операційних систем є поняття «процесу». Процес являє собою деяку послідовність операцій при виконанні програми або її частини в сукупності з використовуваними даними. Підсистема управління процесами планує виконання процесів, тобто розподіляє процесорний час між декількома одночасно існуючими в системі процесами, а також займається створенням і знищенням процесів, забезпечує процеси необхідними системними ресурсами, підтримує взаємодію між процесами.
Основні типи процедур планування процесів - невитісняюча та витісняюча. При невитісняючій процедурі планування (невитісняючій багатозадачності) активний процес виконується до тих пір, поки він сам, за власною ініціативою, не віддасть керування планувальнику ОС для того, щоб той вибрав з черги інший, готовий до виконання процес. При витісняючій процедурі планування (витісняючій багатозадачності) рішення про переключення процесора з виконання одного процесу на виконання іншого процесу приймається планувальником ОС, а не самою активною задачею.
Таким чином, багатозадачність - характеристика операційної системи, що забезпечує (псевдо) одночасне виконання декількох завдань на одному комп'ютері.
Список використаної літератури
Гордеев А.В. Операционные системы: Учебник. СПб.: Питер, 2004. - 416 с. С. 369-
Левин А.М. Энциклопедия пользователей персональных компьютеров. СПб.: Питер, 2010. - 908 с.
Олифер В.Г., Олифер Н.А. Сетевые операционные системы: Учебник для ВУЗов. СПб.: Питер, 2007. - 544 с.
Руководство по Windows Vista. Корпорация Майкрософт (Microsoft Corp.), 2006.
Таненбаум Э. Современные операционные системы. СПб.: Питер, 2010. - 1120 с.
Таненбаум Э., Вудхалл А. Операционные системы. Разработка и реализация. СПб.: Питер, 2007. - 704 с.
Храпский С. Ф. Операционные системы, среды и оболочки. Основные теоретические сведения: Учебное пособие. - Омск: ОГИС, 2005. - 268 c.
Размещено на Allbest.ru
Подобные документы
Передумови виникнення ОС Windows. Архітектура Windows з точки зору обєктно-орієнтованого програмування. Процеси та потоки Windows. Переваги та недоліки Windows на прикладі WindowsNT 2002.
курсовая работа [160,6 K], добавлен 06.09.2007Общее понятие об оперативной системе Windows Vista. Сравнительный анализ систем Windows XP и Windows Vista. Специфика процесса установки, трехмерный интерфейс Aero Glass, действие некоторых мини-приложений. Новости управления папками, работа в интернете.
реферат [2,4 M], добавлен 01.02.2010Новая операционная система – Windows Vista. Новая интеллектуальная технология управления системной памятью. Обеспечение совместимости. Преимущества Windows Vista перед Windows XP. Варианты программного обеспечения Windows Vista. Свойство мобильности.
реферат [18,6 K], добавлен 19.11.2008Основные выпуски (редакции) операционных систем Windows Vista и Windows Seven, их недостатки и преимущества. История создания, совместимость приложений с операционными системами. Новшества, которые принесла в мир компьютерных технологий каждая из систем.
реферат [66,3 K], добавлен 17.02.2011Windows Vista как клиентская операционная система семейства Microsoft Windows NT, этапы разработки. История создания Windows Vista. Основные особенности технологии ReadyBoost. User Account Control как система контроля учетных записей пользователей.
реферат [23,7 K], добавлен 13.10.2012Прорыв на рынок Windows как графической оболочки MS-DOS. Рассмотрение интерфейса, функций, системных требований и отличительных особенностей поколений операционных систем Windows: 9x, NT, NET, Vista. Анализ мобильности и безопасности последней версии ОС.
реферат [1,4 M], добавлен 16.01.2010Общая характеристика, история разработки и возможности Windows Vista - операционной системы, одной из ведущих продуктов на мировом рынке. Описание аппаратных требований и процесса установки. Отличительные черты, преимущества и недостатки Windows Vista.
презентация [4,7 M], добавлен 24.05.2010Vista: понятие, методика проектирования. Зараженность персональных компьютеров с различными версиями операционных систем Windows. Оснастка "Брандмауэр Windows в режиме повышенной безопасности". Режим работы IE 7.0, возможности, безопасные соединения.
лекция [2,3 M], добавлен 20.12.2013Опис підготовки та основних особливостей розгортання операційних систем Windows XP. Типи файлів, застосовувані в установці. Установка еталонної копії. Інтеграція пакетів виправлень і обновлень. Порівняння технологій розгортання в Windows XP та Windows 7.
контрольная работа [1,2 M], добавлен 22.04.2011Основні поняття багатозадачності в Windows: процес (задача) і потік (нитка). Набір ресурсів і даних, що використовуються при виконанні програми; засоби, які спрощують синхронізацію потоків. Робота з критичними секціями, види синхронізаторів процесів.
контрольная работа [48,9 K], добавлен 29.06.2010