Классификация операционных систем для компьютеров по выполняемым функциям
2.1. Дисковые операционные системы (ДОС) – системы, берущие на себя выполнение только простых функций. Как правило, они представляют собой некий резидентный набор подпрограмм. ДОС загружает пользовательскую программу в память и передает ей управление, по завершении работы программа передает управление ДОС. Например, различные загрузочные мониторы для машин класса Spectrum. Как правило, такие системы работают одновременно только с одной программой. Прямым наследником одного из таких резидентных мониторов является дисковая операционная система MS-DOS для IBM PC-совместимых ПК. Существование систем этого класса обусловлено их простотой и тем, что они потребляют мало ресурсов.
2.2. Операционные системы общего назначения (ОС). К этому классу относятся системы, берущие на себя выполнение всех функций. Разделение на ОС и ДОС идет от систем IBM DOS/360 и OS/360 для больших компьютеров, клоны которых известны под названием ЕС ЭВМ серии 10ХХ. ОС общего назначения рассчитаны на интерактивную работу одного или нескольких пользователей в режиме разделения времени при не очень жестких требованиях ко времени реакции системы на внешние события. Как правило, в таких системах уделяется большое внимание защите самой системы, программного обеспечения и пользовательских данных от ошибочных и злонамеренных программ. Обычно подобные системы используют встроенные в архитектуру процессора средства защиты и виртуализации памяти. К этому классу относятся широко распространенные системы семейства Windows 2000 и семейства Unix.
2.3. Системы виртуальных машин (СВМ) – операционные системы, допускающие одновременную работу нескольких программ, но создающие при этом для каждой программы иллюзию того, что машина находится в полном ее распоряжении, как при работе под управлением ДОС. Зачастую, программой оказывается полноценная операционная система. Например: операционная система VMWare для машин с архитектурой х86 или VM для System/370 и ее потомков. Виртуальные машины являются ценным средством при разработке и тестировании кросс-платформенных приложений. Реже они используются для отладки модулей ядра или самой операционной системы. Такие системы отличаются высокими накладными расходами и сравнительно низкой надежностью, поэтому относительно редко находят промышленное применение. Часто СВМ являются подсистемой операционных систем общего назначения: MS DOS и MS Windows-эмуляторы для UNIX и OS/2, подсистема WoW в Windows NT/2000/XP, DOS в Windows З.х/95/98/МЕ, эмулятор RT-11 в VAX/ VMS. В системах виртуальных машин, как правило, приходится уделять много внимания эмуляции работы аппаратуры. Например, несколько программ могут начать программировать системный таймер. СВМ должна отследить такие попытки и создать для каждой из программ иллюзию, что она запрограммировала таймер именно так, как «хотела».
2.4. Операционные системы реального времени – системы с гарантированным временем реакции на событие, используются в системах технологического управления атомными станциями, химическими производствами и пр. Они предназначены для облегчения разработки приложений реального времени, т. е. программ, управляющих некомпьютерным оборудованием, часто с очень жесткими ограничениями по времени. Жесткими ограничениями по времени считаются такие ограничения, когда некоторое действие должно произойти в конкретный момент времени или внутри заданного диапазона времени. Главным параметром таких систем является время.
Примеры: программа бортового компьютера самолета, системы управления ускорителем элементарных частиц или промышленным оборудованием. В системах управления производством компьютеры, работающие в режиме реального времени, собирают данные о промышленном процессе и используют их для управления машинами на фабрике. Часто такие процессы должны удовлетворять жестким временным требованиям. Так, если автомобиль передвигается по конвейеру, то каждое действие должно быть осуществлено в строго определенный момент времени. Если сварочный робот сварит шов слишком рано или слишком поздно, то нанесет непоправимый вред машине. В вышеперечисленных случаях речь идет о жесткой системе реального времени.
Подобные системы обязаны поддерживать многопоточность, гарантированное время реакции на внешнее событие, простой доступ к таймеру и внешним устройствам. Способность гарантировать время реакции является отличительным признаком систем реального времени. Существует и другой вид: гибкая система реального времени, в которой допустимы случающиеся время от времени пропуски сроков выполнения операций. В эту категорию попадают цифровые аудио- и мультимедийные системы. Наиболее известные операционные системы реального времени: VxWorks и QNX.
2.5. Средства кросс-разработки – этосистемы, которые предназначены для создания программ в двухмашинной конфигурации, когда редактирование, компиляция, а зачастую и отладка кода производятся на инструментальной машине, а потом скомпилированный код загружается в целевую систему. Чаще всего они используются для написания и отладки программ, позднее прошиваемых в постоянно запоминающем устройстве (ПЗУ). Примерами таких операционных систем являются системы программирования микроконтроллеров Intel, Atmel, PIC и др., системы Windows СЕ, Palm OS и т. д. Такие системы, как правило, включают в себя:
– набор компиляторов и ассемблеров, работающих на инструментальной машине с нормальной операционной системой;
– библиотеки, выполняющие большую часть функций операционных систем при работе программы, кроме загрузки программы;
– средства отладки.
Иногда встречаются кросс-системы, в которых компилятор работает не на инструментальной машине, а в целевой системе, например, так устроена среда разработки для семейства микропроцессоров Transputer компании Inmos.
2.6. Системы промежуточных типов. Существуют системы, которые нельзя отнести к одному из вышеперечисленных классов. Например:
– система RT-11, которая, по сути своей, является ДОС, но позволяет одновременное исполнение нескольких программ с довольно богатыми средствами взаимодействия и синхронизации;
– MS Windows 3.x и Windows 95, которые как операционные системы общего назначения используют аппаратные средства процессора для защиты и виртуализации памяти и даже могут обеспечивать некоторое подобие многозадачности, но не защищают себя и программы от ошибок других программ, подобно ДОС;
– системы реального времени, подобные QNX, могут использоваться в качестве самостоятельной операционной системы, загружаемой с жесткого диска в оперативную память; в то же время, будучи прошиты в постоянном запоминающем устройстве (ПЗУ), они могут быть отнесены одновременно к операционным системам общего назначения и к системам кросс-разработки.