Линус Торвальдс благословил выпуск новой версии ядра Linux. Ожидается, что она будет пользоваться бешеным успехом. Один только перечень внесенных изменений “весит” 7,5 Мб. Ее выход означает начало нового этапа войны между процессорами архитектуры ARM и x86 за будущие персональные компьютеры. При этом внесена масса усовершенствований, касающихся работающих в реальном времени устройств, настольных ПК и серверов.
Объявляя в своей рассылке о выходе новой версии ядра, Торвальдс адресовал заинтересованных пользователей к ресурсу Kernel Newbies, где можно ознакомиться с основными нововведениями. Там перечислены следующие принципиальные изменения: ·
- поддержка процессоров архитектуры MN10300/AM33 корпорации MEI/Panasonic; ·
- поддержка мультимедийных однокристальных систем Orion компании Marvell; ·
- новый инструментарий для более точного измерения используемой процессами памяти; ·
- “контроллер ресурсов памяти” для управления распределением ресурсов между группами процессов; ·
- групповая диспетчеризация процессов в реальном времени; ·
- инструмент LatencyTOP для выявления основных задержек в работе системы; ·
- регулировка температуры через интерфейс ACPI; ·
- фиксация событий таймера через дескрипторы файлов; ·
- Simplified Mandatory Access Control (SMACK) — упрощенный вариант мандатного контроля доступа (MAC); ·
- обновление файловой системы ext4; ·
- рандомизация адресного пространства BRK (системные вызовы для расширения виртуального адресного пространства) и PIE (позиционно-независимые исполняемые файлы); ·
- поддержка операций упреждающего чтения, копирования и обновления (read-copy-update, RCU); ·
- поддержка спин-блокировки типа FIFO в архитектуре x86; ·
- поддержка спецификации Extensible Firmware Interface (EFI) в архитектуре x86-64; ·
- новый сетевой протокол, именуемый CAN (Controller Area Network); ·
- базовая поддержка технологии прямого доступа к графическим адаптерам (Direct Rendering Infrastructure, DRI) и ее ядра (Direct Rendering Manager, DRM) для видеокарт серии R500 (Radeon X1000) производства ATI; ·
- улучшенная поддержка устройств; ·
- и множество других мелких усовершенствований.
Рискованно делать выводы на основе краткого описания. Но все же отметим следующее. Улучшения, касающиеся работы в реальном времени, весьма значительны. Однако пока они не затронули основное направление развития Linux. В стороне от него остались и некоторые другие изменения, которые должны быть интегрированы в первую очередь, -- например, пересмотренные программные прерывания (IRQ) и процедуры их обслуживания (ISR). Правда, те, кому Linux реального времени нужна уже сейчас, по-прежнему могут получить ее у компании MontaVista или воспользоваться вариантами Red Hat и SuSE. Производители двух последних недавно отказались от технологии “экранирования процессора” (processor shielding), которую прежде лицензировали у фирмы Concurrent.
Некоторые нововведения вроде инструмента для диагностики задержек LatencyTOP и групповой диспетчеризации процессов дадут определенные преимущества при использовании Linux на настольных ПК. Они помогут инженерам добиться того, чтобы группы процессов, необходимых, скажем, для передачи мультимедийных потоков, получили такой доступ к процессору, который требуется для нормальной производительности. Не забыты серверы и сетевая инфраструктура. Для них реализованы регулирование температуры через интерфейс ACPI и упрощенный вариант мандатного контроля доступа.
Появилось много интересного для встраиваемых систем. В основную линию развития Linux включена шина CAN, которая в большинстве современных автомашин связывает датчики с системой управления двигателем. Облегченный сетевой протокол реального времени CAN весьма популярен и в промышленных компьютерах. Его поддержка будет способствовать использованию Linux в автомобилестроении и других отраслях, поскольку в будущем она значительно облегчит переход с одной версии ядра на другую и обеспечит бóльшую независимость от особенностей конкретных дистрибутивов.
Однако подлинным событием может стать поддержка архитектуры Orion компании Marvell. В настоящее время микросхемы Orion являются наиболее мощными из созданных на базе процессоров ARM. Благодаря широкому применению в сетевых устройствах хранения NAS для конечных пользователей они весьма распространены и продаются по умеренным ценам. Микросхемы Orion могут поддерживать до 2 Гб ОЗУ. Поэтому они хорошо подходят для gcc — собственного компилятора процессора ARM, который является настоящим пожирателем памяти. Отсутствие специального оборудования для разработчиков стало, наверное, важнейшим фактором, из-за которого архитектура ARM считалась “второсортной” по сравнению с x86.
Почва подготовлена
Появление организации Kernel.org for Orion и дешевого оборудования для разработчиков радикально облегчит перенос ПО с x86 на ARM. Как раз сейчас архитектура x86 начинает вторгаться в область встраиваемых систем. Процессоры Intel Atom и VIA Isaiah дружно перешли в наступление под лозунгом более полной поддержки ПО в отличие от менее энергоёмких микросхем на базе встраиваемых архитектур вроде ARM.
Первоначально Linux устанавливалась на серверах. В 1999 г. Линус Торвальдьс заявил о желании завоевать настольные ПК. Но более широкие возможности, по его словам, открывались в области встраиваемых систем. Чтобы ими воспользоваться, потребовалось несколько лет. Но сегодня Linux стала основной встраиваемой ОС для новых проектов. Это отмечают многие компании, занимающиеся изучением рынка. Так что очередь за настольными ПК, не так ли?
Не совсем. Пока Linux продвигалась к ПК, произошло кое-что забавное. Настольные компьютеры превратились во встраиваемые. Сегодня массовые компьютеры вроде Asus EEE уже имеют твердотельные диски, уменьшенный форм-фактор и другие признаки “встраиваемых” устройств. Существуют даже некоторые аппараты наподобие ноутбуков с процессорами архитектуры ARM. Завтра предпочтительным персональным компьютером вполне может стать умещающееся в кармане устройство, напоминающее iPhone и подключаемое к любой клавиатуре, мышке и дисплею, что имеется под рукой.
Ознакомиться со статьей “Нововведения в ядре”, где подробно описаны наиболее заметные усовершенствования, можно здесь: kernelnewbies.org/Linux_2_6_25 или здесь: 72.14.253.104/search?q=cache:whsYlAmyd48J:kernelnewbies.org/Linux_2_6_25+http://kernelnewbies.org/Linux_2_6_25 (кэш Google). Доступ временами затруднен из-за большого количества интересующихся.