Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Виртуальный процессор



Рис.2.3. Граф состояний процесса в системе с приостанавливаемыми процессами

Возможность вмешательства в выполнение функции управления процессами путем реализации соответствующих операций повышает гибкость системы, позволяет выводить ее из конфликтных ситуаций, разрешая менять установленный порядок распределения ресурсов, перепланировать очередность выполнения процессов. Кроме того, использование приостановки (задержки) процессов позволяет регулировать нагрузки системы. Эти средства операционной системы полезны в тех случаях, когда

– есть сбои в работе системы (текущие процессы можно приостановить, проанализировать состояние системы, исправить обнаруженные ошибки и возобновить выполнение приостановленных процессов);

– возникает необходимость проанализировать промежуточные результаты выполнения программы;

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

Одна из основных функций, выполняемых ОС, функция управления процессами. Эта функция выполняется как в отношении каждого отдельного процесса, так и в отношении всей их совокупности в ВС. Данная функция расшифровывается как функция обеспечения реализации каждого из возможных состояний процесса и допустимых переходов из состояния в состояние в ответ на события, которые могут быть причиной изменения состояния процесса. Эти события могут инициироваться как самим процессом, так и извне.

Операционные системы, реализующие функцию управления процессами, должны иметь возможность выполнять определенные операции, изменяющие состояние системы:

– создание (порождение) процесса;

– уничтожение процесса (завершение);

– блокирование процесса (перевод в состояние ожидания);

– разблокирование процесса (перевод в состояние готовности);

– активизация процесса (переключение процессора на выполнение соответствующей программы, запуск процесса);

– прерывание процесса (приостановка выполнения программы в результате внешнего события, например, истечения кванта времени, выделенного процессору, - перевод процесса из состояния активности в состояние готовности).

Кроме того, как уже было показано, операционная система может выполнять дополнительно операции, изменяющие состояние процесса:

– приостановки (задержки) процесса;

– возобновления задержанного процесса.

Межпроцессорное взаимодействие реализуется операциями над общими ресурсами, используемыми процессами. Проблемы, возникающие в связи с необходимостью согласования выполнения программ в ВС, рассматриваются ниже (проблема взаимного исключения и реализации критических секций и проблема тупика).

В системах, поддерживающих многопоточность, существуют как объекты, представляющие процессы, так и объекты, соответствующие потокам, операции также реализуются не только для процессов, но и для потоков.

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

Например, в OS/2 отслеживаются состояния отдельных потоков процесса, а не самого процесса. Каждый созданный поток в системе может находиться в одном из трех состояний:

– активном (Running) - поток выполняется в данный момент;

– готовым к продолжению выполнения (Ready to run) - поток готов к выполнению своей функции и ждет завершения работы других потоков;

– заблокированным (Blocked) - поток ожидает некоторого события (например, выполнения операции ввода/вывода), необходимого для его продолжения.

При реализации функции управления процессами ОС предоставляет процессам процессор и другие ресурсы, планирует взаимодействие самих процессов (если необходимо). Таким образом, функции управления процессами и ресурсами в ВС тесно связаны.

Планирование процессов

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

Планировщик - это программа в составе операционной системы, определяющая порядок предоставления общих ресурсов ВС процессам, запрашивающим эти ресурсы.

При построении системы управления процессами в большинстве операционных систем принята многоуровневая схема. Это означает, что в ОС различают несколько типов планировщиков, которые выполняют планирование на соответствующих уровнях. Эти планировщики носят различные названия в разных ОС, а в совокупности они и составляют систему управления процессами.

Наличие нескольких уровней управления процессами обусловлено частотным принципом построения ОС, а также существованием в системе процессов различных уровней. В общем случае выделяют три уровня планирования:

– планирование верхнего уровня (или долгосрочное планирование),

– планирование среднего уровня (среднесрочное планирование),

– планирование на нижнем уровне (краткосрочное планирование, иногда называемое диспетчеризацией).

Средства планировщиков верхнего уровня определяют, каким программам будет разрешено активно конкурировать за захват ресурсов системы. Этот вид планирования называют еще планированием допуска в систему, так как на этом уровне определяется, какие программы будут допущены в систему (вошедшие в систему программы становятся процессами). Этот тип планирования выполняется для каждого процесса лишь один раз - при вводе в систему, поэтому этот уровень планирования и называют долгосрочным.

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

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

Во многих системах промежуточный уровень планирования не используется. Большинство систем планирования являются двухуровневыми. Связь между уровнями планирования и операциями, выполняемыми над процессами, а также состояниями процессов в двухуровневой системе, показана на рис.2.4.

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

– являются ли процессы пакетными или диалоговыми или процессами реального времени;

– приоритетность процессов (для процессов более высокого приоритета должны создаваться лучшие условия);

– какие ресурсы требуются для выполнения процессов и их количество;

– насколько часто при выполнении процессов происходят прерывания для обращения к системным функциям.

Планировщики различных уровней могут использовать при работе одни и те же алгоритмы, реализовывать общие методы планирования. Далее рассматривается организация планировщиков, ответственных за распределение времени центрального процессора в мультипроцессорной ОС.

Существуют дисциплины планирования без переключения и с переключением центрального процессора. Если после предоставления центрального процессора в распоряжение какого-либо процесса этот ресурс не может быть отобран и перераспределен, то говорят о дисциплине планирования без переключения. Если же распределенный процессу центральный процессор можно перераспределить до окончания его использования активным процессом, передав управление другому процессу, то говорят о дисциплине планирования с переключением. Планирование с переключением необходимо в системах, в которых процессы с высокими приоритетами требуют немедленного предоставления им центрального процессора, в системах реального времени и интерактивных системах.

Самая простая дисциплина планирования - планирование по принципу “ первый пришедший обслуживается первым ” (FIFO - First In First Out). В данном случае центральный процессор предоставляется в распоряжение процессов в порядке их поступления в очередь процессов, находящихся в состоянии готовности (рис.3.5).





Дата публикования: 2014-11-29; Прочитано: 375 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...