Разработка
Есть такая древняя истина, что когда начинают стрелять пушки, музы замолкают. Будем надеяться, что военный конфликт в Северной Африке не сильно скажется на творческой активности линуксоидов, и свободных программ в дальнейшем меньше не станет.
Тем более, что вышла новая версия свободного набора компиляторов GCC 4.6, при помощи которого и создаётся большая часть этих самых свободных программ. Перечислим самые интересные новшества этой версии, которая была в разработке почти год.
В новый набор GCC 4.6 добавлена поддержка языка программирования Go. Язык Go создан корпорацией Google как попытка совместить производительность компилируемых языков со скоростью разработки интерпретируемых языков. Или, образно говоря, Go - это попытка запрячь в одну телегу коня и трепетную лань, где лань - это язык "Си", а конь - Python. И теперь эффективность этого "тандема" при помощи новой версии GCC могут проверить все желающие.
Также на развитие GCC 4.6 повлияла и популярность мобильной системы Google Android. Теперь в набор компиляторов добавлена поддержка стандартной библиотеки Bionic, и, соответственно, появилась возможность компиляции библиотек и приложений для платформы Android.
Можно отметить, что добавлена поддержка новых мощных процессоров Intel Core i3/i5/i7 с поддержкой векторных инструкций AVX. Не забыта и поддержка новых маломощных процессоров AMD с ядром Bobcat, предназначенных для использования во встраиваемых системах.
Дистрибутивы
Разработчики Ubuntu продолжают анонсировать интересные для простого пользователя технологии в предстоящем выпуске Natty Narwhal. В этой весенней версии дистрибутива центр установки приложений будет иметь новую функцию - тест-драйв приложений в виртуальном "облачном" режиме.
Другими словами, тест-драйв - это возможность попробовать приложения без их установки в систему на жёсткий диск. В центре установки приложений при выборе программы появится кнопка "Test drive", нажав на которую, можно запустить для теста программу в специальном виртуальном окне. Сама программа функционирует на "облачных" серверах Canonical в режиме SaaS, а пользователю будет выводиться только интерфейс программы.
Но для этого тест-драйва понадобится быстрое интернет-соединение. Также не все устанавливаемые программы в репозитории Ubuntu 11.04 будут поддерживать этот "облачный" режим работы.
В базовую версию Ubuntu 11.04 тест-драйв, скорее всего, включён не будет, и его придётся доустанавливать отдельно, так как для работы этой функции требуется библиотека Qt. Саму библиотеку намечено внедрить в базовый состав дистрибутива только в осенней версии под названием "сомнамбулический Оцелот".
"Облака"
Сами по себе штучки вроде "тест-драйв" относятся к "облачным" технологиям, которые, в свою очередь, основаны на технологиях паравиртуализации. Одной из таких технологий паравиртуализации является технология Xen. На прошлой неделе после года разработки появилась версия 4.1 этого проекта.
По правде говоря, Xen чуть было уже не похоронили из-за "политических" разногласий внутри сообщества разработчиков ядра Linux и систем паравиртуализации. Однако в последнее время проект приобрёл второе дыхание и неплохо развивается. Практически готова интеграция Xen в ванильное ядро Linux. Большинство основных дистрибутивов Linux тоже имеют собственную поддержку Xen.
Кстати, не следует думать, что Xen - это только для серверов. Идёт работа над кодом Xen для свободного эмулятора различных процессорных платформ Qemu, как это уже сделано для технологии аппаратной виртуализации KVM. Но этот код пока существует отдельно и ещё не включён в проект Qemu.
Архиваторы
Google опять порадовала небольшой, но очень полезной для народного хозяйства разработкой. Компания открыла под лицензией Apache библиотеку Snappy. Библиотека предназначена для сжатия и распаковки данных и является аналогом zlib, LZO и других компрессоров.
Компрессор Snappy поначалу использовался для внутренних нужд компании Google. Его особенностью является не столько максимальная степень компрессии по отношению к конкурентам, сколько высокая скорость работы.
Например, согласно тестам, по сравнению с самым быстрым режимом zlib, Snappy примерно в десять раз быстрее для большинства входящих данных. Но в отношении степени сжатия архивы у Snappy получаются на 20-100% больше по размеру.
Текущая версия библиотеки 1.01. То есть код уже стабильный, а это значит, что Snappy можно спокойно начинать использовать в народном хозяйстве.
Hardware
Как известно, Google также осчастливила человечество ещё и открытым видеокодеком WebM/VP8, который по многим своим параметрам является аналогом коммерческого видеоформата H.264. WebM предназначен для активного использования в Веб и давно применяется на сервисе YouTube.
Но новому видеоформату не доставало одной важной вещи - аппаратной поддержки в различных устройствах, особенно мобильных. Наконец, этот недостаток в скором времени будет устранён. Финская группа разработчиков подготовила RTL-дизайн (Register Transfer Level) аппаратного кодировщика и декодировщика для этого видеоформата.
Все подготовленные схемы доступны в форматах VHDL/Verilog и распространяются на условиях, не требующих от производителей оплаты отчислений. Производители микросхем для мобильных устройств, приставок, нетбуков, веб-камер уже могут интегрировать эти наработки в свои чипы. Устройства с аппаратной поддержкой WebM/VP8 должны появиться к осени этого года.
Мультимедиа
В последнее время мир open source накрыла волна форков - почти как волна "жасминовых революций" на Ближнем Востоке. Не успели остыть страсти после разделения в проекте мультимедийных библиотек FFmpeg, как о разделении объявили в другом старейшем открытом проекте Mplayer.
Mplayer - это мощный консольный видеопроигрыватель, который разрабатывается с 2000 года. Видимо, за это время накопилось очень много задач, которые отдельные разработчики посчитали невозможным решить в рамках текущего состояния дел. Поэтому недавно было объявлено о создании проекта Mplayer 2, в котором предполагается сделать много революционных изменений по отношению к классическому варианту.
Самым революционным можно назвать удаление видеоконвертора Mencoder, который, по мнению революционеров, больше не соответствует чаяниям народа. Mencoder обвиняется в том, что имеет непродуманную архитектуру и в нём много ошибок. Поэтому функции перекодирования будут внедрены непосредственно в Mplayer 2.
Ещё из глобальных реформ Mplayer 2 нужно отметить прекращение разработки графического интерфейса gmplayer. Вместо него будет разработан протокол для создания внешних графических интерфейсов.
Само собой разумеется, в новом Mplayer 2 будет уделено много внимания поддержке многопоточности, что актуально в наступившую эпоху многоядерных процессоров.
Кстати, большой шаг в сторону многопоточности уже сделали после разделения в проекте FFmpeg. В основную ветку разработки был добавлен код из проекта Ffmpeg-mt, в котором основное внимание уделялось именно поддержке многопоточного декодирования. Объединённый FFmpeg пользователи смогут применять, начиная с версии 0.7, которая ожидается в ближайшее время.
Михаил АСТАПЧИК
Горячие темы