Теория информационных систем. Страница 3.



Средства кросс-разработки

Это системы, предназначенные для разработки программ в двухмашинной конфигурации, когда редактирование, компиляция, а зачастую и отладка кода производятся на инструментальной машине (в англоязычной литературе ее часто называют host — дословно, "хозяин"), а потом скомпилированный код загружается в целевую систему. Чаще всего они используются для написания и отладки программ, позднее прошиваемых в ПЗУ. Примерами таких ОС являются системы программирования микроконтроллеров Intel, Atmel, PIC и др., системы Windows СЕ, Palm OS и т. д. Такие системы, как правило, включают в себя:

  • набор компиляторов и ассемблеров, работающих на инструментальной машине с "нормальной" ОС;
  • библиотеки, выполняющие большую часть функций ОС при работе программы (но не загрузку этой программы!);
  • средства отладки.

Иногда встречаются кросс-системы, в которых компилятор работает не на инструментальной машине, а в целевой системе — так, например, устроена среда разработки для семейства микропроцессоров Transputer компании Inmos.

Системы промежуточных типов

Существуют системы, которые нельзя отнести к одному из вышеперечисленных классов. Такова, например, система RT-11, которая, по сути своей, является ДОС, но позволяет одновременное исполнение нескольких программ с довольно богатыми средствами взаимодействия и синхронизации. Другим примером промежуточной системы являются MS Windows 3.x и Windows 95, которые, как ОС, используют аппаратные средства процессора для защиты и виртуализации памяти и даже могут обеспечивать некоторое подобие многозадачности, но не защищают себя и программы от ошибок других программ, подобно ДОС.

Некоторые системы реального времени, например QNX, могут использоваться как в качестве самостоятельной ОС, загружаемой с жесткого диска в оперативную память, так и будучи прошиты в ПЗУ. Эти системы могут быть отнесены одновременно и к ОС общего назначения, и к системам кросс-разработки.

Таких примеров "гибридизации" можно привести множество, поэтому к вышеприведенной классификации следует относиться с определенной осторожностью.

Семейства операционных систем

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

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

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

  • Системы для больших компьютеров фирмы IBM — OS/390, z/OS и IBM VM.
  • Обширное, бурно развивающееся и имеющее трудно определимые границы семейство Unix. В этой книге под системами данного семейства мы будем подразумевать прежде всего ОС трех основных родов:
  • Unix System V Release 4.x: Sunsoft Solans, SCO UnixWare;
  • Berkeley Software Distribution Unix: BSDI, FreeBSD;
  • Linux.
  • Семейство прямых и косвенных потомков Control Program/Monitor (СР/М) фирмы Digital Research. В этом семействе можно выделить также весьма широко известное подсемейство \sisname{Win 32}-платформ (рис. В.2).

Еще одно практически вымершее к настоящему моменту, но оставившее в наследство ряд важных и интересных концепций семейство — это операционные системы для мини- и микрокомпьютеров фирмы DEC: RT-11, RSX-11 и VAX/VMS.

Ряд систем, в том числе и коммерчески успешных, например OS/400, не могут быть с уверенностью отнесены ни к одному из перечисленных семейств, поэтому, как и к классификации предыдущего раздела, к данной классификации надо относиться с осторожностью.