
Тема 3. Классификация ос.
Рассмотрим классификацию ОС по нескольким наиболее важным признакам
3.1. Классификация ОС по особенностям алгоритмов управления ресурсами.
В зависимости от особенностей используемого алгоритма управления процессором ОС делятся на многозадачные и однозадачные, многопользовательские и однопользовательские, на системы, поддерживающие многонитевую обработку и не поддерживающие ее, многопроцессорные и однопроцессорные системы.
Поддержка многозадачности. По числу задач ОС делятся на 2 класса: однозадачные (MS-DOS,MSX) и многозадачные (Windows,Unix,Linux). Однозадачные ОС в основном выполняют функцию виртуальной машины, упрощая процесс взаимодействия пользователя с компьютером. Однозадачные ОС включают средства управлений периферийными устройствами, средствами управления файлов и средства общения с пользователем. Многозадачные ОС, кроме перечисленных функций, управляют разделением совместно используемых ресурсов, таких как процессор,RAM, файлы и внешние устройства. Существует вытесняющая и невытесняющая многозадачность. Важнейшим разделяемым ресурсом является процессорное время, поэтому его способ распределения между процессами во многом определяет специфику ОС. При этом основным различием между вытесняющим (Windows NT,Unix,OS/2) и не вытесняющие(NetWare, Windows 3.x) вариантами многозадачности является степень централизации механизма планирования процессов. В первом случае планирование целиком сосредоточено в ОС, а во втором распределено между системой и прикладными программами. При не вытесняющей многозадачности активный процесс выполняется до тех пор, пока не отдаст управление операционной системе, и уже ОС выбирает из очереди другой готовый процесс. При вытесняющей многозадачности решение о переключении процессора с одного процесса на другой принимается самой ОС.
Поддержка многонитиевости. Важным свойством ОС является возможность распараллеливания вычислений в рамках одной задачи. Многонитиевая ОС распределяет процессорное время не только между задачами, но и между их отдельными ветвями (нитями).
Многопроцессорная обработка. Еще одним важным свойством системы является поддержка многопроцессорной обработки, т.е. мультипроцессирование. В общем случае, мультипроцессирование приводит к усложнению всех алгоритмов управления ресурсами. Многопроцессорные системы требуют от ОС особой организации, с помощью которой сама ОС, а также поддерживаемые ею приложения могли бы выполняться параллельно отдельными процессорами. Параллельная работа модуля ОС создает дополнительную проблему для разработчиков, так как в этом случае гораздо сложнее обеспечить согласованный доступ отдельных процессов к общим системным таблицам, исключить эффект гона и прочие нежелательные последствия асинхронного выполнения работы. Многопроцессорные ОС классифицируются по способу организации вычислительного процесса. Выделяют симметричные и асимметричные операционные системы. Ассиметричная система целиком выполняется на одном процессоре, распределяя прикладные задачи по остальным. Симметричная ОС полностью децентрализована и использует весь набор процессоров, распределяя между системными и прикладными задачами.
3.2. Классификация ОС по особенностям аппаратных платформ.
На свойства ОС оказывают влияние аппаратные средства, на которые она ориентирована. По типу аппаратуры различают ОС персональных компьютеров, мини- компьютеров, мейнфреймов, кластеров и сетей. Как правило, ОС мейнфрейма являются более сложными и функциональными, чем ОС персонального компьютера. Так, например, функции по клонированию потока выполняемых задач реализуются путем использования сложных приоритетных дисциплин и требуют большей вычислительной мощностей, чем в ОС ПК. Сетевые ОС имеют в своем составе средства передачи сообщений между компьютерами по линиям связи, которые обычно не нужны в автономных ОС. На основе этих сообщений сетевая ОС поддерживает разделение ресурсов компьютера между удаленными пользователями, подключенными к сети. Для поддержания функций передачи сообщений сетевые ОС содержат компоненты, реализующие коммуникационные протоколы (TCP/IP, IPX и другие). Более жесткие требования предъявляют к ОС кластер. Кластер – это слабо связанная совокупность нескольких вычислительных систем, работающих совместно для выполнения общих приложений и представляющейся пользователю единой системы. Поддержка кластеров со стороны ОС сводится к синхронизации доступа, обнаружению отказов и динамической реконфигурации системы. Одой из первых разработок в области кластерных технологий была ОС от компании Digital Equipment на базе компьютеров VAX. Сейчас для построения кластеров чаще всего используют UNIX. Наряду с ОС, ориентированный на совершенно определенный тип аппаратной платформы, существуют также ОС, разработанные таким образом, что они могут быть легко перенесены с одной аппаратной платформы на другую. Примером такой ОС является UNIX. В подобных системах аппаратно зависимые части локализованы, и при переносе систем на новую платформу переписываются только они. Остальная часть ОС пишется на машинном независимом языке (например, С).
3.3. Классификация ОС по особенностям областей использования.
Многозадачные ОС подразделяются на 3 типа в соответствии с использованными при их разработки эффективности.
1)Системы пакетной обработки
2)Системы разделения времени(Unix,Windows,Linux)
3)Системы реального времени(QNX,RT/11)
Системы пакетной обработки в основном предназначены для задач вычислит обработки. Главной целью и критерием эффективности является максимальная пропускная способность, т.е. решение наибольшего числа задач в единицу времени. Для этого в начале работы формируется пакет заданий, каждый из которых содержит требования к системным ресурсам. Из этого пакета формируется мультипрограммная смесь, т.е. множество одновременно выполняемых задач, при этом для выполнения выбираются те задачи, которые предъявляют отличающиеся требования к ресурсам, и таким образом обеспечивается сбалансированная нагрузка всех устройств вычислительной машины. Таким образом, выбор нового задания из пакета зависит от внутренней ситуации в системе. По возможности выбирается боле выгодное задание. В таких ОС невозможно гарантировать выполнение того или иного задания за определенный период времени. Переключение процессора с одной задачи на другую происходит только в случае, если активная задача сама отказывается от процессора, например, из-за необходимости выполнить операцию ввода-вывода. Одна задача может долго занять процессор, что исключает возможность выполнения интерактивных задач. Взаимодействие пользователя с вычислительной машиной пакетной обработки сводится к тому, что он приносит задание, отдает его оператору, и в конце после выполнения всего пакета выдает результат. Такой подход снижает эффективность работы пользователя.
Системы разделения времени призваны исправить основной недостаток систем пакетной обработки – изоляцию пользователя-программиста от выполнения его задач. Каждому пользователю система разделения времени предоставляется терминал, с которого он может вести диалог со своей программой. Так как в подобных системах каждой задаче дается только квант времени, ни одна из них не занимает процессор надолго, и время ответа оказывается приемлемым. Система разделения времени обладают меньшей пропускной способностью. Кроме того, возникают накладные расходы, связанные с более частым переключением процессора с задачи на задачу. Критерием эффективности систем разделения времени является удобство и производительность пользователя.
Системы реального времени применяются для управления различными техническими объектами (станок, спутник, энергоблок, отдельный технологический процесс). Во всех этих случаях существует предельно-допустимое время, в течение которого должна быть выполнена программа, управляющая этим объектом, в противном случае может произойти авария. Критерием эффективности для систем реального времени является их способность удерживать заранее заданные интервалы времени между запуском программы и получением результата. Это время называется временем реакции системы. Для этих систем мультипрограммная смесь представляет собой фиксированный набор заранее разработанных программ, причем выбор программы на выполнение осуществляется исходя из текущего состояния объекта или в соответствии с планом выполнения работ.
Некоторые ОС могут совмещать свойства систем разных типов. Например, часть задач может выполняться в режиме пакетной обработки, а часть в режиме реального времени или разделения времени. В таких случаях, режим пакетной обработки называют фоновым режимом.
3.4. Особенности методов построения ОС.
Современные ОС, также как и приложения, строятся на основе объектно-ориентированного подхода. Достоинства такого подхода очевидны: накопление удачных решений в виде стандартных объектов, возможность создания новых объектов на базе уже имеющихся с помощью механизма наследования, хорошая защита данных засчет их инкапсуляции во внутренние структуры объекта, а также структурированность системы, состоящих из набора хорошо определенных объектов. Наличие нескольких прикладных сред дает возможность в рамках одной ОС одновременно выполнять приложения, разработанные для разных ОС. Многие современные ОС поддерживают прикладные среды Ms-Dos, Windows, UNIX, POSIX, OS/2, или хотя бы часть из них. Концепция множественных прикладных сред наиболее просто реализуется в ОС на базе микроядра, где различные серверы, реализующие прикладную среду той или иной ОС, работают как отдельные модули.
Распределенная организация ОС позволяет упростить работу пользователей и программистов в сетевых средах. В распределенной ОС реализованы механизмы, которые дают возможность пользователю представлять и воспринимать сеть в виде традиционного компьютера. Характерными признаками организации распределенной ОС являются:
1)Наличие единой справочной службы разделяемых ресурсов.
2)Единая служба времени.
3)Использование механизма вызова удаленных процедур(RPC) для прозрачного распределения вычислений по машинам.
4)Наличие многонитиевой обработки, позволяющее распараллеливать вычисление в рамке задачи и выполнять ее сразу на нескольких компьютерах.
5)Наличие других распределенных служб.