<<<предыдущий список следующий>>>

Это - копия документа, находившегося на http://dz.ru. Авторские права, если не указано иначе, принадлежат Дмитрию Завалишину и/или Евгении Завалишиной. Все изменения, внесенные мной, находятся в этой рамочке.Пожалуйста, прочитайте disclaimer.


16 ноября 1997    

Тонет муха в сладости
В банке на окне,
И нету в этом радости
Ни мухе, и ни мне.

Олег Григорьев

    

Как и обещал, возвращаюсь к теме Макинтошевских и близлежащих операционных систем.

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

Остальные стороны Mac OS, в общем, не вызывали принципиальных нареканий, однако упорядочение и им не мешало, да и объектно-ориентированное программирование переходило из стадии малоизвестного прикола в стадию овладения широких масс новым инструментом. Поскольку событийно-центрированная модель, применяемая в Mac OS (а так же в X Windows, Windows, OS/2 Presentation manager, etc etc) была, по сути, первым "промышленным" проявлением объектной ориентированности, разумному человеку было понятно, что драться с этой парадигмой уже не только глупо, но и физически невозможно. Вопрос был только в том, насколько глубоко нырять в ОО на практике, и где прагматика начнет перевешивать стремление к красивому.

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

Другим фактором, повлиявшим на создание наследника Mac OS, была яростная попытка Юниксового мира побороться с постоянным растолстением сей почтенной ОС. Год от года ядро системы, обрастаюшее новыми финтифлюшками, подсистемами и интерфейсами, становилось все больше и больше, необозримее и эклектичнее, что никак не вязалось с заветами отцов-основателей - держать в ядре только самое необходимое, остальное же - выгнать. Ибо нефиг.

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

Это было разумно придумано, но неожиданно хреновенько реализовано. Это я о проекте Mach. Во-первых, понятие "микро" к новому ядру липло с напрягом, во-вторых, вместо того, чтобы изъятые из микроядра функции аккуратно реализовать в виде сервисов, поверх микроядра Mach просто налепили ядро от обычного BSD Unix. Результат, увы, не сильно впечатлял - конечно, это было лучше обычного BSD, если учесть новые возможности микроядра, но не очень понятно было, чем это отличается от Юникса, если бы просто добавить в него эти новые возможности. Успокаивали себя тем, что это, знаете ли, первый блин, дальше будет лучше, и вообще - великая (без шуток) идея стоит некоторых мучений.

Совершенно, категорически и по самые уши согласен с идеей микроядерных ОС. Но... мало хорошо придумать новый молоток. Надо раз - хорошо сделать, два - научиться не бить им по пальцам.

Однако, Бог с ним. Два источника, две составные части NeXT Step нам уже известны. Третьей стал Джобс, и его доля богатства Apple. Совершенно справедливо решив, что нечего стоять на месте, он основал новую компанию, спроектировал новый компьютер и написал новую ОС. В качестве нижнего уровня выступил Mach + BSD Unix, поверх которых на Objective C была написана верхняя часть айсберга - графика, интерфейсы, взаимодействие процессов на "высшем" уровне, etc etc.

Получилось чертовски хорошо. Для первого-то блина? Замечательно! Понравилось всем, кто удосужился поинтересоваться. Фанаты Юникса, глядя на запрятаный в середину пирога BSD, говорили - "Да это ж юникс!", и радовались. Фанаты мака глядя на интерфейс пользователя, говорили - "Да это ж мак!", и радовались. Фанаты ДОСа и Виндов глядели как-то безрадостно и бурчали - "Черный какой-то... брр. Мерзкая машина."

Их никто не слышал...

Новая платформа набирала обороты. Первым ударом среди ясного неба стало понимание, что "black hardware", своя собственная аппаратная платформа NeXT, не тянет. Писюки и маки обходят ее по производительности и поджимают по цене, а разрабатывать новые модели при имевшемся уровне спроса - не выгодно. Было принято решение перенести NeXT Step на другие машины, а линию черных сундучков NeXT закрыть. Система, однако, продолжала развиваться, пока вдруг не выяснилось, что писать под винды - это чертовски прибыльное дело... а писать свою ОС - совсем не очень. Джобс сдался. Компания Next дала приоритет разработкам, не привязаным к Next Step, и стало ясно, что один из наиболее ярких экспериментов в области ОСостроения потерпел окончательную неудачу. "Тонет муха в сладости".

И тут - под руку подворачивается полуживой Apple. Которому нужна новая ОС. И у которого есть Билловы деньги.

Хватит на сегодня. Продолжение завтра, а заодно и критику опубликую - наверняка ведь кто-нибудь найдет неточность... :-)


Dataquest сообщает, что 3Com Palm Pilot занял в первой половине 1997-го года 66% рынка карманных машинок, против 20%, выпавших на долю машин под Windows CE.


 


Фирма 'Эксимер' объявила о пятипроцентной скидке для читателей 'dz online'. Чтобы получить скидку, нужно сказать сэйлс-менеджеру секретный пароль:'dz online'. Позвонить в 'Эксимер' можно по телефону 125-7001. Скидка действует как для частных 
лиц, так и для предприятий.

Go! Go! Go!


www.reklama.ru. The Banner Network.

Rambler's Top100


Copyright c dz online, 1996-1997
Designed by Denis A. Kim