Операционная система: назначение, основные принципы организации

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

Выделяют следующие основные функции ОС:

■ определение интерфейса пользователя;

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

■ предоставление возможности работы с общими данными;

■ планирование доступа пользователей к общим ресурсам;

■ обеспечение эффективного выполнения операций ввода/ вывода;

■ осуществление восстановления информации и вычислительного процесса в случае ошибок.

В распоряжение ОС предоставляются как пассивные, так и активные ресурсы.

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

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

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

  • 1. Особенности алгоритмов управления ресурсами. От эффективности алгоритмов управления пассивными ресурсами компьютера во многом зависит эффективность всей ОС в целом. Поэтому, характеризуя ОС, часто приводят важнейшие особенности реализации функций ОС по управлению процессорами, памятью, внешними устройствами. Так, в зависимости от особенностей использованного алгоритма управления процессором ОС делят на многозадачные и однозадачные, многопользовательские и однопользовательские, многопроцессорные и однопроцессорные системы.
  • 2. Поддержка многозадачности. По числу одновременно выполняемых задач ОС могут быть разделены на два класса: однозадачные (например, MS-DOS, MSX) и многозадачные (ОС ЕС, OS/2, UNIX, MS Windows).

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

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

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

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

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

  • 3. Поддержка многопользовательского режима. По числу одновременно работающих пользователей ОС делят на два вида:
  • 1) однопользовательские (MS-DOS, Windows 3.x, ранние версии OS/2);
  • 2) многопользовательские (UNIX, Windows NT).

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

4. Наличие многопроцессорной обработки. Другим важным свойством ОС является отсутствие или наличие в ней средств поддержки многопроцессорной обработки – мультипроцессирование. Мультипроцессирование приводит к усложнению всех алгоритмов управления ресурсами.

Функции поддержки многопроцессорной обработки данных имеются в таких ОС, как: OS/2 фирмы IBM, Windows NT фирмы "Microsoft", NetWare фирмы "Novell" и некоторых других.

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

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

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

  • 5. Особенности аппаратных платформ. На свойства ОС непосредственное влияние оказывают аппаратные средства, на которые она ориентирована. По типу аппаратуры различают ОС: персональных, мини-компьютеров, мейнфреймов, кластеров, встроенные ОС и ОС сетей ЭВМ.
  • 6. Особенности областей использования ОС. Многозадачные ОС подразделяют на три типа в соответствии с использованными при их разработке критериями эффективности:
  • 1) системы пакетной обработки;
  • 2) системы разделения времени;
  • 3) системы реального времени.

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

Системы разделения времени (например, UNIX, VMS) призваны исправить основной недостаток систем пакетной обработки – изоляцию пользователя-программиста от процесса выполнения его задач. Каждому пользователю системы разделения времени предоставляется терминал, с которого он может вести диалог со своей программой. Так как в системах разделения времени каждой задаче выделяется только квант процессорного времени, ни одна задача не занимает процессор надолго и время ответа оказывается приемлемым. Если квант выбран достаточно небольшим, то у всех пользователей, одновременно работающих на одной и той же машине, складывается впечатление, что каждый из них единолично использует машину. Ясно, что системы разделения времени обладают меньшей пропускной способностью, чем системы пакетной обработки, так как на выполнение принимается каждая запущенная пользователем задача, а не та, которая "выгодна" системе, и, кроме того, имеются накладные расходы вычислительной мощности на более частое переключение процессора с задачи на задачу. Критерием эффективности систем разделения времени является не максимальная пропускная способность, а удобство и эффективность работы пользователя.

Системы реального времени (например, QNX, RT/11) применяются для управления различными техническими объектами, такими как станок, спутник, научная экспериментальная установка, или технологическими процессами, например гальваническая линия, доменный процесс и т.п. Во всех этих случаях существует предельно допустимое время, в течение которого должна быть выполнена та или иная программа, управляющая объектом. В противном случае может произойти авария: спутник выйдет из зоны видимости, экспериментальные данные, поступающие с датчиков, будут потеряны, толщина гальванического покрытия не будет соответствовать норме. Таким образом, критерием эффективности для систем реального времени является их способность выдерживать заранее заданные интервалы времени между запуском программы и получением результата (управляющего воздействия). Это время называется временем реакции системы, а соответствующее свойство системы – реактивностью. Для этих систем мультипрограммная смесь представляет собой фиксированный набор заранее разработанных программ, а выбор программы на выполнение осуществляется исходя из текущего состояния объекта или в соответствии с расписанием плановых работ.

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

7. Концепции построения. При описании ОС часто указываются особенности ее структурной организации и основные концепции, положенные в ее основу.

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

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

Наличие нескольких прикладных сред дает возможность в рамках одной ОС одновременно выполнять приложения, разработанные для нескольких ОС. Многие современные ОС поддерживают одновременно прикладные среды MS-DOS, Windows, UNIX (POSIX), OS/2 или хотя бы некоторое подмножество из этого популярного набора. Концепция множественных прикладных сред наиболее просто реализуется в ОС на базе микроядра, над которым работают различные серверы, часть которых реализуют прикладную среду той или иной ОС.

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

 
< Пред   СОДЕРЖАНИЕ     След >