Встреча прошлого и будущего. Обзор основных достижений в мире OpenSource за прошедший год и попытка заглянуть в будущееНаверняка тебе, как и мне, часто приходилось слышать мнение, что Linux — самая быстроразвивающаяся ОС в мире. А так как в конце года принято подводить итоги, то предлагаю оценить темпы развития Linux (а также других основных OpenSource-проектов) за год и постараться заглянуть в грядущее, гадая на roadmap’ах. Уходящий год оказался богат не только на интересные релизы, но и на круглые даты. В сентябре проекту GNU стукнуло 25 лет, в августе ядро Linux достигло совершеннолетия, и в том же месяце Unix праздновал свой очередной юбилей — 40 лет. Ядра — чистый изумрудОсновная часть любой операционной системы — это ядро. За прошедший год ветка 2.6 ядра Linux пережила 3 релиза (2.6.29, 2.6.30 и 2.6.31). И переживет еще один в декабре (2.6.32), если все пойдет по плану. Суммарно в версиях 2.6.29 — 2.6.31 к ядру добавили около трех миллионов строк кода, изменения затронули практически все подсистемы ядра. Количество нововведений плохо соотносится с размером статьи, поэтому опишу лишь основные и, на мой взгляд, интересные: 1. Технология KMS (kernel mode setting), позволяющая менять видеорежимы средствами ядра. Поддерживаются видеокарты от Intel, ATI/AMD вплоть до hd4xxx/r700 (только с открытыми дровами) и nVidia (только с дровами nouveau). Кроме того, что технология — великое благо для разработчиков ядра и X11, она дает плюсы и простым пользователям: позволяет запускать X11 не от рута, обеспечивает более плавное переключение между пользовательскими аккаунтами и между X11 и виртуальными терминалами. 2. Новые файловые системы: • Btrfs — разработанная с нуля ФС, по своим функциональным возможностям близкая к ZFS: снапшоты, компрессия, динамическая дефрагментация, журналирование и т.д. Последняя на данный момент версия данной ФС — 0.19 — явно указывает на то, что пока использовать ее стоит только в целях тестирования. • Squashfs — ФС, обеспечивающая очень высокое сжатие данных, но предоставляющая доступ в режиме «только для чтения». Основные области применения — всевозможные LiveCD и встраиваемые устройства. И хотя в этих областях ФС уже успешно используется пару лет, в основную ветку ядра она была включена только в версии 2.6.29. • NILFS2 — устойчивая к сбоям журнально-структурированная ФС. Данные хранит в подобной логам структуре, поддерживает версионность: позволяет при смонтированной в режиме «чтение-запись» ФС смонтировать любое из ее предыдущих состояний в режиме «только для чтения». • POHMELFS — несмотря на шуточное название, это довольно серьезная высокопроизводительная сетевая ФС, в перспективе более быстрый и функциональный аналог NFS. • devtmpfs (или Devfs 2.0) — виртуальная файловая система /dev теперь создается в ОЗУ через tmpfs, что позволяет получить к ней доступ еще до монтирования корня. 3. Поддержка новых протоколов: • WiMAX. • 802.11w — протокол безопасной передачи управляющей информации в беспроводных сетях. Стандарт пока не утвержден, существует только в виде черновика. • RDS (Reliable Datagram Sockets) — протокол предназначен для высокоскоростного обмена данными между узлами в кластере. • IEEE 802.15.4 — протокол описывает низкоскоростную (до 250 Кбит/с) беспроводную сеть и предназначен для общения между собой всевозможных датчиков. • USB 3.0 — новая версия старого доброго USB, увеличивающая теоретическую пропускную способность до 4,8 Гбит/с. Версия 2.6.32 ядра станет самой революционной версией за последние пару лет, как минимум — ведь в эту версию войдет код от Microsoft :). Откуда дровишки?Не все дрова для Linux содержатся в ядре, некоторые производители выпускают свои закрытые (проприетарные) версии. Самый распространенный пример — дрова для видеокарт от известных производителей: AMD и nVidia. AMD выпускает новый релиз своих закрытых дров Catalyst каждый месяц. Новые функции добавляются сравнительно редко, в основном багфиксы (а багов в дровах пока еще достаточно) и официальная поддержка новых дистрибутивов. Итак, прогресс дров Catalyst от AMD за этот год: • Полная поддержка OpenGL 3.0. • Частичная поддержка RandR 1.3. • Поддержка Hybrid CrossFire — технологии, позволяющей объединить мощность нескольких неидентичных GPU (например, встроенной и внешней). • Поддержка Multiview — технологии, позволяющей использовать несколько дисплеев на нескольких видеокартах. В 2009 году nVidia выпускала дрова в трех ветках: 180.х, 185.х и 190.х. В основном, в changelog’ах встречались багфиксы и добавление поддержки новых GPU/ядер/X.org. Ключевые изменения в дровах nVidia за год: • Полная поддержка OpenGL 3.2. • Множественные улучшения в технологии VDPAU, позволяющей возложить на GPU нагрузку по декодированию видео. Но главным трендом уходящего года, связанным с GPU, стала, несомненно, технология OpenCL. OpenCL — реализация техники GPGPU, позволяет перекладывать на GPU вычисления, которые обычно производятся CPU. Стандарт OpenCL был разработан в качестве замены аналогичных решений от производителей видеокарт (nVidia CUDA, AMD Stream), поэтому написанная с использованием OpenCL прога будет работать на видеокарте любого производителя, драйвера которой поддерживают OpenCL. Даешь стандартизацию! Ближе к пользователюВесь уходящий год не только кернел-хакеры работали, не покладая рук. Разработчикам более приближенных к пользователю приложений тоже есть, чем гордиться. Взять, например, окружения рабочего стола. За 2009 год девелоперами самых больших «противоборствующих» лагерей было выпущено по 2 мажорных релиза. Основные новшества Gnome 2.26 и Gnome 2.28: • Поддержка аутентификации с помощью сканера отпечатков пальцев. Согласен, changelog выглядит не особо внушительно. Но это не значит, что проект останавливается в развитии — просто вовсю идет работа над релизом новой ветки 3.0. Про грядущую версию (должна выйти во второмтретьем квартале 2010) известно немного. Точно будут использоваться две ключевые технологии: • Gnome Shell — рабочее окружение, предоставляющее новый способ запуска приложений, управления окнами и доступа к документам. Словами это описать сложно, лучше один раз увидеть: http://live.gnome.org/GnomeShell/Screencasts. • Gnome Zeitgeist — технология, которая регистрирует действия пользователя (созданные в процессе работы файлы, посещенные сайты, почтовые и IM сообщения) и сохраняет их в хронологическом порядке. Это позволяет не только быстро просмотреть историю, но и легко найти любой созданный файл. Также известно, что Gnome 3 будет использовать новую версию библиотеки Gtk+ 3. Релиз KDE4 не все поклонники этой графической среды восприняли с энтузиазмом (Линус настолько расстроился, что перешел на Gnome :)). И было, отчего расстроиться: релиз 4.0 сложно назвать стабильным, тянет разве что на альфаверсию. К тому же, сломали совместимость со старыми приложениями. Не упали духом, пожалуй, только разработчики: они продолжили упорно устранять баги и добавлять новые фичи. • Интегрирование PowerDevil — мощного средства управления питанием. В целом, у KDE есть все шансы вернуть доверие Линуса :). Холодная война браузеровНе знаю, как для тебя, но для меня браузер — один из основных рабочих инструментов. Уходящий год в мире браузеров был богат на события и релизы. Новичок — Google Chrome — обзавелся тремя релизами и отхватил около 4% рынка браузеров (если верить статистике statcounter.com). Очень популярная у наших соотечественников Opera в прошедшем году получила релиз за номером 10. Основные изменения: • Новая версия движка Presto, значительно ускоряющего отрисовку страниц. К тому же, теперь Opera полностью проходит ACID3 (тест поддержки браузером Web-стандартов). Самый популярный открытый браузер — Firefox дорос до нового релиза 3.5. И должен дорасти до 3.6 к концу года. Основные нововведения в версиях 3.5 и 3.6: • Поддержка некоторых тегов формата HTML5, самые интересные из которых: audio и video. Теперь встроить звуки или клип в страничку очень просто. Есть встроенная поддержка кодеков Ogg Vorbis и Ogg Theora. Видео может проигрываться в полноэкранном режиме. OpenofficeВторое место в рейтинге OpenSource-проектов для пользователя по праву принадлежит офисному пакету OpenOffice. В 2009 году увидели свет версии 3.0.1, 3.1 и 3.1.1. В середине декабря ждем еще 3.2. Основные изменения версий 3.0.1-3.2: • Существенное увеличение производительности. У проекта есть достаточно подробный roadmap, из которого можно узнать, что версия 3.3 выйдет в конце мая 2010, 3.4 — в ноябре 2010. Планируемые изменения: • Удаление поддержки старых форматов StarOffice (*.sdw, *.sdc, *.sdd) (в версии 3.4). В конце уходящего года разработчики представили новый проект OOo4kids — упрощенную версию OpenOffice для детей. Из «взрослого» OpenOffice был убран некоторый функционал, в связи с чем возросла производительность. К тому же, немного изменен интерфейс: меньше кнопок на верхней панели, и добавлена боковая панель. Пакет пока еще не имеет русского интерфейса. ВиртуализацияВот уже несколько лет технология виртуализации развивается стремительными темпами, область ее применения все ширится и ширится. Главным направлением развития виртуализации в уходящем году была 3D-акселерация в гостевой системе.Сначала давай взглянем на список изменений в VMware Workstation 7: • Поддержка 3D (OpenGL 2.1 и Shader Model 3.0) в гостевых ОС Microsoft. Основной конкурент WMware Workstation на десктопе — Sun VirtualBox. Несмотря на непонятную судьбу компании-разработчика (поглотит ее Oracle Corporation или нет), данный продукт виртуализации активно развивался (в 2009 году зарелизились версии 2.20, 3.0.0-3.0.10). Основные новшества: • Импорт и экспорт виртуальных машин в формат OVF (Open Virtualization Format). Другая динамично развивающаяся система виртуализации, способная эмулировать различные платформы (Qemu) в уходящем году была представлена двумя релизами — 0.10 и 0.11. Список основных изменений: • Поддержка KVM. Широко использующаяся на серверах система виртуализации Xen перенесла одно крупное обновление — была выпущена версия 3.4.0 со следующими изменениями: • Усовершенствован проброс устройств, особый акцент сделан на устройства для рабочих станций. Утилиты для пентестингаНаши любимые инструменты для пентестинга тоже порадовали интересными мажорными релизами. Например, зарелизился Nmap 5 со следующими изменениями: • В комплект программ, поставляемых с nmap, добавлена утилита ncat — улучшенная версия nc, умеющая работать не только с TCP, но и с UDP, и обладающая еще целым рядом интересных возможностей. Теперь она содержит 2003 записи. Также была увеличена база сигнатур приложений — с 4558 до 5512 записей. • Значительно улучшена работа NSE (Nmap Scripting Engine), расширения, позволяющего использовать простые скрипты для автоматизации различных действий с Nmap. Число скриптов в комплекте увеличено (теперь их 59), добавлены скрипты для симулирования атак, осуществления различных проверок на наличие уязвимостей, подбора паролей через SNMP и POP3 и т.д. Знаменитый снифер Wireshark в этом году сначала обновился до версии 1.2.0, а затем и до версии 1.2.3: • Расширен список поддерживаемых ОС; теперь там присутствуют Mac OS X и Windows 7 (в том числе, 64-разрядная). Известный снифер сетей 802.11 Kismet порадовал нас новым релизом 2009-06-R1: • Полностью переписанное ядро Kismet-Newcore. Местные реалииОдним из главных вопросов при миграции обычного офиса с винды на линукс была корректность работы небезызвестной бухгалтерской программы от «1С». Сервер уже давно и успешно работает под линуксом, а вот с клиентом сложнее. Да, после плясок с бубном можно было заставить его работать в обычном wine, но стабильность работы никто не гарантировал. Можно было купить wine@ etersoft, гарантированно поддерживающий клиент, но ключевое слово «купить» и стоимость сетевых версий не каждому руководству по нраву, особенно в кризисные времена. Но вдруг свершилось чудо! «1С» выпустила новую версию платформы «1С: Предприятие 8.2», с поддержкой линукса клиентом. Правда, пока только веб-клиентом (и только через Firefox), но это уже не может не радовать. Еще один класс приложений, работа которых в линуксе просто необходима при миграции некоторых предприятий — всевозможные CAD-системы. В wine корректно работают далеко не все приложения этого класса, а уж нормальные нэйтивные можно пересчитать по пальцам одной руки. Но в конце уходящего года показался свет в конце тоннеля — компания etersoft выпустила специальную версию своего wine, заточенную под работу CAD-систем — wine@etersoft CAD. На момент написания статьи программа находилась в стадии beta-тестирования и поддерживала только Компас 3D 10. В планах поддержка AutoCAD 2008, Компас 3D 9, Компас График, BricksCAD и Plantracer. Прекрасное далеко, или что год грядущий нам готовитКроме описанного выше, в грядущем году можно ждать GIMP 2.8 и Thunderbird 3. Назвать дату выхода «убийцы фотошопа» сложно даже приблизительно, так как разработчики, видимо, не очень любят составлять roadmap’ы и давать обещания :). Из нововведений стоит отметить: • Дальнейшая интеграция GEGL (GEneric Graphics Library, библиотека для обработки изображений). Популярный почтовый клиент в начале следующего года дорастет до версии 3. Изменения: • Движок от Firefox 3.5 (Gecko 1.9.1), благодаря чему поддерживаются все функции огнелиса 3.5 (теги audio, video и прочее). ЗаключениеИсходя из описанных нововведений, рискну предположить, что год 2010 станет годом линукса на десктопе. Хотя… где-то я это уже слышал :). LinksRoadmap’ы известных проектов: • http://live.gnome.org/Schedule |