Введение
MultiFinder – расширение для классической Mac OS, представленное 11 августа 1987 года и включенное в System Software 5. Оно добавляет кооперативную многозадачность, позволяя одновременно работать с несколькими приложениями – значительное улучшение по сравнению с предыдущими системами Macintosh, которые могли запускать только одно приложение одновременно. С появлением System 7, MultiFinder стал стандартной интегрированной частью операционной системы и оставался ею до выхода Mac OS X.
MultiFinder is an extension for the Apple Macintosh's classic Mac OS, introduced on August 11, 1987 and included with System Software 5. It adds cooperative multitasking of several applications at once – a great improvement over the previous Macintosh systems, which can only run one application at a time. With the advent of System 7, MultiFinder became a standard integrated part of the operating system and remained so until the introduction of Mac OS X.
Предыстория
Первый Macintosh был выпущен в 1984 году, и разработчики Apple приняли раннее решение, что 128 КБ оперативной памяти машины были настолько ограничены, что им необходимо отказаться от функциональности многозадачности приложений, разработанной Apple для Lisa. По мере выпуска последующих аппаратных моделей Macintosh, ключевой особенностью которых был значительно больший объем оперативной памяти, были разработаны новые методы программирования в качестве обходных путей, позволяющие пользователям запускать приложения одновременно. "Desk Accessories" стали неотъемлемой частью системы 6 на протяжении всего её существования, а "Switcher" уступил место MultiFinder, который затем был напрямую интегрирован в System 7.
Столовые принадлежности
Чтобы обеспечить некоторую свободу действий и оправдать обещание графического интерфейса о единообразии, оригинальный Macintosh включал в себя "Desk Accessories" – настольные аксессуары, такие как калькулятор, которые могли работать параллельно. Однако их функциональность намеренно ограничена ради экономии оперативной памяти. По сути, это драйверы устройств, использующие многозадачную систему, изначально разработанную для поддержки периферийного оборудования. В связи с этим, их рабочая среда сильно ограничена. Они могут отображать только одно окно, которое по умолчанию имеет специальное оформление с круглыми границами. Несмотря на то, что системное программное обеспечение не предоставляет им специальной поддержки, популярность "Desk Accessories" побудила многих разработчиков приложений обеспечить хорошую кооперативную многозадачность уже с первых дней.
Переключатель
Энди Герцфельд, один из оригинальных архитекторов программного обеспечения Apple для Macintosh, написал Switcher после того, как увидел, как Джон Маркофф использовал программу, остающуюся в памяти, на компьютере IBM в октябре 1984 года. К концу года у него был рабочий прототип, и он вскоре продемонстрировал его публично. И Microsoft, и Apple хотели приобрести эту утилиту. Герцфельд выбрал последнюю, поскольку считал, что Switcher должен поставляться в комплекте с системой Macintosh. Apple предложила больше денег (плюс роялти), и компания планировала выпустить Switcher вместе с Macintosh 512K. Первая официальная версия Switcher появилась в апреле 1985 года. Switcher работает, выделяя ряд фиксированных слотов в памяти, в которые можно загружать приложения. Пользователь может переключаться между этими приложениями, щелкая по небольшой кнопке в верхней части строки меню. Текущее приложение горизонтально исчезает, а следующее появляется на его месте. Хотя этот подход и неудобен, он хорошо сочетается с существующей схемой управления памятью системы, и приложениям не требуется специальное программирование для работы с Switcher. Эта ранняя работа над Switcher привела к разработке MultiFinder инженерами системного программного обеспечения Apple Эрихом Рингевальдом и Филом Голдманом. Microsoft считала, что Switcher особенно полезен для высокооптимизированных приложений Macintosh, поэтому утилита поставлялась вместе с Excel. Microsoft заявила, что использование нескольких приложений с Switcher предпочтительнее, чем одно интегрированное программное приложение, такое как Lotus Symphony. К 1987 году журнал Compute! Apple Applications сообщил, что "многие владельцы Macintosh чувствуют себя комфортно только при использовании нескольких приложений одновременно. Switcher и дополнения рабочего стола – два наиболее распространенных примера этой философии". PC Magazine отметил, что Switcher потребляет слишком много драгоценной оперативной памяти системы и недостаточно надежен. Это привело к обвинениям в том, что Jwa van der Vuurst был псевдонимом, и что программа на самом деле была создана кем-то из Apple, обладающим глубокими знаниями о внутреннем устройстве Macintosh. Само приложение добавляет второе меню Apple на правой стороне строки меню, которое отображает все запущенные приложения и позволяет переключаться между ними. Оно также позволяет регулировать размер выделяемой памяти для приложений, кэш диска и добавляет фоновое многопоточное копирование, аналогичное улучшенной функции копирования в Speed Doubler и Mac OS 8.
Слуга
Servant – ещё одна попытка Энди Герцфельда реализовать многозадачность на Macintosh, призванная устранить недостатки Switcher. Выпущенный в сентябре 1986 года, он фактически объединял в себе функциональность Finder, Switcher и ResEdit в одном инструменте для Macintosh Plus. Его файловый менеджер примечателен отсутствием полосы прокрутки – вместо этого требовалось удерживать и перетаскивать фон окна, подобно тому, как это делается в современных картографических приложениях. Одной из наиболее интересных особенностей Servant стала первая известная реализация обоев на Macintosh, позволяющая пользователям заменять стандартный серый фон изображениями, созданными в MacPaint или ThunderScan. В отличие от Switcher, Servant позволял пользователям открывать приложения в произвольном порядке, а не требовал предварительного выбора приложений для запуска, а затем их запуска внутри Switcher. Switcher также обладал базовой возможностью восстановления после сбоев приложений и принудительного завершения зависших программ, переставших отвечать. В результате пользовательский опыт оказался более интуитивным, чем в Switcher. Хотя функциональность редактирования ресурсов в Servant не была столь же развита, как в ResEdit, она позволяла изменять иконки файлов.
Мультифайндер
MultiFinder, известный до выпуска как "Juggler", был представлен 11 августа 1987 года, а более поздние версии позволяли запускать значительно больше приложений одновременно. При активации приложения все его окна выдвигаются на передний план как единый слой. Этот подход был необходим для обратной совместимости с множеством уже документированных структур данных окон. MultiFinder также предоставлял приложениям возможность заранее сообщать о своих требованиях к памяти, чтобы MultiFinder мог выделять каждому объём оперативной памяти в соответствии с потребностями. Эта схема, хотя и работоспособная, имела серьёзные ограничения, вызывавшие множество проблем у пользователей. Виртуальная память была доступна только современным Mac с чипом PMMU (требовались компьютеры класса Mac II) и расширением Virtual от Connectix. Позже, в 1987 году, стремление инженера System 6 Эриха Рингевальда полностью решить эти архитектурные проблемы привело его к смелому сооснованию и руководству проектом Pink, задуманным как будущее новой MacOS, а затем к должности главного архитектора программного обеспечения в Be Inc. для разработки BeOS в 1990 году. С выпуском System 7 расширение MultiFinder было интегрировано в операционную систему, и оно остаётся таковым в Mac OS 8 и Mac OS 9. Однако интеграция в ОС не устранила присущие MultiFinder особенности и недостатки.
Прием
После выпуска MultiFinder в 1987 году журнал PC Magazine отметил, что он опередил конкурирующую операционную систему OS/2 от IBM, выйдя на рынок раньше, и заявил, что система с MultiFinder «не является полноценной многозадачной операционной системой, хотя и представляет собой нечто большее, чем просто переключатель контекста». В 1990 году журнал InfoWorld протестировал четыре основных варианта многозадачности для настольных компьютеров: DESQView, OS/2 1.2, Windows 3.0 и System 6 с MultiFinder. MultiFinder был оценен в целом положительно за скорость, простоту использования и соотношение цены и качества. Его использование уменьшило скорость передачи файлов и печати вдвое по сравнению с однозадачной System 6 без MultiFinder, но оставалось сопоставимым с Windows и DesqView и значительно быстрее, чем OS/2. Эти компромиссы считались типичными для современных надстроек многозадачности по сравнению с OS/2, изначально разработанной, но менее удобной в использовании.