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

бесплатно 0
4.5 70
Властивості багатозадачного середовища. Історія розвитку багатозадачних операційних систем. Моделювання режиму, процеси і потоки. Відповідність пріоритетів Win32 пріоритетам Windows. Етапи створення процесу функцією CreateProcess, диспетчер завдань.


Аннотация к работе
Windows Vista - це версія Microsoft Windows, із серії графічних операційних систем для персональних компютерів, яка використовується як для дому так і для роботи. До оголошення про її розробку 22 липня 2005, Vista була відома як Longhorn. 8 листопада 2006, розробка Windows Vista була завершена і версія вийшла в продаж. Одним з найбільш актуальних питань, які вирішує будь багатозадачна операційна система, в тому числі і система Windows Vista, полягає в організації можливості простого, але ефективного способу надання процесорного часу різним паралельно виконуючим програмам.Примітивні багатозадачні середовища забезпечують чисте «розділення ресурсів», коли за кожною задачею закріплюється певна ділянка памяті, і завдання активізується в строго певні інтервали часу. Більш розвинені багатозадачні системи проводять розподіл ресурсів динамічно, коли завдання стартує в памяті або покидає память залежно від її пріоритету і від стратегії системи. Система організовує черги завдань так, щоб всі завдання отримали ресурси, в залежності від пріоритетів та стратегії системи. По закінченні відведеного часу завдання може тимчасово викидатися з памяті, віддаючи ресурси іншим завданням, а потім через певний системою час, відновлюватися в памяті.Невитісняюча багатозадачність (non-preemptive multitasking) - це спосіб планування процесів, при якому активний процес виконується до тих пір, поки він сам, за власною ініціативою, не віддасть керування планувальнику ОС для того, щоб той вибрав з черги інший, готовий до виконання процес. Витісняюча багатозадачність (preemptive multitasking) - це такий спосіб, при якому рішення про переключення процесора з виконання одного процесу на виконання іншого процесу приймається планувальником ОС, а не самою активною задачею. При витісняючій багатозадачності механізм планування задач цілком зосереджений в операційній системі, а програміст пише свій додаток, не піклуючись про те, що воно буде виконуватися «паралельно» з іншими завданнями. Прикладна програма, отримавши керування від ОС, сама визначає момент завершення своєї чергової ітерації і передає керування ОС за допомогою будь-якого системного виклику, а ОС формує черги задач і вибирає відповідно до деякого алгоритму (наприклад, з урахуванням пріоритетів) наступну задачу на виконання . Якщо додаток витрачає занадто багато часу на виконання будь-якої роботи, наприклад, на форматування диска, користувач не може переключитися з цього завдання на інше завдання, наприклад, на текстовий редактор, в той час як форматування могло б продовжуватися у фоновому режимі.Розрізняють два способи реалізації багатозадачності: - Створити один процес, що має кілька потоків виконання (threads); Багатозадачна (multi-process) система дозволяє двом або більше програмам виконуватися одночасно. Багатопотокова (multi-threaded) система дозволяє одній програмі виконувати відразу декілька потоків одночасно. Наприклад, додаток за розрахунком параметрів турбогенератора може складатися з зручної оболонки, написаної на мові C (головний процес), і обчислювальних модулів, написаних на мові FORTRAN і запускаються у вигляді окремих (породжених) процесів. Потік може виконувати якусь частину загального коду процесу, в тому числі і ту частину, яка в цей час вже виконується іншим потоком.Будь-який процес у багатозадачній ОС багаторазово відчуває перехід з одного стану в інший. Робота (running) - в цьому стані знаходиться процес, програму якого в даний момент виконує процесор. Готовність (ready) - стан, процес якого може бути переведений в стан роботи, як тільки це визнає потрібним зробити ОС. Блокування або, що те ж саме, сон (sleeping, waiting) - стан, в якому процес не може продовжувати виконання, поки не відбудеться деяка зовнішня по відношенню до процесу подія. Будь-яка багатозадачна ОС надає в розпорядження прикладних програм набір функцій, що переводять процес в стан сну, в якому процес не намагається використовувати процесорний час (іншими словами, стан сну є стан пасивного очікування).Наявність декількох процесорів дозволяє одночасно виконувати частині програм, тому NT застосовувала процеси як контейнери для спільного використання памяті і ресурсів обєктів, а потоки - як одиницю паралельності (для планування). Вона була спеціально створена для групування процесів з метою застосування обмежень до присутніх в них потоках, таких як обмеження використання ресурсів за допомогою спільно використовуваної квоти або застосування маркера обмеженого доступу (restricted token), який не дозволяє потокам звертатися до багатьох системних обєктів. Найважливішою властивістю завдань (в плані управління ресурсами) є те, що з того моменту, як процес виявився в завданні, всі створені (у цих процесах) потоками процеси будуть також перебувати в цьому завданні. Потоки перетворюються в волокна, однак волокна можуть створюватися і незалежно від потоків. Для спрощення взаємодії між потоками і волокнами часто буває корисно створювати рівно стільки потоків, скільки є процесорів для їх виконання, а також а

План
Зміст багатозадачність пріоритет windows

Вступ

Розділ 1. Теоретична частина

1.1 Суть багатозадачності

1.1.1 Властивості багатозадачного середовища

1.1.2Типи псевдопаралельної багатозадачності

1.2 Моделювання режиму багатозадачності

1.2.1 Процеси і потоки

1.2.2 Стан процесу

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

1.3.1 Фундаментальні концепці

1.3.2 Реалізація процесів і потоків в Windows Vista

1.3.3 Планування

Розділ 2. Практична частина

Висновки

Список використаної літератури
Заказать написание новой работы



Дисциплины научных работ



Хотите, перезвоним вам?