-Музыка

Почему MS таки села в лужу

Дневник

Вторник, 11 Июня 2013 г. 03:06 + в цитатник
Пост давно пылится в черновиках =)


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

Так почему же Microsoft терпит фейл за фейлом на свежих рынках? Помнится, была у PSB песенка Break4Love, которую я по традиции называл «брейк четыре лаф» взамен нормальному названию, как и всякие «айсикю два гоу», «четыре пэ-дэ-а» и т.д. Нет, я в курсе как оно подразумевалось, но... В один прекрасный момент Гейст передал Балмеру бразды правления MS, и началась разработка невероятно геморройной платформы «.NET». Выдуманная как великое благо, платформа .NET Framework создала куда больше проблем, чем решила. Например — поставить её. Да, да — на живую винду, и чтобы версии друг с другом дружили сверху вниз, ибо громоздкий проприетарный софт зачастую начинает требовать версии 4.0, и пытается ставить их, следовательно, обламывается. И с каждым дистрибутивом поставляется хотя бы веб-инсталлер, если не полный пакет. Какандокало похуже ява-машины под DOS. Так я к чему? Может, фреймворк и замечательный и это всё нытьё, но название его я читаю никак иначе как «точка нет». Вы бы ещё «НЕТ и точкой» назвали — сплошной негатив даже в наименовании, ясен пень как корабль назовёшь... Вот такая метафизика.


Тем не менее, я всё-таки искренне пытаюсь понять, что за херня вообще происходит в трендах и рынках, и где MS налажала. 15 лет назад никто и подумать не мог, что серьёзные и полезные вещи можно будет делать не только на десктопах, а портативные устройства станут мобильными и куда сложнее, чем органайзер с тетрисом и звонилкой. 10 лет назад взлёт мобильных платформ казался уже очевидным, да и средние характеристики устройств класса КПК были уже не так дурны, хоть и на RISC ARM платформе. Да, MS создала великолепные стилусоуправляемые Windows Mobile 200x, которые изнутри вроде бы даже похожи структурой на взрослую версию, чтобы хомячкам не переучиваться. Однако вспомним основополагающий принцип Windows — обратная совместимость. В линейке 9x вообще никаких проблем не было, фифти-фифти 16- и 32-разрядного кода, мешанина и ад. Зато оно пердит, но едет работало на любом собранном на помойке железе. Линейка NT была немного строже — вставала со 100% гарантией разве что на брендовые машины, которые были сертифицированы и драйвера были написаны (NT до версии 5.0 капризничала по части оборудования), и звали их рабочими станциями, стоили они дохрена и больше. К примеру, ситуация на 2000 год: сравниваем мою свежепроапгрейженную домашнюю машину и фирменный Compaq Deskpro EN. Intel Celeron 333, i440BX, 64MB PC100 SDRAM, 5GB HDD, 4MB S3 Trio3D/2X AGP против Compaq Deskpro EN: Intel Pentium III 700MHz, i815, 128MB PC133 SDRAM, 80GB HDD, 64MB nVidia Quadro. Обе умели пускать 16- и 32-битный код, и казалось бы, проблемы тогда не существовало, хотя были и другие архитектуры, к которым MS имела слабое отношение. В линейке NT (особенно в XP) была применена прекрасная реализация виртуальной машины для 16-битных процессов — NTVDM/WOW, так сказать говнодос, которого вообще не ощущаешь. Бывают, конечно, капризные игры, которые напрямую работают с устройствами, но к NT 5.1 вроде залатаны все дыры. На этом моменте стоит остановить экскурс в историю и задать вопрос:


1) для запуска старья достаточно транслировать вызовы API Win16 в аналоги Win32, указатели памяти и иные скользкие места совместимости форматов PE;


2) для запуска на Windows Mobile PE-исполняемых файлов достаточно их перекомпилировать под ARM (при наличии сырцов) без трансляции вызовов;


