Многопроцессорная обработка
Поддержка многонитиевости
Важным свойством ОС является возможность распараллеливания вычислений в рамках одной задачи. Многонитиевая ОС разделяет процессорное время ….. , а между их отдельными ветвями, то есть нитями.
Другим важным свойством ОС является отсутствие или наличие в ней средств поддержки многопроцессорной обработки, т.е. мультипроцессирование. Мультипроцессирование приводит к усложнению всех алгоритмов управления ресурсами. Многопроцессорные ОС могут классифицироваться по способам организации вычислительного процесса в системе:
a) Ассиметричные ОС
b) Симметричные ОС
Ассиметричные ОС целиком выполняются только на одном из процессоров системы, разделяет прикладные задачи по остальным процессорам.
Симметричная ОС полностью децентрализована и использует весь набор процессоров, разделяет их между системными и прикладными задачами.
Особенности областей использования. Многозадачная ОС подразделяется на 3 типа в соответствии с использованными при их разработке критериями эффективности.
1. Системы пакетной обработки
2. Системы разделения времени
3. Системы реального времени
Системы пакетной обработки предназначены для решения задач, в основном вычислительного характера, не требующих быстрого получения результатов. Главной целью и критерием эффективности таких систем является максимальная пропускная способность, т.е. решение максимального числа задач в единицу времени.
Для достижения этой цели в системах пакетной обработки используется следующая схема функционирования:
В начале работы формируется пакет заданий, каждая из которых содержит требование к системным ресурсам. Из этого пакета заданий формируется мультипрограммная смесь, то есть множество одновременно выполняемых задач. Для одновременного выполнения выбираются задачи, предъявляющие отличающиеся требования к ресурсам, так чтобы обеспечивалась сбалансированная загрузка всех устройств вычислительной машины. Т.о. выбор нового задания из пакета заданий зависит от внутренней ситуации, складывающейся в системе, т.е. выбирается «выгодное» задание . в таких ОС невозможно гарантировать выполнение того или иного задания в течении определенного периода времени. В таких ОС переключение процессора с выполнения одной задачи на выполнение другой происходит только в случае, если активная задача сама отказывается от процессора, например, из-за необходимости выполнить операцию ввода-вывода. Поэтому одна задача может на долго занять процессор, что делает невозможным выполнение интерактивных задач. Такой порядок снижает эффективность работы пользователя.
Системы разделения времени призваны исправить основной недостаток систем пакетной обработки, т.е. изоляцию пользователя от процесса выполнения его задач. Каждому пользователю таких систем предоставляется возможность вести диалог со своей программой, т.к. в системе разделения времени каждой задаче выделяется только квант процессорного времени, то ни одна задача не занимает процессор на долго и время ответа оказывается приемлемым, если квант выбран достаточно небольшим, то у всех пользователей одновременно работающих на одной и той же машине складывается впечатление, что каждый из них единолично использует машину. Система разделения времени обладает меньшей пропускной способностью чем системе пакетной обработки, т.к. на выполнение принимается каждая запущенная пользователем задача, а не та, которая «выгодна» системе.
Кроме того имеются накладные расходы вычислительной мощности на более частое переключение профессора с задачи на задачу. Поэтому критерием эффективности систем разделения времени является не макс. пропускная способность, а удобство и эффективность работы пользователя.
3. Системы реального времени. Системы реального времени применяются для управления различными техническими объектами (например станок, спутник) или технологическими процессами (гальваника, доменные процессы). Во всех этих случаях существует предельно допустимое время в течение которого должна быть выполнена та или иная программа управляющая объектом, в противном случае может произойти авария. Таким образом критерием эффективности для систем реального времени является их способность выдерживать заранее заданные интервалы времени между запуском программы и получением результата, т.е. управляющего воздействия. Это время называют временем реакции системы, а соответствующее свойство системы - реактивностью. Для этой систем мультипрограммная смесь представляет собой фиксированный набор заранее разработанных программ, а выбор программы на выполнение осуществляется исходя из текущего состояния объекта или в соответствии с расписанием плановых работ.
Некоторые ОС могут совмещать в себе свойства систем разных типов, например, часть задач может выполняться в режиме пакетной обработки, а часть в режиме реального времени или в режиме разделения времени. В таких случаях режим пакетной обработки называется фоновым режимом.
При описании ОС часто указываются особенности ее структурной организации и основные концепции положенные в ее основу. К таким концепциям относятся:
Первая концепция - способ построения ядра системы. Монолитное ядро или микроядерный подход. Большинство ОС использует монолитное ядро которое компонуется как одна программа работающая в привилегированном режиме и использующая быстрые переходы с одной процедуры на другую не требующее переключения из привилегированного режима в пользовательский и наоборот. Альтернативой является построение ОС на базе микроядра работающего также в привилегированном режиме и выполняющего только минимум функции по управлению аппаратурой, в то время как функции ОС более высокого уровня выполняются специализированными компонентами ОС работающими в пользовательском режиме. При таком построении ОС работает более медленно, т.к. часто выполняются переходы между привилегированным режимом и пользовательским. За то система получается более гибкой, ее функции можно наращивать, модифицировать или сужать.
Вторая базовая концепция - построение ОС на базе объектно-ориентированного подхода, это дает возможность использовать все его достоинства хорошо зарекомендовавшие себя на уровне приложений, т.е. позволяет накапливать удачные решения в форме стандартных объектов, дает возможность создания новых объектов на базе имеющихся с помощью механизма наследования, позволяет применять хорошую защиту данных за счет инкапсуляции, а также позволяет структуризировать систему из набора хорошо определенных объектов.
Третья концепция. Наличие нескольких прикладных средств. Данная концепция дает возможность в рамках одной ОС одновременно выполнять приложения разработанные для нескольких ОС. Такая концепция наиболее просто реализуется в ОС на базе микроядра.
Четвертая концепция - распределеная организация ОС. Такая концепция позволяет упростить работу пользователей в сетевых средах. В распределеной ОС реализованы механизмы, которые дают возможность представлять и воспринимать сеть в виде традиционного однопроцессорного компьютера. Характерными признаками распределеной организации ОС являются наличие единой справочной службы разделяемых ресурсов, единой службы времени, использование механизма вызова удаленных процедур для прозрачного распределения программ и задач по машинам, а также многонитьевой обработки позволяющих распараллеливать вычисления и выполнять их сразу на нескольких компьютерах сети, а также наличие других распределенных служб.