История операционных систем Apple. Часть 1

Завершив наш проект «Компьютеры Apple от альфы до омеги», на этой неделе мы, по многочисленным просьбам наших читателей, начинаем новый цикл статей, посвященный истории операционных систем компьютеров компании Apple. На самом деле, этот цикл будет представлять собой перевод книги Амита Сингха (Amit Singh) «История операционных систем Apple»  (A History of Apple’s Operating Systems). В ней автор затрагивает все этапы развития операционных систем Apple, начиная с программной начинки компьютера Apple I и заканчивая первыми версиями Mac OS X. Не ушел от внимания автора и период работы Стива Джобса в компании NeXT, в течение которого, как мы знаем, была разработана операционная система, впоследствии послужившая основой для OS X.

Для начала скажем пару слов об авторе книги. В настоящий момент Амит Сингх работает вице-президентом  Google по международным продажам, а до этого 20 лет своей жизни посвятил работе в компании Oracle на посту менеджера по развитию продуктов. С операционными системами Сингх столкнулся, когда работал в Исследовательском центре Apmenden компании IBM, расположенном в Сан-Хосе (штат Калифорния). В центре он занимался исследованиями вопросов, связанных с операционными системами, визуализацией и компьютерной безопасностью. А чуть ранее Амит успел поработать в начинающей фирме из Кремниевой долины, которая занимался разработкой визуализации операционных систем. Итак, теперь мы передаем слово автору.

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

Apple существует уже с 1976 года, и многие аспекты ее истории уже много раз были рассмотрены. История Apple как компании поистине удивительна, и то же самое можно сказать о ее «технических» гранях, в частности, истории операционных систем Apple.

В данном материале рассматриваются операционные системы, которые Apple создавала в прошлом и которые пыталась создавать. В своем рассказе мы коснемся нескольких технологий, в результате влияния которых была создана Mac OS X. Наша цель будет состоять в том, чтобы лучше понять причины и рациональный смысл возникновения Mac OS X, а также ее важных компонентов. Это в свою очередь поможет нам еще лучше понять и оценить систему в том виде, в котором мы знаем ее сегодня.

Мой подход будет главным образом сосредоточен на обеспечении достаточной глубины и ширины освещения исторического развития, поскольку я считаю, что рассказ будет интересен исключительно в контексте структуры операционной системы, но в разумных пределах. Например, кратко описывая «влияние, оказанное Xerox PARC», или историю возникновения Mac, я не буду далеко выходить за рамки контекста и рассказывать об изобретении транзистора или об открытии кремния.

Первые шаги

Когда 1975 год подошел к концу, Стив Возняк закончил разработку прототипа того, что впоследствии стало первым компьютером Apple. Тогдашний работодатель Возняка Hewlett-Packard не был заинтересован в его изобретении, что дало Стиву возможность потребовать выдачи ему прав на технологию, которые он в конце концов получил. Компания Apple была основана 1 апреля 1976 года Стивом Джобсом, Стивом Возняком и инженером компании Atari по имени Рональд Уэйн (Ronald Wayne). Первым продуктом компании было детище Возняка – компьютер Apple I.

Apple I

Apple I был основан на восьмибитном процессоре 6502 от компании MOS Technology, который мог эффективно работать только на частоте менее 1 МГц. Процессор 5602 был похож на более дорогой аналог 6800 от компании Motorola. Еще на рынке присутствовал Intel 8080, однако 6502 был выбран в первую очередь из-за своей дешевизны. Компьютер обладал встроенным видеотерминалом, сокетами на 8 КБ памяти RAM, интерфейсом клавиатуры, а также кассетной платой, поддерживавшей работу с обычными магнитофонами. Этот «компьютер» на самом деле представлял собой только материнскую плату: пользователю было необходимо позаботиться о приобретении корпуса, источника питания переменного тока, клавиатуры ASCII и устройства визуализации.

Apple I можно было напрямую подключать к телевизору при помощи радиочастотного модулятора, что позволяло отображать на экране 24 строки по 40 символов в каждой. Компьютер был запущен в продажу по цене 666,66 доллара, и в комплект входил модуль RAM на 4 КБ и магнитофонная кассета с Apple BASIC.

Прошивка Apple I включала в себя System Monitor – программу, которую в принципе можно было считать операционной системой. Размер программы составлял 256 байт, и она использовала клавиатуру и экран, чтобы демонстрировать пользователю командную строку для просмотра содержимого памяти, впечатывания и запуска программ и т.д.

Вряд ли «операционную систему» Apple I можно было сравнить с доступной в то время универсальной системой UNIX с разделением времени, которая тогда уже предлагалась в шестой версии. Тем не менее, компьютеры на базе UNIX имели один очевидный минус: их цена могла составлять от нескольких тысяч до нескольких десятков тысяч долларов. Предназначение Apple I состояло в том, чтобы сделать компьютеры доступными для энтузиастов и, возможно, простых пользователей.