3) реализации ReactOS и Wine доказывают, что разбор API возможен, вопрос чисто архитектурный.


Сам вопрос такой: неужели, блядь, настолько тяжело было написать аналогичную виртуальную машину-транслятор (на худой конец эмулятор) x86-ARM? Да пусть даже не на ходу, с отложенной трансляцией, ведь операционные системы не брезгуют префетчерами и предсказаниями для оптимизации запуска программ, что сложного сохранить уже оттранслированный код где-нибудь в закромах и запускать из него? Да, пусть первый запуск незнакомой софтины займёт десятки минут, зато потом наступит рай. Или это противоречит сраной правовой политике? А может, аппаратные требования якобы подводят? Да вряд ли кто додумается запускать рендеринг сложных сцен в 3dmax на КПК неродным для ARM алгоритмом.


Да, было бы условно медленно, но мощности же растут. Мощностей современных потомков КПК хватает на эмуляцию в BOCHS полноценной Windows XP со всем скрабом! Нет, это злой умысел, который сейчас забивает гвозди в гроб перспективы Microsoft остаться на мобильном рынке. Тем паче, они продолжают их забивать вполне успешно — чего только стоит цифровая подпись софта на Windows 8/RT.
Тут ведь какое дело, даже для J2ME платформы Nokia S40v5 нашёлся таки на просторах интернетов эмулятор процессора 8086, который укладывается в ограничения хипа в 2МБ и быстродействие позволяет даже ЧТО-ТО делать на нём в реальном режиме Windows 3.0, а уж если бы это была не Java, а почти нативный ELF, то там и до 386-го недалеко, а там... Короче, сами виноваты. Вот она — цена сегментирования. Сейчас уже слишком далеко и поздно, «под палец» уже не заточишь скроллбары и кнопочки 16х16.




А пока они тупят и картина неутешительная, я потихоньку приблизился к тому, чего долго и страстно хотел. Итак, альтернативный вариант развития истории, если бы курс был взят на tablet computer, нежели internet tablet. Вот оно, держанное в руках Гейтсом чудо с того конца света — планшетный компьютер OQO Model 02.


Мимими

Внутри начинка 2007 г., VIA C7 1.5GHz, 1GB, 60HDD, QWERTY и мышь(!) плюс дигитайзер Wacom под стилус, само собой Bluetooth+WiFi, без модема, автономность 2-3 часа (расширяется аккумулятором и заменой HDD на SSD). Размером это чудо 142×84×26мм и весом 400гр., что сравнимо с PSP или Eking S515. Что понравилось, думаю, очевидно. Недостатки же есть: малая автономность (по сравнению с Dell Latitude 10 часов, но я наверное, хочу невозможного), HDD вместо SSD (скидка на древность), отсутствие адекватной OQO-утилиты управления питанием, нет дырки/места для стилуса, слота для SD, ВЕНТИЛЯТОР АРРРГГГГГ! По ощущениям VIA хуесосит даже у целерона, который в ASUS Eee 900, а в остальном очень продуманная вещица ибо проектрировала Канада. На родную XP Professional (ENU) поставил SP3 и пакет Tablet PC, добавляющий распознавалку и экранную клавиатуру всюду, включая winlogon (!), питанием процессора можно гибко управлять RMClock. Я визжу от восторга , и для казуального everyday юза в качестве планшета и КПК меня вполне сатисфачит. Однако на отдаление от места расположения на 10 дней проверенно — имеет смысл брать Eee.




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


