Эволюция Mac OS: от System 1.0 до Mac OS 9

С ноября прошлого года у Mac’ов снова интересное и яркое будущее, и теперь уместно вспомнить о дне рождения этой платформы. 24 января Macintosh исполнилось 37 лет. С 1988 или 1989, в конце каждого пресс-релиза Apple Computer добавляли (и добавляют до сих пор) краткое описание исторических достижений компании – и на одном из первых мест был упомянут Mac, в 1984 году революционно изменивший персональные компьютеры. Правда, но не вся и не совсем. Mac был замечательным компактным компьютером с уникальным дизайном и с 32-битным процессором внутри – но ничего особенно революционного в нем не было. Революционной, и это не преувеличение, была его операционная система. Спустя 37 лет многие из её черт узнаваемы и в самой современной macOS Big Sur, она же macOS 11.0. Отсчет версий начинается с System 1.0, вышедшей вместе с первым Mac в 1984 году. В этой статье мы рассмотрим эволюцию операционной системы Mac с самого ее рождения.

Чем именно первый Macintosh и его операционная система были революционны? Из-за того, что вместо языка командной строки для управления им использовались графический пользовательский интерфейс (ГПИ), курсор и перемещающая его по экрану однокнопочная мышь? Все это уже было. Например, в рабочей станции (1973 года рождения) Xerox Alto, которую Стиву и сопровождающим его лицам показали в 1979 году.

В Mac’е, впервые в истории ГПИ, его заставили работать в 128 килобайтах оперативной памяти компьютера, это было выдающимся достижением. Но тратить миллионы только на это было бы глупо, и совет директоров не утвердил бы это безобразие. Все было серьезнее: в то время лишь небольшая часть из тех, кто был достаточно обеспечен, чтобы приобрести персональный компьютер, покупали его. Остальные считали компьютеры непонятными и сложными и не хотели тратить уйму времени на его освоение. В результате десятки миллиардов долларов, если не сотни, не попадали на счета производителей компьютеров, периферии и программ. Это был, образно говоря, мощный нефтеносный слой на недоступной глубине.

Как появилась Mac OS?

Увидев Xerox Alto, Стив понял, как можно добраться до этих миллиардов. Для этого нужно было создать компьютер, основанный на тех же принципах, но более простой и понятный – который можно было освоить за минуты, без изучения документации и нечеловеческого языка командной строки. Чтобы основных принципов (которые можно было бы изложить на одной странице) хватало для включения интуиции и здравого смысла. А уже они подсказали бы все остальное. Еще этот компьютер должен быть достаточно недорогим, чтобы продаваться массовыми тиражами.

Внутри компьютер может быть сколь угодно сложным – но пользователю знать об этом ни к чему. Создать такой компьютер сложней, чем обычный и такой же как у всех, но лет через пять после начала его продаж все компьютеры в мире будут такими же, как он, и затраты окупятся. Примерно так Стив объяснил цели и смысл своего предложения совету директоров. Чтобы окончательно их убедить, потребовалось время, но «безумно великому замыслу» Стива, в конце концов, дали зеленый свет.

Стив хотел избавить пользователей от сложности и непонятности операционных систем и преуспел в этом. Сторонние наблюдатели пришли к выводу, что Mac настолько примитивен, что в нем вообще нет никакой операционной системы. Это бесполезная игрушка, а то, что это убожество стоит 2 495 долларов (в долларах 2021 года – примерно 6 200), — чистой воды мошенничество.

Операционная система, тем не менее, была. Её даже можно было увидеть, заглянув в системную папку (System Folder). Один из файлов в этой папке так и назывался – System. К системе относился Finder, фактически – приложение, управлявшее рабочим столом, окнами и меню, взаимодействием с пользователем, а также исполнявшее функции файлового менеджера.

В системе было еще одно действующее лицо, ПЗУ с библиотеками системы, но о нем знали только разработчики.

Особенности Mac OS

Файлы в Mac’овской системе состояли из двух частей, или форков (от английского fork, в данном случае «ответвление») – форка данных и форка ресурсов. Форк данных был аналогичен обычным файлам в обычных системах. Формат форка ресурсов был строго и четко определен. Термин «ресурс» в классической Mac’овской системе, помимо прочих его значений, имел еще одно – фрагмент данных, размером до 32 килобайт. В пределах форка ресурсов он обозначался двумя параметрами.

