Релиз ядра Linux 3.19
Релиз ядра Linux 3.19
10.02.2015
После двух месяцев разработки Линус Торвальдс анонсировал релиз ядра Linux 3.19. Среди наиболее заметных улучшений: средства защиты от переполнения буфера на основе расширений Intel MPX, проверка целостности и быстрая замена дисков в Btrfs RAID 5/6, сжатие LZ4 в squashfs, возможность привязки BPF-программ к сетевым сокетам, протокол TIPC, системный вызов execveat(), драйвер "ipvlan" для связи контейнеров, драйвер "AMD KFD" для GPGPU-вычислений, поддержка архитектуры Altera Nios II.
В новую версию принято примерно 12500 исправлений от 1200 разработчиков, размер патча - 38 Мб (изменения затронули 10742 файлов, добавлено 487475 строк кода, удалено 350946 строк). Около 46% всех представленных в 3.19 изменений связаны с драйверами устройств, примерно 19% изменений имеют отношение к обновлению кода специфичного для аппаратных архитектур, 12% связано с сетевым стеком, 4% - файловыми системами и 4% c внутренними подсистемами ядра.
Из наиболее интересных новшеств можно отметить:
- Дисковая подсистема, ввод/вывод и файловые системы
- В Btrfs появилась возможность быстрой замены дисков в RAID 5/6 без предварительного добавления нового диска, переноса данных и вывода из массива старого диска, т.е. теперь при помощи утилиты btrfs-replace можно просто поменять на лету один диск на другой, как это делалось для накопителей, не состоящих в RAID. Для RAID 5/6 также добавлена функция проверки целостности данных ("Scrubbing", сверка контрольных сумм, сохранённых и вычисленных на основе фактических данных), которая ранее не могла быть применена к RAID разделам Btrfs;
- Существенно увеличена производительность модуля Device Mapper, обеспечивающего динамическое выделение места в хранилище (thin provisioning) и позволяющего создать несколько виртуальных дисковых разделов, суммарный размер которых превышает физический размер доступных накопителей, а физическое дисковое пространство выделяется по мере необходимости. Производительность возросла в основном благодаря поддержке агрегирования операций с идентичными блоками на стадии перед обращением к основному устройству;
- В файловой системе Ceph добавлена поддержка inline-размещения данных, что привело к увеличению производительности при работе с мелкими файлами. Также добавлена поддержка верификации сообщений по цифровой подписи для аутентификации обмена данными между клиентами и серверами Ceph;
- В F2FS, развиваемую компанией Samsung высокопроизводительную файловую систему для Flash-накопителей, добавлена опция "fastboot", которую можно использовать для сокращения числа проверок во время загрузки;
- В файловую систему squashfs добавлена поддержка сжатия данных с использованием алгоритма LZ4;
- Виртуализация и безопасность
- Поддержка расширений MPX (Memory Protection Extensions), которые появятся в следующих поколениях микроархитектур процессоров Intel (Skylake и Goldmont) и дадут возможность организовать проверку указателей на соблюдение границ, связанных с ними областей памяти. Для использования данной возможности для каждой ссылки на память процессору необходимо сообщить сведения о допустимых границах области памяти, что требует дополнительной адаптации программного обеспечения, т.е. использование для сборки компилятора и runtime-библиотек, поддерживающих MPX. С практической стороны, MPX позволит выявлять ошибки при работе с памятью и блокировать совершение атак, основанных на переполнении буфера.
- Добавлен драйвер "ipvlan", позволяющий создавать виртуальные сетевые устройства для связи между изолированными контейнерами. Драйвер напоминает macvlan, но рассчитан на эффективную работу с сетевыми пространствами имён (network namespaces) и производит мультиплексирование трафика на более высоком уровне сетевого стека;
- Для архитектуры ARM64 реализован механизм seccomp, используемый для ограничения доступа приложений к системным вызовам;
- В связи с устранением возможного вектора атаки (CVE-2014-8989) изменена обработка системного вызова setgroups(), при его использовании в пространствах имён для непривилегированных пользователей (user namespaces), что может потенциально привести к нарушению нормальной работы некоторых приложений, выполняющих маппинг произвольных идентификаторов групп пользователей.
- Прекращена поддержка использования системы виртуализации KVM на серверах с архитектурой Itanium (ia64), так как данная возможность не использовалась на практике и оставалась без сопровождения;
- Добавлен интерфейс для доступа из пространства пользователя к функциям блочного шифрования AEAD;
- Подсистема virtio значительно доработана в плане обеспечения поддержки стандарта virtio 1.0;
- Сетевая подсистема
- В клиент и сервер NFS добавлена поддержка опций ALLOCATE и DEALLOCATE, определённых в стандарте NFS 4.2 и позволяющих заранее зарезервировать место в хранилище для файла, до его фактической записи;
- В сетевой стек добавлена новая подсистема для задействования аппаратных механизмов ускорения коммутации и маршрутизации на поддерживающем данные возможности оборудовании;
- Добавлен netlink API для сетевого протокола TIPC (Transparent Inter-process Communication), предназначенного для организации межпроцессного взаимодействия в кластере. Протокол предоставляет средства для быстрого и надёжного взаимодействия приложений, независимо от того, на каких узлах в кластере они выполняются.
- В подсистеме InfiniBand обеспечена поддержка подкачки по необходимости (on-demand paging), что позволяет создавать и размещать области RDMA через обработчик обращений к невыделенным страницам памяти (page faults), т.е. расходовать память тогда, когда она действительно используется;
- Память и системные сервисы
- В системный вызов getsockopt() добавлена новая опция SO_INCOMING_CPU, при помощи которой можно определить CPU, используемый для обработки указанного сокета. Используя данную опцию приложение может распределить связанную с сокетами работу по нескольким процессорам, увеличив общую пропускную способность;
- Возможность привязки расширенных BPF-программ к сетевым сокетам. В настоящее время функциональность ограничена сбором статистики, но в будущем ожидается добавление возможностей по установке фильтров;
- Добавлен системный вызов execveat(), который позволяет запустить исполняемый файл из открытого файлового дескриптора или определить исполняемый файл при передаче файлового дескриптора директории;
- Из экспериментального staging-дерева в основной состав ядра перемещён механизм межпроцессного взаимодействия Binder, предложенный разработчиками платформы Android;
- Поддержка оверлеев Device Tree, призванных упростить получение информации о вспомогательном оборудовании на стадии загрузки системы;
- В подсистему ftrace добавлена возможность использования в фильтрах выражений с логической операцией НЕ ("!");
- Добавлен новый внутренний API, позволяющий унифицировать доступ драйверов к параметрам оборудования через ACPI или Device Tree, скрывая особенности работы через данные интерфейсы;
- Продолжена работа над устранением проблемы 2038 года, вызванной переполнением 32-разрядного типа time_t. Внутренние функции ядра do_settimeofday(), timekeeping_inject_sleeptime() и mktime() заменены на варианты, в которых используется 64-разрядный тип time64_t или timespec64.
- Аппаратные архитектуры
- Поддержка микропроцессорной архитектуры с программным ядром Altera Nios II (soft-процессор), конкурирующей с архитектурой MicroBlaze;
- Оборудование
- Добавлен драйвер "AMD KFD", предоставляющий новый интерфейс для использования вычислительных возможностей графических процессоров в приложениях, не связанных с графикой (GPGPU). Взаимодействие с драйвером на пользовательском уровне осуществляется через библиотеку HSA (Heterogenous System Architecture), которая позволяет использовать OpenCL для организации гибридных вычислений и наладить совместную работу CPU, GPU и иных процессоров, в которых подходящее вычислительное устройство выбирается в прозрачном режиме в зависимости от задачи. В HSA CPU и GPU имеют доступ к единым областям памяти, что упрощает организацию работы гибридных приложений;
- В компоненты прямого рендеринга (DRM) добавлена поддержка атомарного переключения видеорежимов, позволяющая разом, в рамках одной атомарной операции, изменить несколько параметров графического режима. Вызов ioctl() для обращения к данной функциональности из пространства пользователя ожидается в ветке ядра 3.20;
- В DRM-драйвер Nouveau добавлена частичная поддержка видеокарт NVIDIA GeForce 900 (GPU GM204), реализована возможность управления напряжением в Tegra K1;
- В DRM-драйвере Intel реализована начальная поддержка графической подсистемы процессоров нового поколения, построенных в соответствии с микроархитектурой Skylake. По умолчанию включен режим PPGTT (Per-Process Graphics Translation Tables), который может использоваться для изоляции доступа к GPU в гостевых системах;
- В DRM-драйвере Radeon улучшены средства управления скоростью вращения кулера для Radeon HD 7000 и более новых GPU;
- Поддержка GPU, используемых в SoC Freescale i.MX и Rockchip;
- Поддержка звуковых устройств на чипах Intel Baytrail;
- Поддержка контроллеров USB 3.0 от компании Broadcom;
- В Video4Linux добавлены драйверы для видеоустройств DVBSky S950 V3, тюнеров Montage M88RS6000, демодуляторов Panasonic MN88472 и MN88473, и ресиверов для пультов ДУ Amlogic Meson.
- Поддержка SoC Amlogic Meson8, Allwinner A80, Samsung Exynos4415, Freescale LS1021A, Alphascale ASM9260 и AMD Seattle;
- Поддержка SCSI-адаптеров Tekram DC390(T), Am53/79C974 и Western Digital WD7193/7197/7296.
Подробнее: http://citforum.ru/news/33367/
Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 2024-11-26 » Капитан грузового судна, или Как начать использовать Docker в своих проектах
- 2024-11-26 » Обеспечение безопасности ваших веб-приложений с помощью PHP OOP и PDO
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-15 » Перенос сайта на WordPress с одного домена на другой
- 2024-11-08 » OSPanel 6: быстрый старт
- 2024-11-08 » Как установить PhpMyAdmin в Open Server Panel
- 2024-09-30 » Как быстро запустить Laravel на Windows
- 2024-09-25 » Next.js
- 2024-09-05 » OpenAI рассказал, как запретить ChatGPT использовать содержимое сайта для обучения
- 2024-08-28 » Чек-лист: как увеличить конверсию интернет-магазина на примере спортпита
- 2024-08-01 » WebSocket
- 2024-07-26 » Интеграция с Яндекс Еда
- 2024-07-26 » Интеграция с Эквайринг
- 2024-07-26 » Интеграция с СДЕК
- 2024-07-26 » Интеграция с Битрикс-24
- 2024-07-26 » Интеграция с Travelline
- 2024-07-26 » Интеграция с Iiko
- 2024-07-26 » Интеграция с Delivery Club
- 2024-07-26 » Интеграция с CRM
- 2024-07-26 » Интеграция с 1C-Бухгалтерия
- 2024-07-24 » Что такое сторителлинг: техники и примеры
- 2024-07-17 » Ошибка 404: что это такое и как ее использовать для бизнеса
- 2024-07-03 » Размещайте прайс-листы на FarPost.ru и продавайте товары быстро и выгодно
- 2024-07-01 » Профилирование кода в PHP
- 2024-06-28 » Изучаем ABC/XYZ-анализ: что это такое и какие решения с помощью него принимают
- 2024-06-17 » Зачем вам знать потребности клиента
- 2024-06-11 » Что нового в работе Яндекс Метрики: полный обзор обновления
- 2024-06-11 » Поведенческие факторы ранжирования в Яндексе
- 2024-06-11 » Скорость загрузки сайта: почему это важно и как влияет на ранжирование
Чтобы вырастить плодоносящий сайт - его полезно регулярно поливать и удобрять с помощью рекламы и оптимизации Компания "RedLine" |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.