23 Ноября 2024, 00:36

Linux-ядро

Автор Vicpo, 17 Апреля 2008, 21:53

« предыдущая тема - следующая тема »

0 Пользователей и 1 Гость просматривают эту тему.

Zhek@Ch

06 Августа 2011, 00:21 #180 Последнее редактирование: 06 Августа 2011, 00:22 от Zhek@Ch
[size="3"]Обновление Linux-ядра: 3.0.1, 2.6.39.4 и 2.6.35.14[/size]
 
Представлены очередные корректирующие релизы Linux-ядра: 3.0.1 (102 исправления), 2.6.39.4 (75 исправлений) и 2.6.35.14 (243 исправления, прошлый выпуск был 28 апреля). Как обычно, в анонсе выхода новых версий подчеркивается обязательность проведения обновления. Из подсистем в которые внесены исправления можно отметить: ALSA, GFS2, AppArmor, USB, NFS, CIFS, eCryptfs, Ext3, Ext4, drm/radeon, libsas, ath9k.

Из исправленных в ядре 3.0.1 уязвимостей можно отметить:

  • Возможность совершения DoS-атаки (крах ядра) через отправку из локального сегмента сети специально сгенерированного трафика. Для успешной эксплуатации в ядре должна быть включена поддержка GRO (Generic Receive Offload);
  • Ошибка в реализации функции "ptrace_setxregs()" позволяет локальному пользователю получить доступ к содержимому произвольной области памяти ядра. Проблема проявляется только на архитектуре Xtensa;
  • Возможность осуществления локальной DoS-атаки из-за ошибки в реализации файловой системы GFS2.
Некоторые другие изменения:

  • USB: OHCI: исправлена регрессия для контроллеров NVIDIA
  • USB: EHCI: вернулись к использованию системных часов для QH
  • dm: исправлена утечка при выгрузке модуля idr
  • drm/radeon/kms: исправлена карта i2c для rv250/280
  • drm/radeon/kms: добавлены недостающие vddci установки для NI+
  • powerpc/pseries/hvconsole: исправили падение консоли
  • IB / SRP: исправлено дублирование устройств для сканирования LUN
  • Ethtool: Разрешено регистрировать дампы нулевой длины
  • ALSA: virtuoso: исправлено молчание аналогового выхода на Xonar Essence ST Deluxe
  • memcg: исправлено поведение mem_cgroup_resize_limit ()
  • pmcraid: отклонен негативный размер запроса
  • perf tools, x86: исправлена 32-разрядная компиляция на 64-битной системе
  • rt2x00: добавлен идентификатор устройства для RT539F.
  • hvc_console: Улучшена обработки put_chars для tty/консоли
  • Kexec, x86: исправлено сохранение неверного адреса возврата;
  • ARM: pxa/cm-x300: исправлена функциональность V3020 RTC
  • nfsd4: исправлены утечки файловых дескрипторов в open_downgrade

Zhek@Ch

09 Августа 2011, 18:00 #181 Последнее редактирование: 09 Августа 2011, 18:05 от Zhek@Ch
[size="3"]RapidDisk 1.0 - новая реализация RAM-диска для Linux [/size]

В рамках проекта RapidDisk (rxdsk) подготовлен модуль ядра Linux с реализацией нового виртуального диска, хранящего данные в ОЗУ. Ключевыми особенностями RapidDisk является возможность лёгкого создания и удаления виртуальных дисков, быстрое изменение размера RAM-диска на лету в любой момент без потери данных, поддержка прозрачного сжатия данных (используется метод LZO) и обеспечение коррекции ошибок (для контроля целостности используется SHA-256). После создания RAM-диска независимо от заданного размера используется минимальное количество физической памяти, память расходуется по мере заполнения RAM-диска. В будущем планируется обеспечить возможность динамического изменения размера RAM-диска.

Проект изначально был разработан для использования в высоконагруженных системах, например, для таких применений как хранение кэша. Созданный при помощи RapidDisk виртуальный диск работает очень быстро, на заполнение 1 Гб тратится примерно 3 секунды. Монтируется RAM-диск как обычное блочное устройство, которое можно экспортировать в SAN или использовать в качестве замены CacheFS и CompCache (хранение раздела подкачки).


Zhek@Ch

10 Августа 2011, 01:44 #182 Последнее редактирование: 10 Августа 2011, 01:44 от Zhek@Ch
[size="3"]Доступен первый кандидат в релизы ядра Linux 3.1 [/size]

Линус Торвальдс объявил выпуске тестовой версии ядра Linux 3.1-rc1. Окно по приему изменений для будущего релиза ядра будет открыто еще около двух недель. 75% представленных в новом тестовым выпуске изменений касаются драйверов устройств, а 12% - поддержки аппаратных архитектур (большинство изменений связано с x86, ASoC и ARM). 40% всех изменений в драйверах относятся к тестовому дереву "staging", 20% - к драйверам сетевых устройств, 10% - к звуковой подсистеме ALSA. Достаточно большое число коммитов зафиксировано в подсистемах KVM, iwlagn и SCSI.

Из изменений можно отметить (список не полный, приветствуется дополнение):

  • Добавлена поддержка открытого микропроцессора OpenRISC;
  • Добавлен значительно переработанный код поддержки iSCSI target, включая добавление нового модуля iSCSI fabric;
  • В код с реализацией программного RAID добавлена поддержка контроля дефектных блоков на диске, что позволило в некоторых уровнях RAID использовать диски с bad-блоками;
  • В KVM обеспечена возможность запуска вложенных виртуальных окружений, т.е. выполнения гостевой системы из другой гостевой системы;
  • В коде XEN Dom0 обеспечена возможность вывода текста через VGA-консоль и поддержка проброса PCI-устройств в гостевые окружения;
  • Обеспечено повышение производительности сетевой подсистемы в виртуализиорованных окружениях, за счет поддержки Zero-copy в драйверах macvtap и vhost-net;
  • Добавлен новый WiFi-драйвер rtl8192de для карт на базе чипов Realtek RTL8192DE и RTL8188DE;
  • В DRM-модуль драйвера Nouveau добавлена поддержка автоматической генерации микрокода для чипов Fermi (GeForce 400 и 500). Дополнительно обновлены DRM-модули для карт Intel и ATI/AMD;
  • В код управления виртуальной памятью добавлена реализация режима обратной записи (write-back);
  • Добавлен HID-драйвер для Nintendo Wiimote;
  • Целый ряд исправлений и оптимизаций btrfs.
