Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
realizaciya_mnogozadachnosti_v_windows_vista.doc
Скачиваний:
21
Добавлен:
28.03.2015
Размер:
138.75 Кб
Скачать

28

Введение

Windows Vista – это версия Microsoft Windows, из серии графических операционных систем для персональных компьютеров.

Одним из наиболее актуальных вопросов, которые решает любая многозадачная операционная система, в том числе и системы Windows Vista, состоит в организации по возможности простого, но эффективного способа предоставления процессорного времени различным параллельно выполняющимся программам. Другими словами, речь идет о диспетчеризации задач.

Многозадачность, в общем случае, означает способность операционной системы обеспечивать совместное использование процессора несколькими программами.

Объектом исследования в данной работе являются операционная система Windows Vista. Предметом исследования – реализация многозадачности в Windows Vista.

Данная работа имеет традиционную структуру и состоит из введения, в котором формулируется цель исследования, и ставятся задачи; трех глав, в которых последовательно решаются поставленные задачи, заключения и списка литературы.

Глава 1. Сущность многозадачности

1.1. Свойства многозадачной среды

Многозадачность (англ. multitasking) – свойство операционной системы или среды программирования, обеспечивать возможность параллельной (или псевдопараллельной) обработки нескольких процессов1. Истинная многозадачность операционной системы возможна только в распределенных вычислительных системах.

Примитивные многозадачные среды обеспечивают чистое «разделение ресурсов», когда за каждой задачей закрепляется определённый участок памяти, и задача активизируется в строго определённые интервалы времени.

Более развитые многозадачные системы проводят распределение ресурсов динамически, когда задача стартует в памяти или покидает память в зависимости от её приоритета и от стратегии системы. Такая многозадачная среда обладает следующими особенностями:

  • Каждая задача имеет свой приоритет, в соответствии с которым получает время и память.

  • Система организует очереди задач так, чтобы все задачи получили ресурсы, в зависимости от приоритетов и стратегии системы.

  • Система организует обработку прерываний, по которым задачи могут активироваться, деактивироваться и удаляться.

  • По окончании положенного кванта времени задача может временно выбрасываться из памяти, отдавая ресурсы другим задачам, а потом через определённое системой время, восстанавливаться в памяти (свопинг).

  • Система обеспечивает защиту памяти от несанкционированного вмешательства других задач.

  • Система решает конфликты доступа к ресурсам и устройствам, не допуская тупиковых ситуаций общего зависания от ожидания заблокированных ресурсов.

  • Система распознаёт сбои и зависания отдельных задач и прекращает их.

  • Система гарантирует каждой задаче, что рано или поздно она будет активирована.

  • Система обрабатывает запросы реального времени.

1.2. Типы псевдопараллельной многозадачности

Распределение процессов между имеющимися ресурсами носит название «планирование процессов».Существует два основных типа процедур планирования процессов –вытесняющие (preemptive) и невытесняющие (non-preemptive).

Невытесняющая многозадачность(non-preemptive multitasking) – это способ планирования процессов, при котором активный процесс выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление планировщику операционной системы для того, чтобы тот выбрал из очереди другой, готовый к выполнению процесс.

Вытесняющая многозадачность(preemptive multitasking) – это такой способ, при котором решение о переключении процессора с выполнения одного процесса на выполнение другого процесса принимается планировщиком операционной системы, а не самой активной задачей.

Основным различием между вытесняющими и невытесняющими вариантами многозадачности является степень централизации механизма планирования задач. При вытесняющей многозадачности механизм планирования задач целиком сосредоточен в операционной системе, а программист пишет свое приложение, не заботясь о том, что оно будет выполняться «параллельно» с другими задачами. При этом ОС выполняет следующие функции: определяет момент снятия с выполнения активной задачи, запоминает ее контекст, выбирает из очереди готовых задач следующую и запускает ее на выполнение, загружая ее контекст. При невытесняющей многозадачности механизм планирования распределен между ОС и прикладными программами. Прикладная программа, получив управление от ОС, сама определяет момент завершения своей очередной итерации и передает управление ОС с помощью какого-либо системного вызова, а ОС формирует очереди задач и выбирает в соответствии с некоторым алгоритмом (например, с учетом приоритетов) следующую задачу на выполнение. Такой механизм создает проблемы, как для пользователей, так и для разработчиков.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]