Пользователь
0,2
рейтинг
22 сентября 2013 в 22:10

История операционных систем Apple. Часть 1. Дографическая эпоха перевод

Начинаю перевод весьма основательного труда Амита Сингха по истории операционных систем Apple. Часть картинок добавлена при переводе для наглядности. Планирую 3 или 4 части, смотря как будет получаться по объему. В этой части посмотрим, что было до Macintosh и Apple Lisa.

Первые байты кода


В конце 1975 года Стив Возняк завершил прототип компьютера, который вскоре станет известен как Apple I. Возняк в то время работал в НР. Но этот проект был им неинтересен, так что он попросил дать им вольную. 1 апреля 1976 года Стив Джобс, Стив Возняк и инженер из Atari Рональд Уэйн основали Apple. Первым продуктом под этим именем был компьютер Возняка.

Apple I

Apple I был основан на 8-битном процессоре MOS Technology 6502, с частотой меньше 1 МГц. Это был упрощенный вариант более дорогого чипа Motorola 6800. Примерно аналогичным по параметрам был и Intel 8080, но он при этом был дороже. У компьютера был встроенный выход на телевизор, разъемы для 8 Кб памяти, интерфейсы клавиатуры и кассетного магнитофона. Корпус, БП, клавиатура и телевизор в комплект не входили, покупатель должен был раздобыть их самостоятельно.
image
Apple I подключался к телевизору через антенный вход и мог отображать 24 строки по 40 символов. Стартовая цена была 666 долларов 66 центов, в комплект, кроме материнской платы, входили 4 Кб памяти и кассета с Apple BASIC.
image
Операционной системы как таковой у Apple I не было, зато была прошивка под названием System Monitor. Размер ее был всего 256 байт, не Кб. Она позволяла работать с командной строкой с помощью клавиатуры и экрана, смотреть содержимое памяти, набирать и запускать программы, и так далее.
По сравнению с UNIX (шестое издание на то время, см. habrahabr.ru/post/194160), назвать прошивку Apple I операционной системой не поворачивается язык. С другой стороны, UNIX-совместимый компьютер стоил тогда десятки тысяч долларов. Намного более дешевый Apple I был предназначен для широких масс гиков любителей.

Apple II

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

Apple DOS

Вскоре после релиза Apple II в 1977 году стало очевидно, что без дисковода компьютер жить не будет. Возняк разработал прекрасный флоппи-дисковод Disk II. (этот эпизод хорошо описан в мемуарах Возняка. Очень рекомендую — прим. перев.) К дисководу понадобилась и дисковая операционная система. Первая версия Apple DOS 3.1 (не только Windows NT начала нумерацию с тройки — прим. перев.) вышла в июле 1978 года.
image
Никакого отношения к еще не вышедшей MS-DOS система не имела. В то время диски были роскошью, поэтому абрревиатура DOS активно использовалась для пиара, примерно как сегодня приставка i.
Такая странная нумерация получилась из-за того, что один из программистов, Пол Лафтон, фактически заменил номер версии номером билда. Все началось с 0.1, а бета-версия была под номером 3.0.

Apple Pascal

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

Apple CP/M

Microsoft разработал сопроцессорную плату Softcard в 1980 году. Изначально она называлась Microsoft Z-80 SoftCard, но потом ее переименовали во избежание судебной тяжбы с Zilog. Карта позволяла запускать на Apple II программы для процессора Z-80 и ОС CP/M. В те годы под нее было много софта. Из полезного и популярного можно вспомнить dBase и WordStar.
image
Были и другие сопроцессорные карты, с поддержкой различных процессоров. Карта Stellation Mill с процессором Motorola 6809 позволяла запускать на компьютерах Apple операционную систему реального времени OS-9.

Apple SOS

Apple III выпустили в 1980 году для бизнес-пользователей. Новая ОС, SOS, официально получила свое название из-за сложности и продвинутости (Sophisticated Operating System), но реально один из разработчиков увековечил имя своей дочери — Sara's Operating System. Каждая программа загружала в память также и операционную систему. На диске было ядро SOS.kernel, интерпретатор SOS.Interp и набор драйверов SOS.Driver.
image
SOS эволюционировала в Apple ProDOS.

Apple ProDOS

На смену Apple DOS 3.3 в октябре 1983 года пришла ProDOS 1.0, основанная на SOS. В новой системе было удобней программировать на Бейсике, ассемблере и прямо в кодах. В SOS улучшили работу с прерываниями, ускорили и упростили доступ к диску, и внесли множество других улучшений. Также появилась иерархическая файловая система с такими возможностями:
  • Поддержка нескольких логических томов на одном физическом носителе
  • Поддержка до 20 разных типов файлов, 10 из них доступны для назначения пользователем
  • До восьми открытых одновременно файлов
  • Любое количество файлов в подкаталоге. Хотя в корневом каталоге могло быть не более 51

