История операционных систем

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

История операционных систем частично повторяет историю аппаратного обеспечения компьютеров.

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

Предыстория[править | править вики-текст]

Раньше пользователь получал машину в единоличное пользование; он приходил с программой и данными, обычно записанными на перфокартах или магнитных лентах. Причем программа должна была содержать в себе все операции, связанные с периферийными устройствами (ввода и вывода информации). При этом программа писалась в машинных кодах. Программа загружалась в машину, которая начинала работать, до тех пор пока программа не завершалась или не выдавала ошибку. Отладка программ осуществлялась при помощи панели управления, снабжённой тумблерами и лампочками. Наибольших успехов в этом достиг Алан Тьюринг на ранней машине Манчестерский Марк I, к тому времени он уже разрабатывал основные принципы работы операционных систем.

Более поздние машины имели библиотеки, которые связывались с пользовательской программой для поддержки таких операций как ввод и вывод. Это было началом современных операционных систем. Однако машины всё ещё выполняли одну задачу за один промежуток времени.

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

Эти требования были учтены при создании первых операционных систем. Сначала для этого были использованы библиотеки времени исполнения, которые запускались до первой пользовательской задачи, считывали информацию с носителей, контролировали исполнение, записывали результаты и немедленно переключались на исполнение следующей задачи.

Эра мейнфреймов[править | править вики-текст]

Первой в мире операционной системой считается GM OS (General Motors Operating System).

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

Системы для оборудования IBM[править | править вики-текст]

Такое состояние дел продолжалось до 1960-х, когда IBM, лидирующий поставщик оборудования на тот момент, прекратила разработку существующих систем и направила усилия на создание серии машин System/360, все представители которой должны были использовать одинаковые инструкции и архитектуру ввода-вывода. IBM начала разрабатывать единую операционную систему для этих машин, OS/360. Проблемы, возникшие при создании OS/360, стали легендарными и были описаны в книге Мифический человеко-месяц Фредерика Брукса. Из-за различий в производительности и задержек при разработке программного обеспечения, вместо единой OS/360 было представлено семейство операционных систем под таким же названием.

IBM выпустила ещё несколько операционных систем, среди них три оказались наиболее долгоживущими:

  • OS/MFT для систем среднего класса. Она имела одного преемника, систему OS/VSI, развитие которой продолжалось до 1980-х.
  • OS/MVT для крупных машин. Она была сходна с OS/MFT (программы могли переноситься между ними без перекомпилирования), но имела более продвинутое управление памятью и систему разделения времени, TSO. MVT имела несколько наследников, включая z/OS.
  • DOS/360 для низших моделей System/360 имела несколько преемников, включая z/VSE, используемую до настоящего времени. Она значительно отличалась от OS/MFT и OS/MVT.

IBM поддерживает полную совместимость, поэтому разработанные в шестидесятых программы всё ещё можно запускать под z/VSE (если они создавались для DOS/360) или z/OS (если создавались для OS/MFT или OS/MVT) без изменений.

IBM разрабатывала, но официально не выпустила TSS/360, операционную систему с разделением времени для S/360 Model 67.

Несколько операционных систем для архитектур IBM S/360 и S/370 были разработаны третьими фирмами, включая Michigan Terminal System (MTS) и MUSIC/SP.

Другие операционные системы для мейнфреймов[править | править вики-текст]

Control Data Corporation разработала операционную систему SCOPE в 1960-х для обработки пакетных заданий. В сотрудничестве с Университетом Миннесота были созданы операционные системы KRONOS и NOS в 1970-х, которые поддерживали одновременный запуск заданий и разделение времени.

В конце 1970-х Control Data и Университет Иллинойс разработали машину PLATO, привнесшей множество инноваций для своего времени. Система использовала язык программирования TUTOR, что позволило создавать такие программы, как чат в реальном времени и многопользовательские графические игры.

UNIVAC, первый производитель коммерческих компьютеров, создала серию операционных систем EXEC. Как большинство ранних операционных систем для мейнфреймов, это были операционные системы, ориентированные на обработку пакетных заданий. В 1970-х UNIVAC выпустила систему Real-Time Basic.

Burroughs Corporation представила машину B5000 в 1961 с операционной системой MCP (Master Control Program). B5000 поддерживала исключительно языки высокого уровня и не поддерживала машинные языки или ассемблер; таким образом, MCP стала первой операционной системой, написанной только на высокоуровневом языке (ESPOL, диалект Алгола). MCP также представила несколько инноваций, включая первую коммерческую реализацию виртуальной памяти. MCP по сей день используется на компьютерах Unisys ClearPath/MCP.

Project MAC разработал Multics и General Electric Comprehensive Operating Supervisor (GECOS), в которых была введена концепция уровней привилегий.

Digital Equipment Corporation разработала множество операционных систем для своих различных линеек компьютеров, включая системы TOPS-10 и TOPS-20 с разделением времени для 36-битных машин PDP-10. До широкого рапространения UNIX, TOPS-10 пользовалась большой популярностью в университетах и раннем сообществе ARPANET.

Миникомпьютеры и развитие UNIX[править | править вики-текст]

Начальные версии операционной системы UNIX были разработаны в AT&T Bell Laboratories в конце 1961-х. Будучи абсолютно бесплатной в первых версиях и легко модифицируемой, эта система завоевала большую популярность. Так как UNIX была написана на языке высокого уровня Си, её можно легко было перенести на новую аппаратную архитектуру. Эта переносимость позволила ей стать основной системой для второго поколения миникомпьютеров и первого поколения рабочих станций.

В то же время Digital Equipment Corporation создала простую операционную систему RT-11 для серии 16 битных машин PDP-11, и систему VMS для 32-битных компьютеров VAX.

Другой разработкой этого времени стала операционная система Pick от Microdata Corporation.