Кроме того, можно отметить выход пакета compat-wireless 3.0, в котором представлена подборка драйверов для Wifi, Bluetooth и Ethernet адаптеров. Драйверы бэкпортированы из релиза 3.0 для старых ядер (начиная с 2.6.26). Пакет ориентирован на пользователей, которым необходима поддержка новых беспроводных карт и сетевых устройств, но которые не желают при этом использовать последние версии основной ветки Linux-ядра.


Zhek@Ch

13 Августа 2011, 10:35 #183 Последнее редактирование: 13 Августа 2011, 10:35 от Zhek@Ch
[size="3"]Джеймс Боттомли, известный разработчик ядра Linux, теперь работает в Parallels [/size]

Компания Parallels, развивающая открытую систему изолированных контейнеров OpenVZ и ряд других решений для хостинга и виртуализации, объявила о назначении на должность технического директора (СТО) по серверной виртуализации Джеймса Боттомли (James Bottomley), одного из доверенных лиц Линуса Торвальдса. Наиболее известный вклад Джеймса в разработку ядра Linux связан с поддержкой подсистем SCSI и MCA, созданием порта для архитектуры Voyager и разработкой драйвера 53c700. Кроме того, Джеймс входит в состав управляющего совета некоммерческой организации Linux Foundation.



Как пояснили в Parallels, компании очень важен опыт Боттомли, полученный им при создании и реализации технической стратегии собственной компании Steel Eye Technology. Он смог разработать технологию сетевого хранения NBD (network block device) и включить ее в состав основного ядра Linux. «Если Джеймс сможет сделать то же самое для Parallels, включив исходные коды продуктов контейнерной виртуализации (OpenVZ, Parallels Virtuozzo Containers) в состав основного ядра Linux, можно считать, что жизнь прожита не зря», -- прокомментировал назначение Станислав Протасов, старший вице-президент Parallels.


Zhek@Ch

13 Августа 2011, 10:49 #184 Последнее редактирование: 13 Августа 2011, 10:49 от Zhek@Ch
[size="3"]Вышел патч pf-kernel для ядра Linux 3.0[/size]
 
После длительной задержки, связанной с ожиданием патчсета -ck, вышел патч pf-kernel для ядра Linux версии 3.0.

В патч включено:

  • стабильное обновление ядра до версии 3.0.1;
  • самый свежий TuxOnIce из дерева git;
  • патчсет от Кона Коливаса (Con Kolivas) -ck, включающий планировщик процессов BFS v406;
  • планировщик ввода/вывода BFQ, портированный с ядра 2.6.39 усилиями команды zen-kernel;
  • конфигурационный файл для сборки ядра для ноутбука Dell Inspiron 1525.
Автор приветствует сторонние бинарные сборки и готов их публиковать у себя на сайте при условии регулярного обновления.

>>> Официальный сайт

 >>> Скачать патч


Zhek@Ch

19 Августа 2011, 07:59 #185 Последнее редактирование: 19 Августа 2011, 08:00 от Zhek@Ch
[size="3"]Новый план разработки выпусков ядра Linux c продлённым сроком поддержки [/size]

Грег Кроа-Хартман (Greg Kroah-Hartman), мантейнер нескольких подсистем ядра Linux, представил на рассмотрение разработчиков предложение по изменению процесса поддержки серии "longterm", отличающейся длительным сроком выпуска обновлений. В соответствии с предложенным планом, новые longterm-ветки будут создаваться через фиксированный промежуток времени - раз в год. Срок поддержки таких веток также будет фиксирован и составит два года. Обновления для обычных стабильных веток ядра, как и прежде, будут выпускаться до момента выпуска следующей версии. Например, обновления для ядра 3.0 будут выпускаться до тех пор, пока не выйдет релиз 3.1, но если ветка 3.0 будет признана longterm, срок выпуска обновлений составит два года. Таким образом, будут поддерживаться только две longterm-ветки и одна последняя стабильная ветка ядра.

В настоящее время наблюдается неразбериха в выборе версий для длительной поддержки. Инициаторами поддержки longterm-веток, как правило, являются дистрибутивы. Например, текущее longterm-ядро 2.6.32 используется в Debian 6, RHEL 6, Ubuntu 10.04 LTS и SUSE Linux Enterprise 11. Среди longterm-ядер также числятся 2.6.27, 2.6.33 и 2.6.34, 2.6.35, поддержкой которых занимаются отдельные мэйнтнейнеры, представляющие интересы различных дистрибутивов и компаний. Например, ветку 2.6.34 курирует компания Wind River, в ветке 2.6.35 заинтересован проект Meego и организация CE Linux Forum. Интенсивность выпуска обновлений для разных версий longterm-ядер существенно отличается, например, ветка 2.6.27 не обновлялась с апреля, а 2.6.34 с июня, ветки 2.6.33 и 2.6.35 обновились в августе (их предыдущее обновление было выпущено в апреле).

Релиз последней longterm-версии 2.6.35 вышел 2 августа 2010 года, и с тех пор желающих взять в свои руки длительную поддержку более новых версий не находится. Всплеск выпуска LTS-релизов пришелся на прошлый год, в этом и следующем году дистрибутивы довольствуются поддержкой уже существующих longterm-веток. Тем временем пользователями ядра являются не только дистрибутивы: различные компании, группы и проекты все чаще обращаются к разработчикам ядра с просьбой присвоения одному из последних релизов статуса longterm-версии. Выпуск 2.6.35 уже устарел, а обычные версии для своих продуктов выбирать рискованно, есть шанс что поддержка выбранного наугад выпуска будет прекращена сразу после выхода следующей версии. В связи с этим, Грег Кроа-Хартман предлагает перейти на схему планового и предсказуемого создания longterm-веток. Разработчики будут изначально знать, что определенная ветка будет поддерживаться дольше остальных и смогут заранее приступить к её использованию.