image
После выхода 16-битного Apple IIGS ProDOS версии 1.1.1 на тот момент разделили на 8-битную ветку ProDOS 8 и 16-битную ProDOS 16.

Поиск источников вдохновения


В 1984 году Apple выпускает Macintosh, а в 1983 — Apple Lisa. Здесь будет уместно вернуться в 1968 год. До появления UNIX, до основания Apple и Microsoft. За 17 лет до выхода Windows 1.0.

NLS: oNLine System

9 декабря 1968 года в Сан-Франциско на конференции FJCC (Fall Joint Computer Conference) Дуглас Энгельбарт представил NLS. Он с 1962 года создавал ее с 17 сотрудниками в Исследовательском центре дополненной реальности в Стенфордском исследовательском институте в Калифорнии. Это был прорыв и переполнение количества инноваций на единицу времени.


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


Мышь

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

Аккордная клавиатура

Другая новинка на этой презентации — пятипальцевая аккордная клавиатура. Она позволяет вводить 2**5-1 = 31 символ. Минус единица сооветствует всем ненажатым клавишам.
image

Работа с документами

Энгельбарт показал, что текст можно вводить, перетягивать, копипастить, форматировать, прокручивать, иерархически группировать, и так далее. Созданный текст можно сохранить в файле с метаданными типа имени автора и времени создания. Если использовать мышку, то все это несложно и быстро. Энгельбарт называл общий механизм всего этого view control.
Система была удобна для написания кода. Блоки кода можно было сворачивать, работало автодополнение. Также поддерживалась разметка, которая позволяла форматировать документ в соответствии с назначением, например для печати.

Гипертекст и карты изображений

С помощью гипертекста Энгельбарт реализовал переходы между фрагментами текста. Это может быть переход к результату поиска или просто переход по видимой или невидимой гиперссылке.
Система также поддерживала рисование. В картинки тоже можно было встраивать гиперссылки на манер современных карт изображений, image map.
Слово “гипертекст” придумал Тед Нельсон, а саму идею приписывают Ванневару Бушу. Он был советником по науке Франклина Рузвельта, и в 1945 году предложил ассоциацию вместо индексирования как способ связи фрагментов информации.

Поиск

Был реализован мощный инструментарий поиска с весами ключевых слов и выводом результата в виде гипертекста.

Окна

Экран можно было разделить на две части, одна из которых статичная, а вторая интерактивная. Например, при чтении мануала появилось непонятное слово. Можно было открыть во втором окне словарь и уточнить его значение. В целом, это было похоже на HTML-фреймы.

Совместная работа

Также можно было совместно работать над документами, править чужой текст, оставлять заметки соавторам — почти как Гитхаб.
Также можно было оставить сообщение конкретному человеку, а не пользователю вообще. Программируемый фильтр позволял показывать разное содержимое файла различным пользователям.

Интерактивная совместная работа

А еще показывали живую видеоконференцию. Можно было даже показывать удаленным пользователям одно и то же изображение на экране, но предоставить разные права доступа. Например, один редактирует, а второй наблюдает в рид-онли.

Результат

Энгельбарт утверждал, что такая система позволит пользователям эффективно справляться со сложной информацией, в которой контент представляет собой концепции. NLS должна была стать инструментом для навигации по структурам, которые не могут быть отображены простым текстом.
Энгельбарт также работал над созданием ARPANet. В планах был специальный сервис для работы с актуальной информации о сети и ответов на вопросы типа “Кто предоставляет этот сервис?”, “Какой протокол мне надо использовать?”, “Какие хосты онлайн, а какие отключены?”.
Активно использовалась концепция бутстрепинга. Краткий смысл: “Мы создаем этот инструмент, чтобы с его помощью создать еще лучшие инструменты”.
Даже такие инновации не спасли NLS. Институт прекратил финансирование. Многие разработчики перебрались в новый проект Xerox PARC, где они планировали создать распределенную сетевую версию NLS. Энгельбарт ушел в телефонную компанию Tymshare. По иронии судьбы, его офис был недалеко от Apple.

Smalltalk

Разработка Xerox PARC очень сильно изменила подход к компьютерным интерфейсам вообще. Первую версию Smalltalk выпустили на PARC в 1972 году. Это был первый полностью объектно-ориентированный язык. В основе лежал язык Simula. Была также среда разработки с оконным интерфейсом. На Smalltalk написали много чего интересного для той платформы: WYSIWYG редактор, софт для захвата и редактирования звука, анимации и так далее.
Позже, глядя на Smalltalk, разработали язык Objective-C. Главный разработчик Smalltalk Алан Кей был основателем проекта PARC. В конце 60-х он предложил идею чего-то в духе современного КПК под названием Dynabook. Позже он работал во многих крупных компьютерных компаниях, включая Apple, на должности главного по науке.