Первый из них, число длиной в 4 байта, называли типом ресурса. Байт – это еще и буква, цифра или какой-нибудь знак в ASCII. Системе удобнее было иметь дело с длинными числами, человеку – с мнемоническими обозначениями. Ресурс типа строка обозначался как ‘STR’, с пробелом на конце. В ресурсах типа ‘STR#’ хранились списки строк. ‘WIND’, ‘PICT’, ‘DLOG’, ‘CNTL’ и сотни разных других их типов были определены Apple. Обозначения типов ресурсов, состоящие только из заглавных или только из строчных букв, были зарезервированы за ней. Кроме того, у каждого ресурса был номер, и ресурсы обозначались так: CODE 0, STR# 128 или BNDL 0. Файлы System и Finder состояли из огромного числа ресурсов, которые можно было редактировать.

Числовые значения с мнемоническим смыслом, хотя технически это обычное длинное число (длиной в 4 байта), получили в Apple специальное обозначение – OSType, и очень широкое распространение. В большинстве систем того времени файлы обозначали по схеме 8.3 – восемь букв латинского алфавита (строчные и заглавные буквы считаются равными) обозначали имя, остальные три, после точки – тип файла. Например, System.exe или otcQ221.dat.

В Mac’овской системе имя файла к его идентификации не имело почти никакого отношения. Тип файла (приложение, драйвер, документ MS Word или MS Excel и т.п.) обозначался двумя значениями типа OSType. Условно назову их «тип» и «происхождение». Комбинация этих значений определяла многое – иконку, которой этот файл отображался на рабочем столе, и действия, вызываемые двойным кликом по этой иконке – какой программой их следует открывать.

Сколько оперативной памяти было в первом Mac

Оперативной памяти в первом Mac’е было 128 КБ. Сначала хотели обойтись вообще 64 КБ, чтобы сделать его дешевле – но не получилось. Системы с графическим пользовательским интерфейсом от Xerox работали (со скрипом) минимум при 350 КБ оперативной памяти. В качестве накопителя первый Mac использовал исключительно дискеты ёмкостью в 400 КБ. Графический пользовательский интерфейс – это графика, пиктограммы, библиотеки и много всякой другой всячины.

В Apple призвали на помощь магию? Да. Магию творческой мысли. Библиотеки (не только графические), пиктограммы и системный код разместили в постоянной памяти, в ПЗУ (в ROM). В IBM PC тоже было ПЗУ, размером в 8 КБ. В нём хранились BIOS и POST – базовая система ввода/вывода и самотестирование компьютера при его включении. В первом Mac’е размер ПЗУ был 64 КБ. Разместить в нем нужно было в пять-шесть раз больший объём данных, увеличивать размер ПЗУ было нельзя. Тупик? Помогла та же магия. Систему писали на Паскале, языке высокого уровня. Исполняемый код на asm, ассемблере Motorola 68000, который получался после компиляции, оптимизировали вручную.

В нашем случае, правда, этим занялся автор идеи, Энди Херцфельд. В итоге размер кода уменьшился примерно в четыре раза, а его надо было уменьшить в пять-шесть раз. В оптимизированном коде Энди искал идентичные и почти идентичные фрагменты, затем фрагменты, которые можно было свести к ним, ну и те, без которых можно было обойтись – в итоге в ПЗУ даже оставалось незанятое место. А после каждой компиляции приходилось делать все это еще раз, заново и с самого начала.

C System 1.0 до System 4.0 Mac’овская система считалась однозадачной. То есть в любой момент работало только одна программа – или Finder. Как и в первых системах iPhone. Но на самом деле, система Mac’ов не была однозадачной. Она была «полторазадачной». Разработчики системы не могли смириться с тем, что для того, чтобы посмотреть на часы или посчитать что-то на калькуляторе, нужно выйти из приложения, в котором работаешь (не забыв сохранить изменения). А потом снова запускать приложение. И придумали аксессуары рабочего стола (DA). Фактически это были драйверы, но работающие не с железом, а с пользователем и пользовательским интерфейсом. Доступ к DA разместили в меню с логотипом Apple вместо названия, которое так и называется – «Apple».

System 1.0 — первая Mac OS

Название этой версии системы было присвоено задним числом, в конце 90-х. Официально её никак не называли. Или называли системным программным обеспечением. Более или менее внятное её обозначение было только у разработчиков – 0.97, они не считали её ни окончательной, ни готовой к выходу. Системы оставались безымянными до System 4.