Двухлетний срок поддержки для longterm-веток был выбран, исходя из предположения, что типичное время жизни потребительского устройства на рынке составляет 1-2 года. Производителям Linux-прошивок для потребительских устройств важно получать обновления с исправлением проблем на всем протяжении жизненного цикла их продукции. Крупные компании, такие как montaVista и WindRiver, способны обеспечить самостоятельно поддержку ядра для своих промышленных дистрибутивов для встраиваемых устройств. Более мелкие производители могут уповать лишь на стандартный процесс выпуска обновлений, и в этом плане разработчики ядра готовы им помочь и взять на себя подготовку обновлений для ядра Linux. Оказать посильную помощь в работе над longterm-ядрами также готовы сообщества CE Linux Forum и Linaro, которые заинтересованы в совместной работе с другими участниками сообщества. В последнее время в проекте Android используются свежие версии ядра Linux. В отличие от высокоуровневой части платформы Android, код вносимых в ядро исправлений и изменений публикуется регулярно, как того требует лицензия GPL. Поэтому проект Android также может оказаться полезным при работе над longterm-ветками.

История выпусков с длительным сроком поддержки началась с ядра 2.6.16, поддержкой которого Грег Кроа-Хартман занимался в силу своих должностных обязанностей при работе в Novell. Так как кроме работы над SUSE, Грег достаточно активно участвовал в разработке основного ядра, ему было проще обеспечить выпуск обновлений не за закрытыми дверями, а в рамках основного цикла разработки ядра. Для Novell публичное развитие ветки с расширенной поддержкой было выгодно тем, что ветка активно использовалась сторонними проектами и поэтому подвергалась значительно более широкому тестированию, чем можно было достигнуть в рамках небольшой группы разработчиков SUSE. Впоследствии, разработчики других дистрибутивов осознали, что им приходится дублировать работу друг друга, поддерживая собственные наборы патчей для пакетов с ядром. Для упрощения работы на одной из конференций было достигнуто неофициальное соглашение о сотрудничестве - почти все значительные дистрибутивы решили использовать для своих продуктов с длительным временем поддержки ядро 2.6.32, что позволило существенно сэкономить время и трудозатраты.


hedgeven

[size="3"]Предложение по изменению логотипа Linux 3.1

[/size]Сотрудник IBM Дэрик Вонг (Darrick Wong) направил в список рассылки Linux-ядра письмо с шутливым предложением о замене логотипа Linux-ядра версии 3.1 на видоизмененный логотип операционной системы Windows 3.1, увидевшей свет 19 лет назад. Идея находится на этапе обсуждения и пока Линус Торвальдс не высказал своего мнения по поводу нововведения. Однако ранее он уже пошутил, что хотел бы назвать одну из будущих версий операционной системы "Linux 3.11 for Workstations".


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




Jah will give us everything...

B@F

12 Сентября 2011, 21:33 #187 Последнее редактирование: 12 Сентября 2011, 21:33 от B@F
Хуже чуши я еще не видел, такое в страшном сне не могло мне присниться, а тут....
Поправьте, если я ошибаюсь, буду тока рад.

B@F

17 сентября 1991 года финский студент Линус Торвальдс опубликовал первый публичный выпуск ядра Linux. Ядро 0.0.1 занимает всего 62 Кб в сжатом виде и содержит около 10 тыс. строк кода (для сравнения gzip-архив ядра 3.0 включает 14.6 млн. строк кода). Подробнее с прогрессом развития ядра Linux можно ознакомиться в анонсе, приуроченном к двадцатилетию Linux.

Примечательно, что вновь недоступен сайт kernel.org и неработоспособны связанные с ним сервисы. При этом, наблюдается исчезновение хостов из DNS, например, больше не определяются хосты ftp.kernel.org и git.kernel.org: DNS-сервер NS.VGER.KERNEL.ORG выдаёт данные о несуществующем имени (NXDOMAIN), а остальные DNS-серверы не отвечают. Кроме уже неделю отображаемого сообщения о том, что сайт находится на обслуживании, никакой дополнительной информации не приводится.

Поправьте, если я ошибаюсь, буду тока рад.

B@F

[size="5"][color="#ff8c00"]Обновление ядра Linux 3.0.6. Возвращение в строй kernel.org[/color][/size]
После месячного затишья увидел свет корректирующий релиз ядра Linux 3.0.5, в котором устранено более 200 ошибок. Как обычно, в анонсе выхода новой версии подчёркивается обязательность проведения обновления. Почти сразу представлено обновление 3.0.6, в котором устранено внесённое в версии 3.0.5 регрессивное изменение, мешающее сборке DRM-модуля для карт Radeon.

Из проблем связанных с безопасностью, в списке изменений замечены: возможность разыменования указателя NULL в USB-драйвере s5p-ehci; проблема с вычислением размера буфера в VirtIO; возможность инициировать повреждение памяти при монтировании файловой системой CIFS с сервера, подконтрольного злоумышленнику.

Дополнительно можно отметить возвращение к жизни ресурсов www.kernel.org и git.kernel.org. Для загрузки пока доступны только ветки mainline, stable и linux-next, в том состоянии, в котором они находились до момента взлома. Остальные Git-ветки будут добавляться по мере возвращения разработчикам доступа в индивидуальном порядке. Сопутствующие сайты (например, wiki) и зеркала пока остаются в отключённом состоянии. В будущем планируется опубликовать детальный отчёт с разбором инцидента.

Поправьте, если я ошибаюсь, буду тока рад.

Zhek@Ch

18 Октября 2011, 21:36 #190 Последнее редактирование: 18 Октября 2011, 21:37 от Zhek@Ch
[size="3"]Стагнация в продвижении Reiser4 в состав ядра Linux [/size]

Эдуард Шишкин, последний активный разработчик Reiser4, рассказал изданию Phoronix, что последнее время не может уделять много времени разработке Reiser4, поэтому вся связанная с проектом активность сосредоточена вокруг устранения ошибок, на которые жалуются пользователи. Продвижение кода Reiser4 в состав основного ядра Linux не является высокоприоритетной задачей и связанная с этим работа пока приостановлена.