Xerox Alto

В Xerox не забывали и о персональных компьютерах в сегодняшнем смысле этого слова. В результате получился Xerox Alto. У него был 16-битный процессор, вертикальный экран с разрешением 606х808, клавиатура обычная и аккордная, трехкнопочная мышь с шаром и красивый корпус. Были в наличии интерфейсы для принтера, плоттера, Ethernet со скоростью 2.94 Mbps. Поддерживалась сеть и сетевая печать, но не было виртуальной памяти. В 1979 году в эксплуатации было около 1500 станций Alto. Они продавались и сторонним покупателям.

Alto OS

Был встроенный эмулятор стандартного набора команд, который выполнялся с наименьшим приоритетом. Он выполнялся из ROM. (< — этот фрагмент мне не понятен, дополнительные источники ничего внятного не говорят — прим. перев.) Другие стандартные задачи включали в себя низкоуровневые драйвера диска, сети, памяти, экрана, включая развертку и курсор.
ОС была написана на языке BCPL. Дебаггер под названием Swat (руки чесались перевести как ОМОН, но сдержался — прим. перев.) позволял сохранить состояние машины в Swatee-файл для отладки. Было некое подобие шелла, Alto Executive. Его сетевая версия NetExec могла загружать программы с сервера по Ethernet вместо локального диска.
image

Приложения

Их было много, и они были полезные. Краткий список: текстовый процессор Bravo, менеджер сообщений Laurel, иллюстратор документов Markup, векторный редактор Draw, файловый менеджер Neptune, я зыки программирования Mesa (вариант Паскаля), Smalltalk, Lisp.
Эти приложения довольно продвинутые, даже при взгляде из будущего. В редакторе Draw экран был разделен на несколько областей: меню кистей, команд, шрифтов, само изображение, заголовок и окно сообщений. Officetalk, редактор форм, позже включили в офисную систему STAR System. Туда же вошли многие наработки по интерфейсам. Сетевые возможности включали в себя FTP и Telnet.

Xerox STAR System

image
Xerox представил новую систему 8010 STAR Information System на торговой выставке в Чикаго в апреле 1981 года. Железо было обновлено по сравнению с Alto, но отличия были в основном количественные. Главная фишка — интерфейс разработали до железа и софта.
Интерфейс STAR был основан на виртуальных метафорах к обычным офисным реалиям: бумаге, папкам, картотекам, почтовым ящикам, калькуляторам, котикам. Позже это все перетекло в многочисленные подражания. Примеры:
  • Был рабочий стол с иконками документов, папок и почтовых ящиков
  • Иконки открывались или запускались по щелчку. Поддерживались почти все функции из нынешнего меню правой кнопки мыши в Windows.
  • У окон были заголовки с именем, контекстным меню и контекстной помощью. При необходимости появлялись полосы прокрутки. В целом интерфейс был заточен на тайловые окна, без перекрывания.
  • Были развиты способы визуализации работы с текстом, например инструментарий поиска с кучей опций.


В следующей серии будут Маки эпохи Моторолы 68k и ранних PowerPC.
Перевод: Amit Singh
Вадим Марков @BubaVV
карма
81,5
рейтинг 0,2
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Реклама

Самое читаемое