Нет, майнить коины я не собирался, зато напоролся на статейку Криса Касперски Хакер № 08/07 (104) Одна голова хорошо, а две лучше, где он в популярных выражениях объяснил, что даже Beowulf-кластеризация это сложно и «нахуя» оно дома, что по закону Амдала на интерконнект старого железа уйдёт ресурсов больше, чем выигрыш, да и стоить оно будет, а мне хочется за так, и то, что распределённые вычисления вместе со всей терминологией типа RPC, MPI, GRID-ами и mutex-ами достойны целой академической отрасли и по ней пишутся докторские, а также что делегирование и управление сверхнадёжным арбитром сродни работе начальника над бездельниками и поедателями калорий киловатт, и пожалуй, самое главное: девять женщин не родят одного ребёнка за месяц, девять яиц в одной таре будет готовиться столько же, сколько и одно, и девять кораблей не перевезут один груз в девять раз быстрее. Зато перевезут в 9 раз больше груза одновременно. Выигрыш от распараллеливания следует искать в делегировании несвязанных между собой задач, определяемых критериями зависимости результатов операций. Банально — кодирование/преобразование аудио-видео информации, подбор хешей и паролей к архивам без rainbow-таблиц и с ними, остальное вы додумаете сами .


Кластер на коленке
Внизу — тот самый образчик ЛДСПшной мебелировки с Celeron Tualatin внутри.

Я поскрёб по сусекам и удалось собрать 7 машин разных конфигураций. Выбрал вариант простого объединения узлов в сеть 100M Ethernet без объединения в домен, адреса которым выдаёт DHCP через хаб/свитч роутер домашней сети или управляющий компьютер через второй сетевой порт. Таким образом я решил вопрос «безопасности» со стороны WAN. На все машины почти без проблем встала одинаковая Windows XP SP3 с замечательным апдейтом, добавляющим функционал RemoteApp из Windows Server 2008, что позволило не держать на управляющей машине громоздкие полные рабочие столы mstsc, а лишь отдельные нужные окна (с общим буфером обмена и одним окном в фокусе). Это уже больше похоже на «объединение компьютеров» из поискового запроса, ведь теперь я могу делегировать задания машинам просто переключаясь между окнами.


SoXiEs_cluster2 (700x274, 80Kb)
Четыре ноды перебирают пароли

Про балансировку нагрузки придётся помнить самому, конфигурации узлов (нодов) варьируются от Pentium II-450 до Pentium 4 HT (Conroe), по возможности энергопотребление периферии сведено к минимуму, отключен звук и по возможности используются встроенные видеоадаптеры. На всех нодах включен сервер telnet для экстренных случаев, а также настроено удалённое выключение одним cmd-скриптом. Общего хранилища как такового нет, в его роли выступает управляющая машина MAIN с расшаренными ресурсами (mstsc настроен таким образом, что при входе на ноду сессии доступны все буквы дисков клиента по адресу \\tsclient\). В теории, при чёткой балансировке ресурсоёмкие задания должны завершиться одновременно, однако при брутфорсе паролей вероятность ускорения исхода возрастает в разы ибо потоков и точек старта больше.


SoXiEs_cluster1 (700x309, 60Kb)
Семь нод (ничего не делают) — окончательный вариант

Так как железо далеко не первой свежести, настройка и приведение к общему знаменателю потребовала долгой ебли вприсядку. У некоторых машин кроме проблем с совместимостью планок памяти наблюдалась севшая батарейка, которая не позволяла грузиться вслепую, вспухшие конденсаторы в деревянном корпусе, один из BIOS'ов при отключении до завершения самотестирования POST вообще самостоятельно запускает SETUP и не сообщает никак и загрузка стопорится, а если всё гладко, достаточно двух кабелей — питание и сеть. Машинку, запихнутую в корпус видеомагнитофона Daewoo, удалось заставить грузиться с карты CompactFlash, причём Windows видит её как съёмный диск и успешно монтирует флеш-брелоки без Hitachi microdrive. Тьма тонкостей, но оно всё удивительным образом работает , хоть при работе и нужно запирать всю стойку в отдельное помещение из-за шума и тепла.


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

Рубрики:  здесь и сейчас
этот удивительный мир вокруг нас

Метки:  

 Страницы: [1]