Пока система была только одна, проблем не возникало. После неё версию системы определяли по номерам версий Finder и System. Обычно они были разными, но в System 1 у них у обоих версия 1.0. Система занимала на дискете 216 К (больше половины) и состояла из 6 файлов: System с аксессуарами рабочего стола (DA) внутри, Finder, драйвера принтера ImageWriter, буфера обмена (Clipboard), хранилища для картинок (Scrapbook) и записной книжки (Note). Кроме этого, для системы было два приложения от самой Apple – MacWrite и MacPaint, и каким-то неведомым образом вынесенный из Apple Computer редактор ресурсов ResEdit, о котором почти никто не знал.

В версии использовалась плоская файловая система (не иерархическая), MFS. Macintosh File System. Папок, на самом деле, не было. Был список, связывающий идентификаторы файлов с папкой, которой не было, но в которой они находились. В первой версии папок было две – System и «пустая папка». Пустую папку можно было переименовать. Создавать новые папки было невозможно. Плоская файловая система занимала заметное место в обвинениях против Apple и Macintosh – больше ни в одной операционной системе мира, даже в самой примитивной, не было такого позора. Но ничего позорного в этом решении не было. HFS, иерархическая файловая система, была написана и отлажена задолго до MFS, но для системы, имеющий дело с 400-килобайтными дискетами, HFS была избыточна, а в ПЗУ она занимала слишком много места. MFS была написана Энди Херцфельдом, сразу на asm.

В мае 1984 года вышел минорный апгрейд системы, System 1.1, в основном багфикс (с исправлением выявленных ошибок и проблем), но и с новыми функциями. В меню появились две новых команды – «О системе» (в меню «Apple»), где можно было посмотреть номера версий файлов System и Finder, и «Выравнять» (в меню «View»). Команда расставляла иконки в активном окне по сетке. Версии Finder и System – 1.1g и 1.1.

System 2.0 — появление папок и снимка экрана

Эта версия вышла в апреле. Одновременно с ошеломляющим и совершенно неожиданной новинкой от Apple Computer, тем самым еще одним «безумно великим проектом». Стив объявил о создании первой в мире доступной настольной издательской системы (DTP). В рамках этой программы был представлен LaserWriter, первый настольный лазерный принтер с поддержкой языка PostScript. За 7 тысяч долларов, в два раза дороже вышедшего одновременно с ним и основанного на таком же движке оCanon HP LaserJet. И приложение PageMaker от никому пока еще неизвестной компании Aldus. Это и в самом деле был безумный проект, имевший бешеный успех. В конце 80-х Apple вышла на лидерские позиции на этом рынке, PageMaker продавал Mac’и – но все это было позже. Пока продажи Mac’ов почти прекратились, третий подряд компьютер от Apple явно терпел крушение (другие два провалившихся проекта – Apple III и Lisa).

Версия Finder – 4.1, версия System – 2.0. Изменений в самой системе было немного. Теперь при переименовании пустой папки автоматически создавалась новая пустая папка, в меню Special появилась команда «Выключить», и появилась утилита MiniFinder, ускорявшая запуск часто используемых приложений.

Система снова разочаровала, об этом разочаровании писали, но Стив был занят следующими проектами – компьютером BigMac, на роль операционной системы для которого компании пришлось приобрести лицензию на дорогой коммерческий Unix. И портативным устройством – не то ноутбуком, не то вообще планшетом.

В сентябре 1985 вышел минорный апгрейд, System 2.1, с исправлением багов и минимумом новшеств – поддержкой внешнего жесткого 20-мегабайтного диска Hard Disk 20, но только с Macintosh 512 K. Версия Finder – 5.0, версия System – 2.1. А еще – из Apple Computer ушел Стив Джобс. Его никто не увольнял, ему просто запретили чем-либо заниматься, поскольку от его проектов чаще всего был только вред. Он ушел сам, хотя фактически его выдавили. Начиная с этой версии, помимо MFS использовалась HFS, настоящая иерархическая файловая система – но только на Hard Disk 20. На дискетах (ёмкостью в 400 КБ и в 800 КБ), по-прежнему, применялась MFS.

System 3.0 — 1 мегабайт оперативной памяти

Вышла System 3 в январе 1986 года, одновременно с первым реально полезным Mac’ом в их истории, с которого она, собственно, и началась – это был Macintosh Plus. На его коробке, большими буквами и цифрами, был размер его оперативной памяти — 1 мегабайт. Оперативную память можно было увеличить до 4 Мегабайт. Размер ПЗУ вырос до 128 килобайт – в нём появился код для поддержки SCSI, двухсторонних 800К-дискет, и полноценная реализация HFS (иерархической файловой системы). Mac Plus поддерживал дорелизную и нестандартную версию SCSI, отличающуюся от окончательной версии, из-за чего впоследствии были серьезные проблемы – но они были потом. К Mac’у теперь можно было подключать самые разные периферийные устройства.