Напомним, что два года назад предполагалось, что код Reiser4 может войти в состав ядра Linux во второй половине 2010 года. В настоящее время патч c реализацией файловой системы Reiser4 доступен только для Linux-ядра 2.6.38. По словам Эдуарда, у него имеется рабочий прототип патча для ядер 2.6.39 и 3.0.0, но, к сожалению, в нём наблюдается ряд нерешённых проблем со стабильностью, поэтому данный патч пока не доступен публично. Доступ к ранее выпущенным патчам тоже проблематичен, так как связанный с Reiser4 код пока не загружен в новую инфраструктуру сайта kernel.org.


Zhek@Ch

18 Октября 2011, 23:50 #191 Последнее редактирование: 18 Октября 2011, 23:50 от Zhek@Ch
[size="3"]Обновление ядра Linux 3.0.7[/size]

Представлен корректирующий релиз ядра Linux 3.0.7, в котором устранено около 30 ошибок. Как обычно, в анонсе выхода новой версии подчёркивается обязательность проведения обновления. Из изменений можно отметить исправления в коде drm-драйвера radeon, решение проблемы с отбрасыванием пакетов в драйвере e1000e, устранение проблемы в коде IPv6, приводящей к разыменованию указателя NULL при обработке фрагментированных пакетов и возможно связанной с безопасностью.

Одновременно выпущена тестовая версия 3.1-RC10. Судя по всему это первый десятый кандидат в релизы ядра, так как раньше больше девяти тестовых версий перед релизом не выпускалось. До саммита разработчиков ядра остаётся около недели, поэтому финальный релиз 3.1 наиболее вероятно будет выпущен в понедельник.


Zhek@Ch

21 Октября 2011, 21:13 #192 Последнее редактирование: 21 Октября 2011, 21:13 от Zhek@Ch
[size="3"]Новая редакция списка возможностей, которых не хватает в ядре Linux по мнению системных программистов [/size]

Кей Сайверс (Kay Sievers), Леннарт Поттеринг (Lennart Poettering) и Харальд Хойер (Harald Hoyer) опубликовали обновлённый вариант списка возможностей, которых не хватает в ядре Linux по мнению системных программистов, занимающихся разработкой низкоуровневых компонентов для Linux-систем.

По сравнению с первым вариантом в новом списке добавлены следующие пожелания:

  • Добавление в tmpfs поддержки дисковых квот для защиты от переполнения /tmp, /dev/shm, /run/user/$USER отдельным пользователем;
  • Добавление корректной поддержки fallocate() для tmpfs для предварительного резервирования места под создаваемые файлы;
  • В механизм нотификации fanotify предлагается добавить поддержку генерации событий при переименовании файла, создание безопасного метода непривилегированного доступа и возможность передачи информации о флагах открытия файлов, что позволит осуществляющим мониторинг приложениям разобрать открыт файл на запись или только на чтение. Также предлагается создать метод проверки был ли действительно изменен файл после закрытия, если файл был до этого открыт в режиме записи и чтения (read-write);
  • Более быстрая реализация xattrs для ext2/3/4, позволяющая использовать xattrs из пространства пользователя без дополнительных накладных расходов на позиционирование;
  • Возможность создавать доступные в режиме только для чтения точки bind-монтирования (одна директория монтируется в другую) через один системный вызов mount(), вместо двух (возможен эффект гонки). Через один системный вызов также предлагается реализовать настройки для точки монтирования, связанные с пространством имён;
  • Возможность управлять перемещением в область подкачки для отдельных страниц памяти;
  • Готов патч для нотификации об изменении имени хоста и патч для PR_SET_CHILD_SUBREAPER;
  • Использование 64-разрядных PID-идентификаторов по умолчанию;
  • Вариант файловой системы в стиле unionfs или возможность слияния нескольких точек монтирования (union mount);
  • Реализация системного вызова revoke();
  • Уведомление, когда завершается произвольный процесс, не только дочерний.

Zhek@Ch

27 Октября 2011, 00:21 #193 Последнее редактирование: 27 Октября 2011, 00:22 от Zhek@Ch
[size="3"]Релиз ядра Linux 3.1 [/size]

После трёх месяцев разработки увидел свет релиз Linux-ядра 3.1, разработка которого длилась почти на месяц дольше обычного из-за инцидента со взломом инфраструктуры kernel.org. Вопреки сложившейся практике релиз был вначале представлен Линусом Торвальдсом не в списке рассылки, а на саммите разработчиков ядра Linux.

Из наиболее заметных изменений можно упомянуть поддержку процессорной архитектуры OpenRISC, оптимизацию производительности операций сброса страниц памяти из ОЗУ на диск, ускорение работы slab allocator, новую реализацию подсистемы iSCSI, поддержку чипов NFC (Near Field Communication), код для контроля за bad-блоками в программном RAID, утилиту "cpupowerutils" для управления питанием, активацию в Ext3 режима сброса буферов "barrier", поддержку пульта Nintendo Wii Remote, драйверы для нового оборудования.

В новую версию принято 9403 исправления от 1318 разработчиков, размер патча - 49 Мб (добавлено 9240 тыс. строк кода, удалено - 9153 тыс. строк). Около 37% всех представленных в 3.1 изменений связаны с драйверами устройств, примерно 25% изменений имеют отношение к обновлению кода специфичного для аппаратных архитектур, 14% связано с сетевым стеком, 5% - файловыми системами и 5% c внутренними подсистемами ядра.

