Классификация операционных систем
По тому, какие из вышеперечисленных функций реализованы и каким было уделено больше внимания, а каким меньше, выделяют несколько различных классов ОС. Многие ОС можно отнести к нескольким классам, т.к. многие классы пересекаются.
ДОС (Дисковые Операционные Системы). Как правило, это просто некий резидентный набор подпрограмм, не более того. Он загружает пользовательскую программу в память и передает ей управление, после чего программа делает с системой все, что ей заблагорассудится. Считается желательным, чтобы после завершения программы машина оставалась в таком состоянии, чтобы ДОС могла продолжить работу (принципиально же, ДОС ничем не может помешать программе привести систему в нерабочее состояние).
Дисковая операционная система MS DOS для IBM PC является примером систем подобного класса. Она, правда, умеет загружать несколько программ, но не предоставляет средств для одновременного исполнения этих программ.
Существование систем такого класса обусловлено их простотой и тем, что они потребляют мало ресурсов. Еще одна причина, по которой такие системы могут использоваться даже на довольно мощных машинах - требование программной совместимости с ранними моделями того же семейства компьютеров.
ОС. К этому классу относятся системы, берущие на себя выполнение всех вышеперечисленных функций. Под ОС мы будем подразумевать системы «общего назначения», то есть рассчитанные на интерактивную работу одного или нескольких пользователей в режиме разделения времени, при не очень жестких требованиях на время реакции системы на внешние события. Как правило, в таких системах уделяется большое внимание защите самой системы, программного обеспечения и пользовательских данных от ошибочных и злонамеренных действий программ и пользователей. Обычно такие системы используют встроенные в архитектуру процессора средства защиты и виртуализации памяти. К этому классу относятся такие широко распространенные системы, как различные семейства Unix, OS/2, семейство Windows NT, хотя некоторые из них не обеспечивают одновременной работы нескольких пользователей и защиты пользователей и программ друг от друга.
ОС могут работать на компьютерах с одним или несколькими процессорами. ОС с мультипроцессорной обработкой делятся на две категории – с асимметричной либо симметричной обработкой.
Операционные системы с асимметричной мультипроцессорной обработкой (asymmetric multiprocessing, ASMP) обычно выбирают для исполнения собственного кода один и тот же процессор, в то время как другие процессоры выполняют только пользовательские задачи. Так как код ОС исполняется на одном процессоре, то ОС ASMP довольно просто создать, усовершенствовав существующую однопроцессорную ОС. Особенно хорошо ОС ASMP подходят для работы на асимметричном оборудовании, например, процессоре, к которому подключен сопроцессор, или на двух процессорах, совместно использующих не всю доступную память. Однако такую ОС трудно сделать переносимой. Аппаратура разных производителей (и даже разные версии аппаратуры одного производителя) имеет тенденцию различаться по типу и степени асимметрии. Либо производители оборудования должны ориентироваться на одну ОС, либо ОС придется постоянно переписывать для каждой аппаратной платформы.
Системы с симметричной мультипроцессорной обработкой (symmetric multiprocessing, SMP) позволяют коду ОС выполняться на любом свободном процессоре или на всех процессорах одновременно, причем каждому из процессоров доступна вся память. Такой подход полнее реализует возможности нескольких процессоров, так как дает возможность полнее использовать процессорное время, независимо от того, какие приложения исполняются. Исполнение ОС только на одном процессоре может сильно загружать его, в то время как остальные простаивают, что уменьшит производительность системы; при увеличении числа процессоров в системе возрастает вероятность того, что узким местом станут именно действия, выполняемые ОС. Помимо равномерного распределения системной загрузки, системы SMP сокращают время простоя из-за неисправностей, так как при сбое одного процессора код ОС может исполняться на других. Наконец, поскольку симметричная аппаратура реализуется разными производителями сходным образом, имеется возможность создания переносимой ОС SMP.
Системы реального времени. Это системы, предназначенные для облегчения разработки так называемых приложений реального времени. Это программы, управляющие некомпьютерным по своей природе оборудованием, часто с очень жесткими ограничениями по времени реакции. Примером такого приложения может быть программа бортового компьютера крылатой ракеты, системы управления ускорителем элементарных частиц или промышленным оборудованием. Такие системы обязаны поддерживать многопроцессность, гарантированное время реакции на внешнее событие, простой доступ к таймеру и внешним устройствам. Примером такой системы может служить ОС QNX.
Любопытно, что multimedia при качественной реализации предъявляет к системе те же требования, что и промышленные задачи реального времени. В multimedia основной проблемой является синхронизация изображения на экране со звуком. Именно в таком порядке. Звук обычно генерируется внешним аппаратным устройством с собственным таймером, и изображение синхронизируется с ним же. Человек способен заметить довольно малые временные неоднородности в звуковом потоке. Напротив, пропуск кадров в визуальном потоке не так заметен, а расхождение звука и изображения заметно уже при задержках около 30 мс. Поэтому системы качественного multimedia должны обеспечивать синхронизацию с такой же или более высокой точностью, что мало отличается от систем мягкого реального времени.
В последнее время вошел в употребление еще один термин: сетевые ОС, или сокращенно NOS (Networking Operating System). Его употребляют в двух различных смыслах:
1. Системы, предназначенные только для предоставления сетевых услуг, аналогично тому, как ДОС предназначена для предоставления средств работы с диском. Под такое понимание NOS подходят узкоспециализированные системы, такие как Novell Netware или, например, программное обеспечение маршрутизаторов Cisco.
2. Системы, способные предоставят сетевые услуги. Под такое определение подходят практически все современные ОС общего назначения.
Дата добавления: 2015-08-01; просмотров: 567;