Разрабатывать программное обеспечение для Mac теперь можно было на самом Mac (для этого больше не надо было покупать за бешеные деньги Lisa). Стоил же Plus всего на 100 долларов дороже, чем первый Macintosh (2 599 долларов). На Mac’ах все еще ощущался дефицит программного обеспечения, но даже несмотря на неимоверно высокую стоимость минимального комплекса технических средств, для Mac появлялись все новые и новые программы.

Продажи Mac’ов пошли вверх, они снова были интересны. Версия Finder – 5.1, версия System – 3.0.

В 1986 году вышло два апгрейда системы, в основном баг-фиксы – 3.1 (Версия Finder – 5.2, версия System – 3.1) и 3.2 (Версия Finder – 5.3, версия System – 3.2). В Apple работали над чем-то большим и безумно великим, но хотя бы была надежда, что улучшения коснутся и операционной системы. А настольные издательские системы стали приносить компании неожиданно большой доход. Aldus PageMaker буквально продавал Mac.

System 4.0 — появление AppleShare

Четвертая версия системы вышла в январе 1987, главным её новшеством стал AppleShare, комплекс сетевых сервисов. Его активно тестировали в 1986 году, идеи его создания были предложены еще Стивом Джобсом, в рамках проекта Macintosh Office. Оказалось, что если реализовывать их без фанатизма, все получается. Версия Finder – 5.4, версия System – 4.0.

Повод для выпуска версии 4.1 был самым невероятным за всю историю Mac’ов: Apple представила Macintosh II, первый модульный Mac, и Macintosh SE. В System 4.1, вышедшей в марте, почти не было багфиксов, все изменения касались поддержки новых Mac’ов, особенно Macintosh II с его слотами расширения, процессором Motorola 68020 и поддержкой цвета. Это было второе рождение Mac. В Mac SE и Mac II размер ПЗУ увеличился до 256 КБ.

Первые четыре версии Mac’овской системы считаются особой группой – они безымянны, архаичны и способны в единицу времени выполнять только одну задачу. Ведь аксессуары рабочего стола (DA) – все-таки так себе решение. Хотелось настоящей многозадачности. И чего-нибудь нового, яркого, необычного. Между тем, оптимизированный вручную код на ассемблере был на удивление быстрым, откликался на команды пользователя почти немедленно, и по сравнению со всеми другими временами он был невероятно надежен. Но это казалось само собой разумеющимся. Радуясь появлению все новых и новых Mac’ов, систему критиковали за отсутствие радикальных изменений, её называли скучной – и требовали новых функций, изменений в дизайне системы и чего-нибудь ещё.

История появления WriteNow

В 1987 году в продажу поступил еще один текстовый редактор для Mac, WriteNow. Его разработку в 1983 году организовал Стив Джобс, на свои собственные деньги. В Apple к выходу первого Mac’а разрабатывали MacWrite, который не устраивал Стива – кстати, было из-за чего.

MacWrite вышел вовремя, запасной вариант не понадобился, но разработка WriteNow продолжалась еще несколько лет. Стив перфекционист, он требовал от разработчиков WriteNow невозможного – и добился своего. К тому же в 1987 году на Mac’ах было с полдюжины текстовых редакторов (MacWrite II, MindWrite, MS Word и другие), лучшим среди которых считался Microsoft Word, но у каждого из них были свои недостатки – в WriteNow их исправили. В хит-парадах по-прежнему лидировал MS Word, но многим WriteNow нравился намного больше.

System 5.0 — первая Mac OS с многозадачностью

Впервые систему можно было купить, за 49 долларов, в фирменной упаковке, вместе с тремя томами документации и набором программных инструментов для устранения чрезвычайных ситуаций (восстановления случайно выброшенного файла, например) и некоторых неисправностей в системе. У дилеров Apple и в группах Mac’овских пользователей саму систему и набор инструментов разрешали копировать на дискеты пользователя «просто так».

Теперь, когда Mac’и стали достаточно мощными, никакого оправдания отсутствию многозадачности не было. На самом деле она была доступна начиная с System 3.0, в неофициальной программе Энди Херцфельда (он уже ушел из Apple), но ни у кого из моих знакомых, ни у меня самого, подружиться с ней не получилось. Она глючила. Занятая программой оперативная память после выхода из неё оставалась недоступной – для систем с типичным для того времени 1 мегабайтом оперативной памяти это было неприемлемо.

Память не удавалось возвращать из-за особенностей реализации системы, исправить которую было непр

COM_SPPAGEBUILDER_NO_ITEMS_FOUND