Apple II

В то время как Apple I протянул менее года, его предшественник задержался на рынке куда больше и стал одной из самых культовых машин Apple. Возняк начал работать над компьютером Apple II, который, хотя и был основан на том же самом микропроцессоре 6502, был предложен в виде единого компьютера: в бежевом пластиковом корпусе и со встроенной клавиатурой. На момент своего выпуска Apple II стал первым персональным компьютером, поддерживавшим цветную графику.

В результате компьютер Apple II оказался таким популярным, что впоследствии вышло еще несколько его инкарнаций: Apple II+, IIe, IIc, IIc+, IIe Enhanced, IIe Platinum и, наконец, 16-битный IIgs, появившийся в продаже в 1986 году. При этом многие из данных моделей выходили в нескольких версиях. Для семейства компьютеров Apple II было доступно несколько операционных систем.

Apple DOS

После выпуска в 1977 году Apple II все поняли, что переход на дисководы был для компьютеров жизненно важной задачей. Возняк разработал прекрасную конструкцию дисковода под названием Disk II, и вместе с этим возникла потребность в дисковой операционной системе (DOS). Первая версия DOS от Apple была выпущена в июле 1978 года под названием Apple DOS 3.1.

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

Первый релиз был назван 3.1 и не имел ничего общего с 1.0, поскольку его создатель Пол Лафтон (Paul Laughton) увеличивал счетчик изменений x.y каждый раз, когда он компилировал исходный код: он начинался с x = 0, y = 1, и каждый раз, когда y достигал 9, x прирастал на 1. Apple DOS проходила бета-тестирование как версия 3.0.

Apple Pascal

В семидесятых и начале восьмидесятых пользовалась большой популярностью операционная система p-System из Калифорнийского университета Сан-Диего. Эта система являлась портативной и предназначалась в основном для запуска на виртуальной машине, где был запущен p-code (код, аналогичный bytecode). Самым популярным языком программирования для этой системы являлся UCSD Pascal. Систему на базе Pascal для Apple II компания Apple получила из UCSD Pascal II.1, где была реализована архитектура p-code. Два студента UCSD Марк Аллен (Mark Allen) и Ричард Гливз (Richard Gleaves) разработали интерпретатор 6502 летом 1978 года, который послужил основой для Apple II Pascal, выпущенного в 1979 году. Продолжительность жизни продукта Apple Pascal составила пять лет.

Apple CP/M

В 1980 году компания Microsoft выпустила сопроцессорную схемную плату под названием Softcard. Первоначально она называлась Microsoft Z-80 SoftCard, однако впоследствии Microsoft пришлось изменить название, чтобы избежать судебных разбирательств с Zilog – производителем Z-80. Наличие Softcard позволило Apple II запускать программы Z-80, основанные на популярной операционной системе CP/M, которая обладала богатой библиотекой программ, таких как dBase и WordStar.

Для таких процессоров как Motorola 6809 существовали и другие сопроцессорные платы помимо продукта от Microsoft. Плата для 6809 под названием Stellation Mill позволяла запускать на совместимых машинах Apple 6809 операционную систему реального времени OS-9.

Apple SOS

В 1980 году был выпущен компьютер Apple III, позиционировавшийся как машина для бизнеса. Он получил новую операционную систему под названием SOS. Буква S обозначала «sophisticated» (утонченный), хотя сначала аббревиатура расшифровывалась как «Sara’s Operating System» (операционная система Сары), в честь дочери инженера-программиста. Диск SOS состоял из ядра (SOS.kernel), интерпретатора (SOS.Interp), который сам по себе мог быть как приложением, так и чем-то, что это приложение использовало, а также комплекта драйверов (SOS.Driver). Впоследствии SOS эволюционировала в Apple ProDOS.

Apple ProDOS

ProDOS, впервые выпущенная в виде версии 1.0 в октябре 1983 года, пришла на смену Apple DOS 3.3 и была основана на SOS. ProDOS предлагала усовершенствованные возможности программирования на BASIC, сборочный язык, машинный язык, улучшенную работу с прерываниями, более быстрый ввод-вывод информации с диска с прямым доступом к блокам и т.д. Система также имела относительно сложную иерархическую систему файлов и следующие функции:

  • Несколько логических разделов на одном физическом разделе
  • Поддержка до 20 разных типов файлов (10 из них может задать пользователь)
  • До 8 файлов под определенным названием
  • Произвольное число файлов в подкаталоге (в то же время корневая директория была ограничена максимальным количеством файлов в размере)

Когда вышла 16-битная версия Apple II, операционная система ProDOS (тогда это была версия 1.1.1) была разделена на два подвида: ProDOS 8 и ProDOS 16 (для 8- и 16-битных процессоров, соответственно).

 
Чтобы оставить комментарий