Наиболее интересные новшества ядра 3.1:

  • Дисковая подсистема, ввод/вывод и файловые системы
    • В код с реализацией программного RAID (MD) добавлена поддержка контроля дефектных блоков на диске, что позволило в некоторых уровнях RAID использовать диски с bad-блоками. Для использования данной функции необходима установка новой версии утилиты mdadm;
    • Новая реализация кода поддержки iSCSI target (RFC-3720), разработанная в рамках проекта Linux-iSCSI.org. Ранее используемая iSCSI-подсистема SCST признана устаревшей;
    • Для файловой системы Ext3 по умолчанию включена поддержка механизма "барьеров" (barriers), позволяющего обеспечить неизменность группы запросов в очереди ввода/вывода для корректной фиксации транзакций ФС: запросы в очереди могут подвергаться перестановке для оптимизации ввода/вывода, барьер изолирует связанные с транзакцией перестановки, чтобы гарантировать, что транзакция будет записана в журнал только после записи на диск фигурирующих в этой транзакции данных. Следует отметить, что "барьеры" используются по умолчанию в XFS, Btrfs и Ext4, в Red Hat Enterprise Linux поддержка "барьеров" давно активирована и для Ext3;
    • Многочисленные изменения, направленные на улучшение масштабируемости кода виртуальной файловой системы (VFS).
    • Ряд исправлений и оптимизаций для btrfs. Заметно увеличена производительность чтения списка элементов директорий. Переработан процесс использования блокировок в btree-дереве метаданных;
    • Увеличен максимальный размер файла в tmpfs. На 32-разрядных системах при размере страниц памяти в разделе подкачки 4kB, лимит на размер файла в tmpfs теперь составляет 2 Тб;
    • В NFS 4.1 добавлена поддержка IPv6 для pnfs-сервера;
    • Продолжена оптимизация производительности XFS;
    • В Fat16 обеспечена поддержка файлов и разделов, размером до 4 Гб;
    • В dm-raid добавлена поддержка RAID1, а также парсинга и использования отдельных устройств для хранения меданных;
  • Сетевая подсистема
    • Интеграция беспроводного стека NFC (Near Field Communication) и нового типа сетевого сокета NFC. NFC разработан для обмена данными в пределах малого радиуса действия (около 10 см.) и все чаще используется в смартфонах, где находит применение для организации обмена данными, для контроля доступа и идентификации, а также для реализации систем мгновенной оплаты. Например, на смартфон могут быть записаны данные кредитной карты для использования которой достаточно приблизить телефон к специальному датчику в магазине. В музеях произведения могут быть снабжены NFC-метками, которые позволяют посмотреть более подробную информацию или просмотреть поясняющий суть экспоната видеоролик или аудиозапись;
    • Для генерации порядковых номеров TCP-пакетов (TCP/IP sequence number) и идентификаторов фрагментов пакетов теперь используются не 24-битные значения на основе хэша MD4 в сочетании с 8-разрядным счетчиком, а 32-битные идентификаторы на основе MD5 (lib/md5.c) без дополнительного счетчика. Использование MD4 в настоящее время не оправдано с точки зрения безопасности (высокая предсказуемость), а былой выигрыш в производительности на современных компьютерах ничтожно мал. Поэтому решено использовать более безопасный метод, основанный на хэше MD5;
  • Память и системные сервисы
    • Проведена оптимизация производительности работающего на уровне ядра процесса Writeback, выполняющего операции сброса страниц памяти из ОЗУ на диск. Новый код позволяет добиться более линейного ввода/вывода, избегая случайного доступа к диску при одновременном сбросе страниц памяти, привязанных к разным процессам;
    • Ускорена работа Slab allocator при выполнении интенсивной обработки slab-ов. В используемом по умолчанию slab-аллокаторе "slub" для архитектур, поддерживающих инструкции cmpxchg, в критических к производительности секциях использован более оптимальный код, требующий при работе меньшего числа блокировок;
    • В состав включен новый набор пользовательских утилит cpupowerutils, предназначенный для управления питанием CPU. Утилиты предоставляют расширенные средства мониторинга энергопотребления и адаптивного управления частотой процессора. Для достижения оптимального баланса между производительностью и энергопотреблением необходимо комбинировать различные методы отслеживания текущего энергопотребления и состояний простоя, включая задействование особенностей архитектур PPC, Itanium, ARM и x86, а также единую координацию управления энергией для CPU и GPU в составе одного APU. Сpupowerutils предоставляет доступ к подобным средствам в рамках одной утилиты;
    • Добавлена опция UNAME2 для смены идентификации ядра на 2.6.41 вместо 3.1 для решения проблем с совместимостью с некоторыми приложениями, доступными только в бинарном виде (например, управляющее ПО для некоторых принтеров);
    • Проведен тюнинг производительности планировщика ввода/вывода CFQ;
    • В ptrace добавлена поддержка команд PTRACE_INTERRUPT, PTRACE_LISTEN, PTRACE_SEIZE и TRAP_NOTIFY;
    • В системный вызов lseek() добавлена поддержка флагов SEEK_HOLE и SEEK_DATA для выявления пустых областей и блоков данных внутри файла;
  • Оборудование и аппаратные архитектуры
    • Поддержка открытого микропроцессора OpenRISC и связанной с ним процессорной архитектуры. В настоящее время добавлена поддержка 32-разрядного семейства OpenRISC 1000 (or1k). OpenRISC создан сообществом OpenCores, объединяющем людей, занимающихся проектированием полностью открытой микроэлектроники. Наработки проекта уже производятся многими коммерческими компаниями в виде интегральных микросхем ПЛИС и БМК. Полный исходный код процессора на языке описания аппаратуры Verilog, схемы, firmware, а также модифицированный инструментарий GNU открыты всем желающим на условиях лицензий GPL и LGPL. Текущая версия процессора, именуемая OpenRISC 1200, включает в себя процессорное ядро, реализующее набор инструкций ORBIS32, опциональный блок арифметики с плавающей точкой ORFP32X, пятиступенчатый конвейер, блок DSP, раздельные блоки управления памятью для данных и инструкций. По заявлениям создателей производительность процессора близка к ARM10;
    • Добавлен HID-драйвер для пульта дистанционного управления Nintendo Wii Remote;
    • Добавлен новый WiFi-драйвер rtl8192de для карт на базе чипов Realtek RTL8192DE и RTL8188DE. В драйвере b43 расширена поддержка 802.11n-совместимых чипов Broadcom, таких как BCM43224 и BCM43225;
    • В звуковой драйвер snd-ctxfi добавлена поддержка карт Creative Titanium HD. Добавлена поддержка DVB-демодулятора Micronas DRX-K DVB-C/T и тюнера TDA18271C2. В состав ядра включен драйвер Ddbridge, поддерживающий видеооборудование от компании Digital Devices, например, ресиверы Octopus, Octopus mini и Octopus LE, а также тюнеры DuoFlex S2 и DuoFlex CT;
    • В DRM-модуль драйвера Nouveau добавлена поддержка автоматической генерации микрокода для чипов Fermi (GeForce 400 и 500). Дополнительно обновлены DRM-модули для карт Intel и ATI/AMD. В DRM-модуле Intel по умолчанию включена поддержка режима энергосбережения "RC6";
  • Виртуализация и безопасность
    • В KVM обеспечена возможность запуска вложенных виртуальных окружений, т.е. выполнения гостевой системы из другой гостевой системы;
    • В коде XEN Dom0 обеспечена возможность вывода текста через VGA-консоль, поддержка проброса PCI-устройств в гостевые окружения и возможность использования Memory hotplug в драйвере balloon;
    • Обеспечено повышение производительности сетевой подсистемы в виртуализированных окружениях, за счет поддержки Zero-copy в драйверах macvtap и vhost-net;
    • Memory hotplug API расширен для обеспечения горячего подключения памяти в виртуальных машинах;
    • Для архитектуры PPC64 добавлен JIT-компилятор для правил BPF (Berkeley Packet Filter), ранее поддерживающий работу только на системах x86-64. JIT-компиляция правил BPF позволяет значительно увеличить производительность обработки пакетов при использовании инструментов, подобных libpcap/tcpdump;
    • Для действия AUDIT в Netfilter добавлена поддержка контекста SELinux;
    • В ipset добавлена поддержка указания диапазонов IPv4-адресов при добавлении и удалении элементов хэшей "net", например, "ipset new test hash:net; ipset add test 10.2.0.0-10.2.1.12";
    • Во фреймворк TOMOYO, позволяющий привязать политику безопасности процесса к файловому пути, способом похожим с AppArmor, добавлена поддержка групп ACL, интерфейса для аудита, встроенных правил, раздельных пространств имён (policy namespace);

