Классификация операционных систем

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

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

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

От эффективности алгоритмов управления локальными ресурсами компьютера во многом зависит эффективность всей сетевой ОС в целом.

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

Однозадачные и многозадачные операционные системы. По числу одновременно выполняемых задач операционные системы делятся на два класса:

• однозадачные (например, MS DOS, MSX);

• многозадачные(ОС ЕС, OS/2, Unix, ОС семейства Windows) и др.

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

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

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

• невытесняющая многозадачность (NetWare, Windows 3.x);

• вытесняющая многозадачность (Windows NT, OS/2, Unix).

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

В зависимости от областей использования многозадачные ОС подразделяются на три типа:

• системы пакетной обработки (например, ОС ЕС);

• системы с разделением времени (Unix, VMS, Windows, Linux);

• системы реального времени(QNX, RT/11).

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

Таким образом, выбор нового задания из пакета заданий зависит от внутренней ситуации, складывающейся в системе, т.е. выбирается наиболее оптимальное, “выгодное” задание. Следовательно, в таких ОС невозможно гарантировать выполнение того или иного задания в течение определенного периода времени. В системах пакетной обработки переключение процессора с выполнения одной задачи на выполнение другой происходит только в случае, если активная задача сама отказывается от процессора, например, из-за необходимости выполнить операцию ввода-вывода. Очевидно, что такой алгоритм вычислительного процесса снижает эффективность работы пользователя в интерактивном режиме, но остается актуальным для обеспечения высокой производительности при обработке больших объемов информации и до настоящего времени, особенно в прикладных информационных системах.

Системы с разделением времени. В системах с разделением времени каждой задаче выделяется небольшой квант процессорного времени, ни одна задача не занимает процессор надолго и время ответа оказывается приемлемым. Если квант выбран достаточно небольшим, то это предполагает параллельное выполнение нескольких программ, существующих в рамках одной вычислительной системы. Ясно, что подобные системы обладают меньшей пропускной способностью, чем системы пакетной обработки, так как на выполнение принимается каждая запущенная пользователем задача, а не та, которая “выгодна” системе. Критерием эффективности систем с разделением времени является не максимальная пропускная способность процессора, а эффективность работы пользователя в интерактивном режиме.

Системы реального времени (ОС РВ) применяются для управления различными техническими объектами (такими, как станок, спутник, научная экспериментальная установка) или технологическими процессами (гальваническая линия, доменный процесс и т.п.). Применяют ОС РВ и в банковском деле. Критерием эффективности для систем реального времени является их способность выдерживать заранее заданные интервалы времени между запуском программы и получением результата (управляющего воздействия). Это время называется временем реакции системы, а соответствующее свойство системы – реактивностью. Среди наиболее известных ОС РВ для IBM PC – RTMX, AMX, OS-9000, FLEX OS, QNX и др. Среди перечисленных ОС наиболее полным набором инструментальных средств обладает ОС РВ QNX, которая выполняет 32-разрядные приложения и может работать совместно с ОС семейства Unix.

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

Многопользовательский и однопользовательский режимы. По числу одновременно работающих пользователей ОС могут быть разделены на однопользовательские (MS DOS, Windows 3.x) и многопользовательские(Unix, Windows NT, Windows XP, Linux).

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

Многопроцессорные и однопроцессорные системы. Другим важным свойством ОС является отсутствие или наличие в ней средств поддержки многопроцессорной обработки. В наши дни становится общепринятым введение в ОС функций поддержки многопроцессорной обработки данных. Такие функции имеются в операционных системах Solaris 2.x фирмы Sun, Open Server 3.x компании Santa Crus Operations, OS/2 фирмы IBM, Windows NT фирмы Microsoft и NetWare 4.1 фирмы Novell.

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

Одним из важных признаков классификации ОС является деление их на сетевые и локальные.

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

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

Сетевая операционная система составляет основу любой вычислительной сети.

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

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

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

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

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

В сетевой операционной системе отдельной машины можно выделить несколько частей:

• средства управления локальными ресурсами компьютера: функции распределения оперативной памяти между планированием и диспетчеризацией процессов, управления процессорами в многопроцессорных машинах, управления периферийными устройствами и другие функции управления ресурсами локальных ОС;

• средства предоставления собственных ресурсов и услуг в общее пользование – серверная часть ОС (сервер). Эти средства обеспечивают, например, блокировку файлов и записей, что необходимо для их совместного использования; ведение справочников имен сетевых ресурсов; обработку запросов удаленного доступа к собственной файловой системе и базе данных; управление очередями запросов удаленных пользователей к своим периферийным устройствам;

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

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

Наши рекомендации