Среди новостей из мира открытого кода за прошлую неделю нельзя пропустить интервью Линуса Торвальдса интернет-изданию H-Online, где Торвальдс раскрывает стратегию развития ядра за предыдущие годы. И, как пример успешности этой стратеги, во второй части обзора рассмотрим несколько событий, относящихся к мобильной ОС Android.
Linux и эпоха Post-PC
На прошлой неделе глава разработки ядра Linux Линус Торвальдс дал средствам массовой информации несколько интервью, одно из которых для интернет-издания H-Online заслуживает особого внимания (перевод). В нём Линус говорит о главных целях в развитии ядра за последние пятилетки. Эти цели во многом и объясняют текущее состояние Linux в компьютерном мире.
Но сначала вернёмся к скандальному мнению главы Valve Гейба Ньюэла о проблемах на платформе PC, с которым патриоты Windows не согласны, судя по комментариям к предыдущему обзору СПО.
Будь я патриотом Windows, я бы, конечно, тоже возмущался. Однако, например, факты, свидетельствующие о плачевном состоянии дел у производителя процессоров AMD, как раз говорят о правоте Ньюэла в том, что всё-таки "мы потеряем некоторых топовых PC производителей, которые уйдут с рынка".
И дело не только в текущих проблемах AMD, которые регулярно у этой компании случаются. PC себя исчерпал как концепция, суть которой была в гибком масштабировании вычислительной мощности компьютера посредством перманентного апгрейда. Разнообразие поставщиков комплектующих для PC-совместимых компьютеров позволяло собирать гибкие конфигурации, совместимые с конкретным кошельком потребителя.
Но с каждым годом эта гибкость уменьшалась и практически исчезла с появлением ультрабуков, которые, можно сказать, являются "одноразовыми" компьютерами и мало чем отличаются от планшетов или продукции Apple. При этом сектор мобильных решений на архитектуре ARM просто кишит новыми решениями, начиная с айпэдов и заканчивая Raspberry Pi.
Другими словами, сколько бы в дальнейшем не выходило новых версий Windows для десктопов - это уже не вернёт для PC былую молодость. Невооружённым глазом видно, что компьютерный мир медленно, но верно дрейфует в сторону "облачной" масштабируемости и мобильных решений. Соответственно главными технологиями следующих лет в компьютерной индустрии будут энергосбережение и поддержка многопроцессорности.
Именно в этих направлениях как раз и делались основные усилия при разработке ядра Linux. О чём и говорит Торвальдс в своём интервью:
"H-online: Обращаясь к последним пятнадцати годам разработки ядра, какие ключевые события в его истории вы могли бы выделить?
Линус Торвальдс: Основная и наиважнейшая для меня вещь - эта вся проделанная нами работа над масштабированием системы. Мы начинали с уверенной работы на 2 или 4 процессорах, а сейчас вы можете установить хоть 4000. Конечно, масштабирование будет неидеальным, но в большинстве случаев причиной тому будет явно не ядро. Если ваши процессы работают адекватно, то и масштабирование также произойдет адекватно. На это и потребовались серьезные усилия...
Было приложено много усилий ради того, чтобы получить понятную кодовую базу, для которой перед компиляцией можно указать: эй, мне нужно, чтобы ядро работало на 4000 процессорах, - и которая бы сгенерировала код для этого случая. В то же время, если бы вы сказали: нет, мне нужно ядро для работы на двух процессорах, - то и другое ядро собралось бы из того же исходного кода...
Но кроме этого есть и другие важные свершения. Опять же, несколько лет люди из мира телефонов были так требовательны в плане потребления энергии, что им приходилось прибегать к грязным хакам, особенно на ARM-е, чтобы сэкономить еще немного энергии. Мы потратили годы на общие механизмы регулирования энергопотребления, и вместо вставки хаков специально для ARM или еще нескольких телефонных архитектур, мы просто задействовали механизм регулирования энергопотребления глобально для всего ядра. Эта работа заняла пять лет, но теперь ее результаты заметны на любом устройстве".
Действительно, результаты этой стратегии заметны на любом устройстве, альтернативном PC. И Linux доминирует как на многопроцессорных суперкомпьютерах, так и на смартфонах.
А что касается PC, так это платформа в силу внутренних причин и без всякой агрессии Linux уже потеряла свою пассионарность. Конечно, Windows до сих пор является лучшей запускалкой для некоторых типов программ - самописного производственного ПО, MS Office, некоторых программ для производства мультимедиа.
Но вот для компьютерных игр, благодаря Ньюэлу, Windows - уже не самая лучшая запускалка. С течением времени и остальное ПО, включая автокады, эволюционным путём переползёт на Linux.
AOSP 4.2 и CyanogenMod 10.0
Операционная система Android - это как раз пример успеха стратегии развития ядра Linux, которую Торвальдс, если верить его интервью, выбрал пять лет назад. 13 ноября Google представила AOSP 4.2 (Android Open Source Project). Это исходники новой версии Android 4.2, презентация которой недавно состоялась. Так же можно загрузить и заводские образы прошивок смартфона Google Nexus 4 LG и планшета Google Nexus 10 Samsung.
Как мы не раз поясняли, практически все мобильные устройства полностью не поддерживают AOSP. То есть нельзя, скачав исходники Android, собрать из них образ и тут же запустить на своём устройстве. Большинство смартфонов и планшетов содержат закрытые компоненты - например, закрытую прошивку (firmware) для GPU.
И всё-таки многие пользователи смартфонов на базе Android сталкивались с преимуществами AOSP на примере так называемых кастомных прошивок. Наиболее известной и популярной среди таких прошивок является CyanogenMod.
Не только пользователи, но и многие компании уважают этот проект. Например, Samsung приняла на работу основателя проекта и бесплатно распространяет новые модели своих телефонов среди других разработчиков CyanogenMod.
Популярность CM такова, что один из бывших разработчиков проекта попытался даже зарабатывать на рекламе, присвоив себе доменное имя cyanogenmod.com. Но в течение короткого промежутка времени этот "коммерческий" конфликт был улажен.
На прошлой неделе состоялся выход важной версии CyanogenMod 10, который открывает новый период в развитии проекта. Выпуск CyanogenMod 10 примечателен переходом на использование AOSP 4.1. И одновременно с выходом AOSP 4.2, началась работа над версией CyanogenMod 10.1, которая будет основана на кодовой базе Android 4.2.
В силу того, что разработчикам в поте лица приходится добывать закрытые компоненты для мобильных устройств, CyanogenMod может полноценно устанавливаться на ограниченное количество смартфонов. На данный момент поддерживается тридцать моделей.
Так же существует возможность установки CyanogenMod и на другие устройства, но с потерей некоторой функциональности. Например, может не работать FM радио, могут быть проблемы с камерой, "блютузом".
CyanogenMod - это переосмысление некоторых сторон работы фирменных вариантов Android.
В первую очередь в CyanogenMod уделяется много внимания производительности и тюнингу пользовательских компонентов системы. В настройках CM имеется дополнительный раздел настроек скорости работы системы, пользовательского интерфейса, звуковой подсистемы и методов ввода. Здесь присутствует набор сервисных функций для контроля над использованием аккумулятора, слежением за потреблением ресурсов, оценки энергопотребления отдельных приложений.
В CM увеличена и штатная функциональность системы. В комплект включены BusyBox, rsync, htop, nano, powertop, bash и т.д. В систему входит диспетчер прошивок ROM Manager, утилита Superuser для получения прав суперпользователя, эмулятор терминала. Для управления выполнением привилегированных действий используется специальный менеджер доступа, который позволяет разрешить или запретить получение root-прав для определенного приложения. Присутствует поддержка OpenVPN.
Из особенностей CyanogenMod 10 можно выделить новый музыкальный проигрыватель Apollo с поддержкой кодека FLAC и диспетчером аппаратной обработки звука. Многим может понравиться и обновленное приложение "Часы" с таймером и обратным отсчетом. В качестве интерфейса для запуска приложений задействован Trebuchet Launcher.
Большое внимание в CM уделено безопасности и приватности. В штатном браузере поддерживается приватный режим навигации, при котором не сохраняется история посещения, и данные не оседают в кэше. Интегрирован межсетевой экран Phone Goggles, разрешающий совершение телефонных звонков и отправку SMS только указанным приложениям.
Сервисы Google Maps, Market, Gmail, Talk и YouTube не входят в состав CM, так как требуют отдельного лицензирования. Но эти сервисы можно установить отдельным дополнительным пакетом.
И для полноты картины новостей из мира Android нужно отметить выход новой версии SDK Android для разработчиков приложений. Особенностью версии являются новые драконовские условия лицензии на SDK, формально направленные против фрагментации экосистемы Android. Хотя на самом деле, не сложно догадаться, что новая лицензия направлена конкретно против ушлых китайцев, которые в последнее время активно норовят делать свой собственный китайский "Андроид". И я не уверен, что новая лицензия эти попытки предотвратит.
Михаил АСТАПЧИК
Комментарии
К сожалению, это так. Джаст фор фан...
Но времечко РС было славным!