Zhek@Ch

27 Октября 2011, 01:55 #194 Последнее редактирование: 27 Октября 2011, 01:55 от Zhek@Ch
[size="3"]Linux Foundation и производители техники создали новую ветку ядра Linux с длительным сроком поддержки [/size]

Организация Linux Foundation объявила о создании инициативы LTSI (Long Term Support Initiative), в рамках которой будет сформирована ветка ядра Linux, отличающаяся длительным сроком поддержки и регулярным выпуском обновлений с бэкпортированием новшеств и исправлением проблем, влияющих на стабильность и безопасность. Инициатива подразумевает ежегодное присвоение определённым версиям ядра Linux статуса выпусков с длительным сроком поддержки, подразумевающим регулярный выпуск обновлений в течение 2 лет. Таким образом данное ядро будет актуально на протяжении всего жизненного цикла продукта, который обычно составляет 2-3 года.

К инициативе подключилось несколько ведущих производителей потребительских устройств, среди которых Hitachi, LG Electronics, Renesas, NEC, Sony, Panasonic, Qualcomm, Samsung и Toshiba. Совместная работа над единой кодовой базой, координацией которой будет заниматься организация Linux Foundation, позволит компаниям снизить затраты и более эффективно использовать ресурсы, которые ранее приходилось тратить на выполнение работ, дублирующих аналогичную работу в других компаниях. Среди таких типовых работ отмечается отслеживание и бэкпортирование важных исправлений из более новых версий ядра, тестирование и выявление ошибок, а также разработку драйверов для нового оборудования.

Ожидается, что ветку LTSI можно будет использовать в качестве основы как производителям встраиваемых систем, так и разработчикам смежных продуктов, например, производителям электронных чипов, дистрибьюторам и поставщикам программных компонентов. Проект LTSI будет сочетать в себе работу по портированию в единую стабильную LTSI-ветку необходимых производителям изменений из более новых версий ядра с работой по продвижению созданных специально для LTSI-ветки улучшений (например, новых драйверов) в основное ядро Linux (upstream). Конечной целью проекта является сокращение числа развиваемых за закрытыми дверями веток ядра Linux, и стимулирование производителей к совместной и открытой работе.

Первые попытки унификации используемых веток с длительным временем поддержки предприняли в прошлом году разработчики Linux-дистрибутивов, которые поняли, что им приходится дублировать работу друг друга, поддерживая собственные наборы патчей для пакетов с ядром. Для упрощения работы на одной из конференций было достигнуто неофициальное соглашение о сотрудничестве - почти все значительные дистрибутивы (Debian 6, RHEL 6, Ubuntu 10.04 LTS и SUSE Linux Enterprise 11) согласились использовать для своих продуктов с длительным временем поддержки ядро 2.6.32, что позволило существенно сэкономить время и трудозатраты.


Zhek@Ch

28 Октября 2011, 11:21 #195 Последнее редактирование: 28 Октября 2011, 11:21 от Zhek@Ch
[size="3"]Первая версия легкого гипервизора Xvisor для мобильных и встраиваемых систем [/size]

В списке рассылки разработчиков ядра Linux представлен новый гипервизор для мобильных и встраиваемых систем Xvisor (eXtensible Versatile hypervISOR), легко портируемый на новые платформы и обладающий, по заявлениям автора, небольшим размером и малыми накладными расходами на виртуализацию.

Как и KVM, Xvisor поддерживает только режим полной виртуализации, обеспечиваемый поддержкой со стороны процессора. Гипервизор имеет небольшую кодовую базу, минимальные требования к оперативной памяти, имеет интерфейс расширения и может быть легко перенесен на новую аппаратную архитектуру. Xvisor использует модифицированный инструментарий QEMU для запуска виртуальных машин, обеспечивая поддержку всех требуемых от современной виртуальной машины функций, среди которых:

 
  • Древовидная конфигурация;
  • Поддержка ОС, использующих режим Tickless;
  • Поддержка технологии Hyper-threading;
  • Возможность использования драйверов хост-системы;
  • Виртуализация центрального процессора;
  • Виртуализация адресного пространства;
  • Виртуализация подсистемы ввода-вывода;
  • Виртуальный последовательный порт;
  • Терминал управления гипервизором.
