Классификация ОС
3.2. Классификация ОС
Классификация ОС
В зависимости от выбранного признака, по которому один объект отличают от другого, вариантов классификации может быть множество. Что касается ОС, здесь уже давно сформировалось относительно небольшое количество классификаций: по назначению, по режиму обработки задач, по способу взаимодействия с системой и, наконец, по способам построения (архитектурным особенностям системы).
Прежде всего, традиционно различают ОС общего и специального назначения. Системы специального назначения, в свою очередь, подразделяются на ОС для носимых микрокомпьютеров и различных встроенных систем, организации и ведения баз данных, решения задач реального времени и т.п. Еще недавно ОС для персональных компьютеров относили к ОС специального назначения. Сегодня современные мультизадачные ОС для персональных компьютеров уже многими относятся к ОС общего назначения, поскольку их можно использовать для самых разнообразных целей.
По режиму обработки задач различают ОС, обеспечивающие однопрограммный и мультипрограммный (мультизадачный, многозадачный) режимы. Любая задержка в решении программы (например, для осуществления операций ввода-вывода данных) используется для выполнения других программ. Однозадачные ОС (например, MS-DOS, MSX) выполняют функцию предоставления пользователю виртуальной машины, делая более простым и удобным процесс взаимодействия пользователя с компьютером, а также включают средства управления периферийными устройствами, средства управления файлами, средства общения с пользователем.
Следует различать понятия «мультипрограммный режим» и «мультизадачный режим» . Принципиальное отличие этих понятий заключается в том, что мультипрограммный режим обеспечивает параллельное выполнение нескольких приложений, и при этом программисты, создающие эти программы, не должны заботиться о механизмах организации их параллельной работы (эти функции берет на себя сама ОС). Мультизадачный режим, наоборот, предполагает, что забота о параллельном выполнении и взаимодействии приложений ложится как раз на прикладных программистов. Современные ОС для персональных компьютеров реализуют мультипрограммный и мультизадачный режимы работы.
Среди множества существующих вариантов реализации многозадачности можно выделить две группы:
1. Невытесняющая многозадачность (NetWare, Windows 3.x) – механизм планирования процессов целиком сосредоточен в ОС. В этом случае активный процесс выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление ОС для того, чтобы та выбрала из очереди другой готовый к выполнению процесс.
2. Вытесняющая многозадачность (Windows NT, OS/2, Unix) – механизм планирования процессов распределен между системой и прикладными программами. При вытесняющей многозадачности решение о переключении процессора с одного процесса на другой принимается ОС, а не самим активным процессом.
Рекомендуемые материалы
Также многозадачные ОС подразделяют на различные типы в соответствии с использованными при их разработке критериями эффективности:
· системы пакетной обработки (например, EC, критерий – коэффициент загрузки процессора);
· системы разделения времени (Unix, VMS, критерий – удобство и эффективность работы пользователей при одновременном выполнении нескольких пользовательских приложений);
· системы реального времени (QNX, RT/11, критерий – реактивность).
Информация о системах пакетной обработки и разделения времени приведена выше в п. 1.2. Как отмечено выше, основной особенностью ОСРВ является обеспечение обработки поступающих заданий в течение заданных интервалов времени, которые нельзя превышать. Поток заданий в общем случае не является планомерным и не может регулироваться оператором (характер следования событий можно предсказать лишь в редких случаях), то есть задания поступают в непредсказуемые моменты времени и без всякой очередности. Лучшие характеристики по производительности для систем реального времени обеспечиваются однотерминальными ОСРВ. Средства организации мультитерминального режима всегда замедляют работу системы в целом, но расширяют функциональные возможности системы. Одной из наиболее известных ОСРВ для персональных компьютеров является ОС QNX [18].
Если принимать во внимание способ взаимодействия с компьютером, то можно говорить о диалоговых системах и системах пакетной обработки. Доля последних хоть и не убывает в абсолютном исчислении, но в процентном отношении она существенно сократилась по сравнению с диалоговыми системами.
"10 Операторы ввода и вывода" - тут тоже много полезного для Вас.
При организации работы с вычислительной системой в диалоговом режиме можно говорить об однопользовательских (однотерминальных) и многопользовательских (мультитерминальных) ОС. В мультитерминальных ОС с одной вычислительной системой одновременно могут работать несколько пользователей, каждый со своего терминала. При этом у пользователей возникает иллюзия, что у каждого из них имеется собственная вычислительная система. Очевидно, что для организации мультитерминального доступа к вычислительной системе необходимо обеспечить мультипрограммный режим работы. В качестве одного из примеров мультитерминальных ОС для персональных компьютеров можно назвать Linux. Некая имитация мультитерминальных возможностей имеется и в системе Windows XP. В этой ОС каждый пользователь после регистрации (входа в систему) получает свою виртуальную машину. Если необходимо временно предоставить компьютер другому пользователю, вычислительные процессы первого можно не завершать, а просто для этого другого пользователя система создает новую виртуальную машину. В результате компьютер будет выполнять задачи и первого, и второго пользователя. Количество параллельно работающих виртуальных машин определяется имеющимися ресурсами. Главным отличием многопользовательских систем от однопользовательских является наличие средств защиты информации каждого пользователя от несанкционированного доступа других пользователей.
Кроме того, если в ОС отсутствуют или присутствуют средства поддержки многопроцессорной обработки, они могут быть разделены на многопроцессорные и однопроцессорные. Как правило, функции мультипроцессирования имеются в операционных системах Solaris 2.x фирмы Sun, Open Server 3.x компании Santa Crus Operations, OS/2 фирмы IBM, Windows NT фирмы Microsoft, NetWare 4.1 фирмы Novell, однако, очевидно, их наличие усложняет алгоритмы управления ресурсами. В свою очередь, многопроцессорные ОС могут классифицироваться по способу организации вычислительного процесса в системе с многопроцессорной архитектурой: асимметричные OC и симметричные OC. Асимметричная ОС целиком выполняется только на одном из процессоров системы, распределяя прикладные задачи по остальным процессорам. Симметричная ОС полностью децентрализована и использует весь пул процессоров, разделяя их между системными и прикладными задачами.
Следует отметить еще один признак, по которому разделяют ОС – организация работы с вычислительной сетью. По этому признаку выделяют сетевые ОС и распределенные ОС (следует отметить, что иногда в литературе такое разделение отсутствует). Сетевая ОС характеризуется тем, что наделена развитыми функциями работы с сетью, а также контроля доступа к файлам (систему прав доступа). К сетевым ОС относят как системы для рабочих мест (Novell for DOS, MS Windows, GNU/Linux), так серверные ОС (GNU/Linux, семейство BSD-систем, серверные версии MS Windows), а также специализированные ОС сетевого оборудования (Cisco IOS ) [19].
При использовании распределенной ОС пользователь не знает, на локальной или удаленной машине хранятся его файлы и выполняются его программы, он может не знать, подключен ли его компьютер к сети. Внешне распределенная ОС выглядит как обычная автономная система, а ее внутреннее строение имеет существенные отличия от автономных систем.
Также ОС классифицируют по архитектуре, в которой они реализованы. Виды архитектур, в которых реализуются ОС, достаточно подробно изложены выше в п. 2.1.