Комментарии (26)

  • +11
    Аккордовая клавиатура — очень интересная штука.
    • +5
      В смысле «программист на десяти пальцах может считать до 1024!»?
      • 0
        Ага
      • 0
        Вспоминается цитата — куда больше возможностей при более хитром подходе.
  • +1
    Был встроенный эмулятор стандартного набора команд, который выполнялся с наименьшим приоритетом. Он выполнялся из ROM.

    Как вариант: в ПЗУ был прошит ряд команд, в случае их отсутствия загруженной с носителя оболочке (командной среде) они выполнялись из ПЗУ.
    • 0
      Там скорее какая-то виртуалка для стандартного в те времена байт-кода. Короче, непонятно
  • +5
    > 666 долларов 66 центов
    > Apple
    У ребят все в порядке с чувством юмора было :)
    • +2
      Легенда гласит, что это для ускорения набора ценника
      • +3
        а еще это наценка продавца 33% они ему поставляли платы по 500$ за штуку
        • +1
          Но по правилам округления было бы $667 или $666.67, Возняк оптимизировал
    • +11
      Что ещё ожидать от людей, открывших свою компанию 1 апреля?
    • 0
      Версия о сатанизме отметается сразу? :)
  • +3
    Насчет ROM:

    www.guidebookgallery.org/articles/thexeroxaltocomputer

    Each Alto has a ROM (read-only memory) that contains just enough software to “bootstrap” an Alto into the local network (see textbox on this page).

    То бишь ПЗУ, чтобы (если я не ошибаюсь) компьютер смог работать в локальной сети.
  • –1
    файловый менеджер Neptune

    Так вот откуда пошел Norton Commander
  • +3
    Спасибо автору, вы сподвигли меня на чтение очень интересного исторического документа: Alto Hardware Manual (August 1976).

    Итак, ПЗУ было два, один из них — MI ROM. ПЗУ для микроинструкций, одна из инструкций в котором (расположенная по адресу 20B) носила метку START, и семантика ее описана как «запуск рабочего цикла эмулятора» (Beginning of emulator's main loop; starts a new emulated instructions).

    В MI ROM содержались исходные файлы микрокода с расширением .MU и бинарные файлы микрокода с расширением .MB.

    В исходниках были определены константы и т.п. Программы, которые исполнялись в RAM, должны были быть совместимыми с программами, которые исполнялись в ROM (как минимум, константы, объявленные в микрокоде, исполняемом в RAM, должны были быть подмножеством констант объявленных в ROM-микрокоде, и подмножество должно было располагаться по тем же адресам).

    Раздел 9.1 документа. Насчет количества ROM — схемы и описания в более ранних разделах.
    • 0
      Прошу прощения… Не «исполнялись в ROM» (естественно же!). Не совсем точно перевел предложение.

      «Для того, чтобы программы, написанные для исполнения в RAM (здесь видимо речь идет о наборе других программ, которые не были изначально расположены в ПЗУ) были совместимыми с программами, расположенными в ROM… (и далее уже про константы)»
  • +1
    Спасибо автору за статью! ) С нетерпением жду продолжения! )
  • +1
    Спасибо огромное! Очень интересно! Лично мне история о разработках Энгельбарта и Xerox PARC показалась не менее интересной, чем история ОС Apple.
  • 0
    апреле 1981

    Интерфейс STAR был основан на виртУАльных метафорах к обычным офисным реалиям: бумаге, папкам, картотекам, почтовым ящикам, калькуляторам, котикам. Позже это все перетекло в многочисленНые подражания.

    Вот откуда все пошло. За 30 лет почти ничего нового и не придумали в области пользовательских интерфейсов. Как в автомобиле — педали и руль
    • 0
      Поправил
  • +1
    видел вчера верхнюю плату в фильме про Джобса. Визуальное сходство есть — ну хоть что-то сделали нормально.
  • +1
    Автор по-американски обтекаемо говорит про частоту процессора Apple I, но на самом деле она была как раз 1 Мгц. MOS 6502 — отличный для своего времени чип, кстати!

    Ну и прямо нельзя не сослаться на эту рекламу: upload.wikimedia.org/wikipedia/commons/4/48/Apple_1_Advertisement_Oct_1976.jpg — красота же, для тех кто понимал!
  • 0
    До чего же крутым был Douglas Engelbart!
    Столько всего наперед придумать!
    Джобс со своим тач скрином меркнет по сравнению с таким визионерством.
  • +1
    Не только Энгельбарт… в Xerox PARC вообще присутствовала уникальнейшая комбинация — группа гениев, полная свобода действий, и безлимитный поток денег.

    «You're wrong… I'll tell you when you'll know you've got a project at Xerox Corporation. You'll start seeing people turn up and make a couple of big bottomless pits outside your lab. Then trucks will drive up night and day loaded with hundred-dollar bills, and just pour them into those pits.»

    «Ты неправ… Я тебе расскажу, как ты определишь что у тебя есть проэкт в корпорации Ксерокс. Ты увидишь как появляются люди и выкапывают пару огромных бездонных ям возле твоей лаборатории. А потом, грузовики будут приезжать в ночь и в день, загруженные 100-долларывими банкнотами, и просто вываливать их в эти ямы.»

    Цитата из книги «Dealers Of Lightning» (ISBN 0887308910) — там детально описывается история создания PARC'a, процесс изобретения таких вещей как видеоконференция, Ethernet, лазерного принтера, мышки, и многих других вещей.

    Адель Голдберг (Smalltalk), Алан Кей (ATARI, Apple, Walt Disney, MIT, и т.д.), Эрик Шмидт (Google), Роберт Меткалф (3Com), «Винни-Пух и все-все-все»… такая была команда!
    • 0
      Эрик Шмидт пришел в Google из Apple.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.