Чтобы обеспечить простоту переноса кода Xvisor изначально разрабатывался для двух аппаратных архитектур одновременно. В настоящее время обеспечена поддержка архитектуры ARM (процессоры: Cortex-A8 и OMAP3, платформы: Realview-PB-A8, Beagle) и MIPS (процессор: 24K, платформа: QEMU-MIPS). Порт на другую процессорную архитектуру не должен вызвать никаких проблем.

 Код гипервизора распространяется под лицензией GPLv2 и размещен на хостинге github. Проверить Xvisor в действии можно загрузив демонстрационную сборку QEMU.


Zhek@Ch

04 Ноября 2011, 23:29 #196 Последнее редактирование: 04 Ноября 2011, 23:29 от Zhek@Ch
[size="3"]Проект TuxOnIce с реализации "спящего режима" для Linux был на грани закрытия [/size]

Найджел Каннингем (Nigel Cunningham), разработчик TuxOnIce, подсистемы Linux, реализующей поддержку "спящего" режима со сбросом образа памяти на диск, объявил о решении закрыть проект, но указал, что пользователи могут попытаться переубедить его. По мнению Найджела, проект TuxOnIce, не входящий в состав основного ядра, потерял свой смысл, так как входящая в ядро официальная реализация поддержки спящего режима последние годы достаточно продвинулась вперёд и прекрасно решает поставленные перед ней задачи.

Спустя день, Найджел объявил, что изменил своё решение и продолжит поддержку проекта, так как его убедили, что код TuxOnIce остаётся востребованным и высоко ценится пользователями. Отдельно можно упомянуть обсуждение в списке рассылки разработчиков ядра Linux, в котором упоминалась неисправленная с марта ошибка в штатной реализации спящего режима, мешающая его использованию на некоторых популярных моделях ноутбуков (каждые 10-20 просыпаний наблюдается крах), в то время как TuxOnIce работает на этих ноутбуках без проблем. В комментариях к первому сообщению Найджела подобных заявлений, что засыпание на их ноутбуках полноценно работает только в TuxOnIce, было опубликовано около десятка.

Разработка TuxOnIce ведётся в основном силами одного энтузиаста, при этом практически нет шансов добиться интеграции кода проекта в состав основного ядра - для этого нет ресурсов, которые требуется потратить для переработки кода в соответствии со стилем кодирования, принятом в ядре Linux. Из особенностей TuxOnIce, которых нет в стандартной реализации спящего режима в Linux, можно отметить поддержку многопоточной обработки и записи в асинхронном режиме, поддержку упреждающего чтения, удобный интерфейс пользователя, возможность использования обычных файлов для хранения дампа памяти, возможность создания расширений для преобразования и записи образов памяти, поддержку шифрования. Тем не менее самым заметным и востребованным отличием TuxOnIce остаётся более высокая скорость перехода в спящий режим и возврата из него.


Zhek@Ch

07 Ноября 2011, 12:44 #197 Последнее редактирование: 07 Ноября 2011, 12:45 от Zhek@Ch
[size="3"]Книга "Модули ядра Linux"[/size]
 
На сайте rus-linux.net опубликован проект книги О.И.Цилюрика "Модули ядра Linux". Книга посвящена программированию модулей ядра Linux и рассчитана на опытных разработчиков системного программного обеспечения. Предполагается, что читатель может и не иметь богатого опыта в программировании именно для ядра Linux, или даже вообще в программировании для этой системы, но имеет какой-то опыт в системном программировании для других операционных систем, что послужит базой для построения аналогий. Даже если чтение книги и не подвигнет читателя к написанию собственных компонент ядра (что совершенно не обязательно), то, по крайней мере, поможет более точному пониманию тех процессов, которые происходят в ядре. На примерах дан обстоятельный обзор возможностей в программировании модулей ядра, этого набора примеров достаточно, чтобы начать писать свой собственный драйвер-модуль Linux, дальше наращивая его функциональность. Предназначено для программистов-разработчиков, ведущих реальные проекты. Конструктивные замечания по тексту можно направлять автору на адрес olej at front dot ru.

 >>> Подробности


Zhek@Ch

07 Ноября 2011, 23:49 #198 Последнее редактирование: 07 Ноября 2011, 23:52 от Zhek@Ch
[size="3"]Оценка причин и последствий взлома kernel.org [/size]

На проходившем в конце октября саммите разработчиков ядра Linux, один из администраторов kernel.org выступил с докладом, в котором обобщил известные факты о взломе инфраструктуры проекта. Питер Анвин (H. Peter Anvin), автор проекта Isolinux, один из первых администраторов kernel.org и известный разработчик ядра, 28 августа обнаружил факт взлома своего внутреннего сервера. Проверив серверы инфраструктуры kernel.org он выявил, что некоторые из них также имеют следы проникновения злоумышленников.

Судя по результатам расследования, атака на серверы kernel.org была частью активности уже несколько лет существующей автоматизированной сети, созданной для кражи паролей и параметров аутентификации. У атакующих изначально не было цели проникновения на kernel.org и выполнения там каких-то определённых действий, им просто повезло в том, что они смогли получить параметры доступа, перехваченные у одного из неосторожных разработчиков ядра. Так как у всех разработчиков, имеющих доступ к Git-репозиторию, есть полноценный и не изолированный shell, это упростило эксплуатацию одной из уязвимостей, позволившей получить root-доступ. Атакующие действовали тихо, но кроме непосредственно взлома, установки типового руткита Phalanx (запускался через правку одного из скриптов инициализации) и нескрытого SSH-бэкдора (были заменены ssh и sshd), злоумышленники не предприняли каких-либо вредоносных действий. Вся активность была сосредоточена только на перехвате паролей и записи всех действий в консоли.

 Есть основание полагать, что взломанные серверы kernel.org лишь ничем не примечательные новички в большом списке взломанных машин, при этом с большой долей вероятности атака носила типовой характер и была произведена автоматически. Проверка целостности файлов на серверах показала, что данные не были изменены, а оборудование не использовалось для совершения таких действий, как рассылка спама.

