Число типов ОС не так велико, но роль каждого из них чрезвычайно важна.
ОC различаются:
1) методами построения (архитектурой),
2) особенностями реализации алгоритмов управления ресурсами компьютера (процессорами, памятью, устройствами, данными);
3) типами аппаратных платформ;
4) областями использования;
5) разрядностью кода;
6) интерфейсом пользователя и многими другими свойствами.
Первое.
К базовым концепциям построения ОС относятся:
1) Способы построения ядра системы: монолитное ядро, многослойная структура или микроядерный подход.
Архитектурно любую ОС можно разделить на модули, выполняющие основные функции ОС (ядро) и модули, выполняющие вспомогательные функции.
Вспомогательные модули ОC оформляются:
1) либо в виде приложений (утилиты и системные обрабатывающие программы)
2) либо в виде библиотек процедур.
Модули ядра постоянно находятся в ОЗУ, а вспомогательные загружаются в ОЗУ по мере необходимости.
Большинство ОС использует монолитное ядро. Оно компонуется как одна программа, работающая в привилегированном режиме и использующая быстрые переходы с одной процедуры на другую, не требующие переключения из привилегированного режима в пользовательский и наоборот.
При построении ОС на базе микроядра, оно работает также в
привилегированном режиме, но выполняет только минимум функций по управлению аппаратурой. Функции же ОС более высокого уровня выполняют специализированные компоненты ОС - серверы, работающие в пользовательском режиме.
Недостаток. При таком построении ОС работает более медленно, так как часто выполняются переходы между привилегированным режимом и пользовательским.
Преимущество. Система получается более гибкой - ее функции можно наращивать, модифицировать или сужать, добавляя, модифицируя или исключая серверы пользовательского режима. Кроме того, серверы хорошо защищены друг от друга, как и любые пользовательские процессы.
2)Построение ОС на базе объектно-ориентированного подхода
Достоинства:
- аккумуляция оптимальных решений в форме стандартных объектов;
- возможность создания новых объектов на базе имеющихся с помощью механизма наследования;
- хорошая защита данных за счет их инкапсуляции во внутренние структуры объекта, что делает данные недоступными для несанкционированного использования извне,
- структуризованность системы, состоящей из набора хорошо определенных объектов.
3)Наличие нескольких прикладных сред, что дает возможность в рамках одной ОС одновременно выполнять приложения, разработанные для нескольких ОС. Многие современные операционные системы поддерживают одновременно прикладные среды MS-DOS, Windows, UNIX (POSIX), OS/2 или хотя бы некоторого подмножества из этого популярного набора. Концепция множественных прикладных сред наиболее просто реализуется в ОС на базе микроядра, над которым работают различные серверы, часть которых реализуют прикладную среду той или иной операционной системы.
4)Распределенная организация операционной системы
В распределенной ОС реализованы механизмы позволяющие пользователю представлять и воспринимать сеть в виде традиционного однопроцессорного компьютера. Это позволяет упростить работу пользователей и программистов в сетевых средах.
Характерными признаками распределенной организации ОС являются:
- наличие единой справочной службы разделяемых ресурсов,
- единой службы времени,
- использование механизма вызова удаленных процедур (RPC) для прозрачного распределения программных процедур по машинам,
- использование многонитевой обработки, позволяющей распараллеливать вычисления в рамках одной задачи и выполнять эту задачу сразу на нескольких компьютерах сети,
- наличие других распределенных служб.
ВТОРОЕ.
По алгоритмам управления ресурсом - процессором ОC классифицируются:
1) по числу процессов(задач), одновременно выполняющихся под управлением ОС, различают: однозадачные и многозадачные ОС.
Однозадачные ОС обеспечивают такую работу машины, при которой в каждый момент времени на ней решается только одна задача. Примером такой задачи может являться процесс редактирования текста, работа какого-либо транслятора, печать текста на принтере и тд. При решении такой задачи оперативная память машины и процессор не могут быть заняты другой работой.
Однозадачные ОС в основном выполняют функцию предоставления пользователю виртуальной машины, делая более простым и удобным процесс взаимодействия пользователя с компьютером. Они включают средства управления периферийными устройствами и файлами, средства общения с пользователем.
Типичным представителями таких ОС является MS DOS, DR DOS, MSX.
Если ЭВМ имеет один процессор, то одновременное выполнение нескольких программ сводится к поочередной реализации их фрагментов. Это не параллелизм, но иногда позволяет повысить производительность ПЭВМ в результате совмещения выполнения операций в различных устройствах во времени. Например, пока одна программа ожидает завершения обмена информацией с ПУ, другая может использовать МП.
Все по однозадачным.
Многозадачные ОС, кроме функций однозадачных ОС, управляют разделением совместно используемых ресурсов при одновременном обслуживании нескольких задач.
При этом имеется в виду возможность запуска одной или нескольких программ с соответствующим распределением оперативной памяти между ними, переключением центрального процессора и других устройств с обслуживания одной задачи на другую, организации обмена сообщениями между ними, синхронизации и др.
Типичное использование возможности многозадачного режима — запуск на фоне диалоговой работы пользователя программы печати на принтере или программы поддержки связи с локальной сетью.
Представителями подобного класса ОС являются: ОС ЕС, UNIX, OS/2, Windows .
По способу распределения процессорного времени между несколькими одновременно существующими в системе процессами (или нитями) многозадачные ОС различают:
· ОС с невытесняющей многозадачностью (NetWare, Windows 3.x);
· ОС с вытесняющей многозадачностью (Windows NT, OS/2, UNIX).
Основным различием между ними является степень централизации механизма планирования процессов.
В первом случае(децентрализованный способ) механизм распределен между ОС и прикладными программами. Т.е. активный процесс выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление операционной системе для того, чтобы та выбрала из очереди другой готовый к выполнению процесс.
Во втором случае (централизованный способ) механизм целиком сосредоточен в ОС, т.е. решение о переключении процессора с одного процесса на другой принимается операционной системой, а не самим активным процессом.
Это было по числу задач(алгоритмам управления ресурсами)
2) по количеству пользователей, одновременно обслуживаемых системой различают: однопользовательские и многопользовательские ОС.
Однопользовательские - MS-DOS, Windows 3.x, ранние версии OS/2.
Мнопользовательские -UNIX, Windows NT, Windows 2000.
Многопользовательские системы поддерживают одновременную работу на ЭВМ нескольких пользователей за различными терминалами. Не путать с сетевыми.
Главным отличием многопользовательских систем от однопользовательских является наличие средств защиты информации каждого пользователя от несанкционированного доступа других пользователей.
Примечание. Не всякая многозадачная система является многопользовательской, и не всякая однопользовательская ОС является однозадачной.
Если система многопользовательская, то обычно она и многозадачная.
3) по возможности распаралеливания процессов ОС делят: на одно- и многонитевые.
Многонитевая ОС разделяет процессорное время не между задачами, а между их отдельными ветвями (нитями) т.е. выполняетраспараллеливание вычислений в рамках одной задачи)
4) по типу управления процессором ОС также делятся на однопроцессорные, многопроцессорные
До недавнего времени вычислительные системы (ВС) имели один центральный процессор. В результате требований к повышению производительности появились многопроцессорные системы, состоящие из двух и более процессоров общего назначения, осуществляющих паралельное выполненре команд.
Свойство ОС по поддержке многопроцессорной обработки называется мультипроцессированием.
Многопроцессорные ОС в свою очередь могут классифицироваться по способу организации вычислительного процесса в системе с многопроцессорной архитектурой: асимметричные ОС и симметричные ОС.
Первая (асимметричная) ОС целиком выполняется только на одном из процессоров системы(главном -master ), распределяя прикладные задачи по остальным процессорам(подчиненным - slave).
Вторая (симметричная) ОС полностью децентрализована и использует все процессоры, разделяя их между системными и прикладными задачами.
Многопроцессорные системы требуют от ОС такой организации, с помощью которой сама операционная система, а также поддерживаемые ею приложения могли бы выполняться параллельно отдельными процессорами системы.
Параллельная работа отдельных частей ОС создает дополнительные проблемы для разработчиков ОС, так как в этом случае гораздо сложнее обеспечить согласованный доступ отдельных процессов к общим системным таблицам, исключить эффект гонок и прочие нежелательные последствия асинхронного выполнения работ.
Многопроцесорная обработка реализована в таких ОС как Linux, Solaris, Windows NT и др.
Это была классификация ОС по алгоритмам управления ресурсом - процессором.