После выявления взлома администраторам понадобилось более месяца на полный пересмотр стратегии безопасности и реализации новой схемы доступа к Git-репозиториям, при которой разработчикам не предоставляется shell-доступ. Все серверы были переустановлены с нуля. Новая система работы с Git базируется на дополнении Gitolite, поддерживающем отдельную базу виртуальных пользователей, не имеющих системных аккаунтов и получающих доступ, используя SSH-ключи. Gitolite позволит реализовать более гибкие полномочия: возможность доступа только для чтения или разрешение записи в привязке к отдельным веткам, директориям, файлам или даже тегам, а также отдельные права на слияние, создание и удаление веток и тегов.

Для загрузки tar-архивов и создания для них цифровых подписей задействован новый инструмент "kup". Почтовый сервер на kernel.org отныне будет поддерживать только перенаправление на другой email, локальные почтовые ящики больше не поддерживаются. Все списки рассылки перенесены на отдельный хост vger.kernel.org, обслуживанием которого займётся компания Red Hat, имеющая большой опыт в поддержке больших списков рассылки. Несмотря на то, что работа FTP-серверов и Git восстановлена, многие службы по прежнему остаются неактивными. Например, до сих пор не возвращена в строй система отслеживания ошибок (bugzilla.kernel.org), Wiki (wiki.kernel.org) и kerneloops.org.

Дополнительно для всех разработчиков инициирован процесс смены ключей доступа и введены требования по обязательному использованию цифровых подписей при загрузке кода в Git-репозитории kernel.org (вместо централизованного формирования подписи, каждый разработчик теперь будет подписывать код своим личным ключом). Конечной целью является предоставление возможности гарантированной идентификации каждого разработчика по его PGP/GPG ключам. Отдельно рассматривается добавление в git нескольких усовершенствований, направленных на автоматизацию проверки сигнатур в процессе выполнения "git pull". Для реализации данной возможности в "git commit" планируется добавить опцию по встраиванию GPG-сигнатуры в объект коммита. Линус Торвальдс принял решение об ужесточении требований к принимаемым в его ветку патчам: изменения будут загружаться только с доверительных серверов или при наличии PGP/GPG-сигнатуры, доказывающей что код прислан именно тем разработчиком, за которого он себя выдаёт.

Изначально kernel.org создавался исключительно для обмена информацией между разработчиками, но позднее стал обрастать дополнительными сервисами: была интегрирована поддержка Git, запускались всё новые и новые web-службы (bugzilla, patchwork, wiki и т.д.). Система усложнялась, но развивалась стихийно - многие вещи делались наспех, без изоляции от уже запущенных служб. Росло число пользователей, имеющих доступ к kernel.org. В ситуации, когда перехват пароля у одного из 448 аккаунтов мог привести к беспрепятственному shell-доступу, взлом стал делом времени.

После модернизации kernel.org доступ к shell будет иметь всего несколько администраторов проекта (в данный момент один). Различные сервисы теперь выполняются изолированно в разных виртуальных серверах. В прошлом архитектура kernel.org была построена вокруг одной централизованной системы, на которой были сосредоточены все сервисы. Новая архитектура проекта подразумевает децентрализацию и разделение функциональности на различные хосты, некоторые из которых могут быть запущенны с использованием виртуализации.

Все процессы управления над kernel.org переданы организации Linux Foundation, которая намерена нанять дополнительный персонал, который будет отвечать за обслуживание инфраструктуры, вместо привлечения к данной работе добровольцев. Доступ к серверам будет только у нескольких официально принятых на работу администраторов. Дополнительно организация Linux Foundation приняла решение о создании специальной рабочей группы, которая будет заниматься вопросами безопасности кода ядра Linux и процессов, связанных с разработкой ядра.


Zhek@Ch

09 Ноября 2011, 12:20 #199 Последнее редактирование: 09 Ноября 2011, 12:20 от Zhek@Ch
[size="3"]Начало тестирования ядра Linux 3.2-rc1. Обновления 2.6.32.47 и 2.6.33.20 [/size]

Линус Торвальдс представил первый экспериментальный выпуск следующей ветки ядра Linux 3.2-rc1. Так как выпуск 3.1 был задержан почти на месяц, будущий релиз является рекордным по числу изменений, 75% из которых касаются драйверов устройств, 15% - поддержки аппаратных архитектур, а оставшиеся 10% в основном связаны с файловыми системами и сетевой подсистемой. Размер патча в сжатом виде (gzip) составляет 22 Мб, для сравнения патч для ядра 3.1 занимал 11 Мб, а для 3.0 - 10 Мб. Число добавленных строк - 1.6 млн, удалённых - 1.4 млн. Релиз ядра 3.2 ожидается в начале января.

Из заметных улучшений можно отметить:

  • Поддержка DSP-процессоров Qualcom Hexagon;
  • Улучшенная реализация алгоритма хэширования SHA1, который оптимизирован для процессоров x86-64 и использует в процессе работы команды SSE3 и AVX;
  • В TCP-стек интегрирована поддержка алгоритма пропорционального снижения интенсивности отправки пакетов, реализованного инженерами Google и позволяющего быстрее восстановить оптимальные параметры потока после временных проблем с передачей данных;
  • В планировщик задач CFS добавлена возможность ограничения времени потребления CPU для группы процессов, например, если система не нагружена подобная возможность позволит выделить больше ресурсов процессам, которые в иной ситуации были бы ограничены более жёстко;
  • Новый экспериментальный драйвер для механизма обнаружения и исправления ошибок EDAC, присутствующего в процессорах Intel Sandy Bridge;
  • Обновлён DRM/KMS-драйвер Nouveau DRM/KMS, в котором появилась поддержка новых карт семейства Fermi, например, карт GeForce GT 520;
  • Многочисленные улучшения в реализации файловых систем Btrfs и Ext4, связанные с чисткой кода, увеличением качества обработки ошибок и оптимизациями;
  • Снят статус экспериментального с DRM-драйвера vmwgfx, предназначенного для обеспечения видеоакселерации внутри гостевых окружений VMware;
  • В состав включён DRM-драйвер для SoC-платформы Exynos4210, используемой в смартфоне Samsung Galaxy S II;
Одновременно анонсированы корректирующие выпуски для длительно поддерживаемых веток ядра - 2.6.32.47 и 2.6.33.20, в которых исправлены накопившиеся с середины августа ошибки.