anonymous@RULINUX.NET~# Last login: 2017-09-22 15:36:41
Регистрация Вход Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск

Новости Linux kernel

Новости о ядре Linux

46

subsection
Скрыть

Т. е. 4.6. Т. е. linux-4.6. Т. е. GNU/Linux-4.6. Стоп! GNU-то тут не причём! Короче, выпустили наконец очередную порцию версию ядра linux. Из заметных нововведений упоминания на рулине удостоились следующие:

  •   поддержка USB-3.1;
  •   улучшения механизма OOM-killer-а: к нему на помощь добавлен OOM-raper, задачей которого является отжать всю память у процесса ещё до полного его истребления;
  •   поддержка новой распределённой файловой системы; то ли Оранжевой, то ли Апельсиновой - не понятно;
  •   какая-то магия с пакетами TCP, позволяющая ускорить их обработку;
  •   ещё более непонятный зверь - MACsec - шифрование на уровне MAC;
  •   Batman V. Начало;
  •   поддержка пространства имён цегрупп.


Ждите доставки новой версии от вашего дилера.

>>> Подробнее

anonymous (*) (2016-05-16 18:51:09)

[2 сообщения] [Добавить комментарий]


"Размытая рыбья задница" или linux-4.5

subsection
Скрыть

Помимо улучшений и регрессий появился новый системный вызов - copy_file_range. Он позволяет значительно ускорить выполнение операций копирования данных из исходного файла в другой файл, причем операция выполняется на стороне ядра.

"Размытая рыбья задница" (Blurry Fish Butt) - это кодовое название этой версии, которое полоумный Трольвальдс использовал, не подумав о тонких и ранимых личностях.

>>> Подробнее

anonymous (*) (2016-03-16 19:17:04)

[2 сообщения] [Добавить комментарий]


Пингвин запел

subsection
Скрыть

Апрельский альбом музыкального коллектива netcat - "Cycles Per Instruction", выпущен в том числе в форме модуля для ядра Linux. Воспроизведение производится через создаваемое модулем устройство /dev/netcat, а информация о воспроизводимом в текущий момент треке выводится через dmesg. После сборки и загрузки модуля для воспроизведения композиций необходимо в консоли запустить команду "cat /dev/netcat | ogg123 -". Группа также примечательна тем, что опубликовала информацию о себе в каталоге музыкального фестиваля Table & Chairs в форме man-страницы.

>>> Подробнее

Nosferatu (*) (2014-04-23 10:30:16)

[7 сообщений] [Добавить комментарий]


Что будет в 3.15

subsection
Скрыть

Linux 3.15 обещает крупные изменения, в числе которых уже состоят:

  •  Поддержка инструкций AVX-512 (Intel)
  •  Улучшения ACHI libata
  •  Улучшения в планировщике
  •  Поддержка Link-Time Optimization при сборке ядра
  •  Багфиксы и улучшения Btrfs
  •  Изменения в ACPI для более быстрого засыпания и пробуждения системы
  •  Обновления в Ext4 и XFS
  •  Модернизированная секция media/V4L2 (добавлено множество новых модулей, улучшения в коде)
  •  Поддержка больших каталогов, улучшения в производительности в F2FS

>>> Подробнее

Nosferatu (*) (2014-04-07 14:11:43)

[2 сообщения] [Добавить комментарий]


Пи здесь!

subsection
Скрыть

После двух месяцев разработки Линус Торвальдс выпустил ядро Linux 3.14. В новую версию принято более 12 тысяч исправлений от почти 1400 разработчиков, размер патча - 32 Мб (изменения затронули 10.6 тысяч файлов, добавлено 606195 строк кода, удалено 265086 строк). Около 46% всех представленных в 3.14 изменений связаны с драйверами устройств, примерно 19% изменений имеют отношение к обновлению кода специфичного для аппаратных архитектур, 16% связано с сетевым стеком, 5% - файловыми системами и 3% c внутренними подсистемами ядра. 10.2% изменений внесено сотрудниками компании Intel, 7.3% - Red Hat, 4.4% - Linaro, 5% - Samsung, 3.3% - SUSE, 2.9% - IBM, 2.7% - Google, 2.4% - TI, 2.1% - NVIDIA, 2.0% - FOSS Outreach Program for Women, 1.8% - Huawei, 1.3% - Oracle.

Крупные новшества:

  •  Для планировщика задач добавлена поддержка класса SCHED_DEADLINE, реализующего алгоритм EDF (Earliest Deadline First), основанный на идее выбора для выполнения из очереди ожидающих процессов задачи, наиболее близкой к истечению крайнего расчётного времени (deadline). SCHED_DEADLINE поддерживает обеспечение работы процессов, требующих выполнения операций в режиме реального времени, предоставляя для подобных задач гарантированное время выполнения, независимо от общего количества обслуживаемых процессов, и реализуя возможность резервирования пропускной способности CPU для процессов.
  •  Снятие ярлыка экспериментальной разработки и перенос из ветки staging в основное дерево ядра подсистемы zRAM, предназначенной для хранения раздела подкачки в памяти в сжатом виде.
  •  Поддержка триггеров в подсистеме обработки событий трассировки, позволяющей отследить обращение к тем или иным функциям ядра. Триггеры дополняют ранее присутствующую возможность установки контрольных проверок (probe) возможностью привязки условных команд, вызываемых при срабатывании контрольной проверки. Через данные команды можно выполнять такие действия, позволяющие получить дополнительные сведения, как включение или выключение других событий трассировки или активация трассировки стека.
  •  В системе контрольных проверок (userspace probes), используемой для анализа поведения выполняемых в пространстве пользователя приложений, добавлена поддержка извлечения данных из стека и памяти пользовательского процесса, а также обработка таких типов аргументов, как разыменования, битовые поля, возвращаемые функцией значения и смещения в файлах.
  •  В состав ядра принят набор патчей biovec, вносящий некоторые изменения в API блочного уровня ядра, в том числе добавляющий поддержку создания произвольных купных запросов ввода/вывода и увеличивающих эффективность работы.
  •  Добавлена возможность использования системного вызова kexec() на системах с EFI BIOS.
  •  Значительно переработано внутреннее устройство виртуальной файловой системы sysfs. В итоге, представлена новая подсистема "kernfs", которая может выступать в качестве основы для других ФС, похожих на sysfs.
  •  Реализована инфраструктура компонентных подсистем ("componentized subsystems"), предназначенная для управления сложными устройствами, состоящих из нескольких взаимодействующих друг с другом более простых устройств.
  •  Добавлен новый планировщик пакетов PIE (Proportional Integral controller Enhanced), созданный в рамках инициативы по борьбе с негативным влиянием промежуточной буферизации пакетов (Bufferbloat) сетевым оборудованием.
  •  Добавлена новая дисциплина организации работы очередей пакетов "heavy-hitter filter" (HHF qdisc), пытающаяся отделять мелкие потоки от больших и помещать большие потоки в отдельную очередь с пониженным приоритетом. Использование HHF позволяет снизить влияние интенсивных передач на критичные к задержкам виды трафика.
  •  Улучшена реализация стека Bluetooth Low Energy
  •  Для файловой системы Btrfs расширен объём информации, предоставляемой через sysfs, в том числе теперь можно получить данные о доступных возможностях и использовании дискового пространства
  •  Обеспечена возможность сборки ядра с включением улучшенного режима защиты от переполнения стека "-fstack-protector-strong", который появится в GCC 4.9.
  •  В гипервизор Xen добавлена поддержка режима PVH для гостевых систем, который комбинирует элементы режимов паравиртуализации (PV) и полной виртуализации (HVM).
  •  Поддержка переключения видеорежимов в пространстве пользователя (UMS) для видедрайвера Intel i915 объявлена устаревшей и будет удаления из работающих на уровне ядра компонентов драйвера через год.

>>> Подробнее

Nosferatu (*) (2014-03-31 09:52:58)

[1 сообщение] [Добавить комментарий]


Linux 3.13

subsection
Скрыть

После двух с половиной месяцев разработки Линус Торвальдс выпустил ядро Linux 3.13. Среди наиболее заметных улучшений ядра 3.13: интеграция пакетного фильтра Nftables, включение по умолчанию режима TCP Fast Open, увеличение производительности Squashfs, поддержка протокола HSR для создания отказоустойчивых сетевых конфигураций, добавление нового высокопроизводительного слоя блочных устройств, поддержка автоматического переключения между GPU в драйвере Radeon, фреймворк для ограничения энергопотребления устройств, классификатор трафика на основе BPF, реализация средств для проведения защищённых финансовых транзакций по NFC, поддержка архитектуры Intel MIC.

В новую версию принято 12 тысяч исправлений от 1339 разработчиков, размер патча - 32 Мб (изменения затронули 9849 файлов, добавлено 441972 строк кода, удалено -237897 строк). Около 44% всех представленных в 3.13 изменений связаны с драйверами устройств, примерно 21% изменений имеют отношение к обновлению кода специфичного для аппаратных архитектур, 14% связано с сетевым стеком, 4% - файловыми системами и 5% c внутренними подсистемами ядра. 11.9% изменений внесено сотрудниками компании Intel, 9.7% - Linaro, 9% - Red Hat, 5% - Samsung, 3.5% - IBM, 2.7% - SUSE, 1.7% - Google, 1.5% - NVIDIA, 1.1% - Oracle, 1.0% - Huawei, 0.9% - ARM.

Сетевая подсистема:

  •  Интеграция пакетного фильтра Nftables, развиваемого для замены iptables, ip6table, arptables и ebtables. Добавленный в ядро 3.13 код предусматривает сосуществование старой и новой подсистем, так как Nftables ещё требует доработки и тестирования. Nftables основывается на идеях, близких к реализации BPF (Berkeley Packet Filters) - правила фильтрации компилируются в пространстве пользователя в байткод и передаются в ядро через API Netlink, после чего для принятия решения по дальнейшим действиям с пакетом выполняются с использованием конечного автомата (pseudo-state machine)
  •  Интегрирован легковесный классификатор трафика, выступающий в качестве гибко настраиваемой альтернативы ematch-классификатору. Особенностью нового классификатора является использование виртуальной машины BPF (Berkley Packet Filter) для выполнения программы классификации трафика, загружаемой в ядро в форме байткода, который в том числе может компилироваться в машинные инструкции при помощи BPF JIT-компилятора.
  •  Включена по умолчанию поддержка режима быстрого открытия TCP-соединений (TFO - TCP Fast Open), который позволяет сократить число шагов установки соединения за счёт комбинирования в один запрос первого и второго шагов классического 3-этапного процесса согласования соединения, и давая возможность отправки данных на начальном этапе установки соединения.
  •  В ipset добавлена поддержка сетевых пространств имён (network namespaces), возможность использования комментариев в записях, реализация модулей "hash:net,net" и "hash:net,port,net" для указания двух подсетей в одной записи.
  •  Поддержка протокола HSR (High-availability Seamless Redundancy) для создания высокодоступных резервных Ethernet-каналов, обеспечивающих сохранение работоспособности сети при выходе из строя одного из каналов без задержки на восстановление.
  •  Для сетевых сокетов представлена поддержка опции SO_MAX_PACING_RATE, позволяющей приложению выставить значение максимальной интенсивности обработки пакетов на транспортном уровне. Лимит задаётся в байтах в секунду. Опция эффективно работает только с планировщиком пакетов Fair Queue.
  •  В стек IPv4 для сокетов добавлена поддержка режима IP_PMTUDISC_INTERFACE, позволяющего игнорировать механизм Path MTU discovery, не принимать и устанавливать новую информацию Path MTU, а всегда использовать параметры MTU сетевого интерфейса для отправляемых пакетов. Данная опция может оказаться полезной для блокирования атак на DNS-серверы, манипулирующих PMTU.
  •  В интерфейсы виртуальных туннелей IPsec (vti) добавлена поддержка IPv6.
  •  Добавлена возможность использования непривилегированными пользователями некоторых вызовов sysctl (например, /proc/sys/net/ipv4/ip_local_ports_range или /proc/sys/net/ipv4/icmp_echo_ignore_all) для изолированных сетевых пространств имён (network namespaces).


Дисковая подсистема, ввод/вывод и файловые системы:
  •  Для эффективного использования возможностей современных SSD-накопителей в ядро включен новый блочный слой (Linux block layer), рассчитанный на организацию многопоточного доступа к данным на многоядерных системах. Архитектура нового блочного слоя основана на двухуровневой модели очередей: На первом уровне функционируют очереди для передачи запросов ввода/вывода, привязанные к каждому CPU. Из данных очередей запросы направляются в очереди второго уровня, которые в свою очередь координируют обращение к оборудованию.

    Тестирование показало высокую эффективность нового блочного слоя, который смог обеспечить производительность в многие миллионы операций ввода/вывода в секунду, т.е. показал способность справиться с пропускной способностью современных устройств NVM-Express и PCI-E на многоядерных системах, сохранив при этом типовой интерфейс и привычные возможности слоя для работы с блочными устройствами. Старый блочный слой обеспечивал производительность порядка 800 тысяч операций в секунду, не масштабируясь от числа CPU, чего было достаточно для накопителей на гибких магнитных дисках, но уже не хватает для SSD-накопителей, производительность которых перешагнула рубеж к 1 млн операций в секунду.
  •  Существенно ускорена работа специализированной файловой системы SquashFS, обычно используемой в качестве ФС для установочных образов, Live-систем и прошивок. В частности, реализована возможность непосредственной распаковки в кэш страниц (page cache), что позволяет избежать лишних операций копирования и уйти от эксклюзивной блокировки буфера, Также добавлена поддержка многопоточной распаковки сжатых данных и параллельного ввода/вывода
  •  В системе Bcache, которая позволяет организовать кэширование доступа к медленным жестким дискам на быстрых SSD-накопителях, добавлена поддержка инкрементального сборщика мусора, позволяющего свести к минимуму задержки при выполнении операций чистки кэша от устаревших элементов и повысить эффективность расходования места в кэше.
  •  В модуле dm-cache, предназначенном для ускорения доступа к жестким дискам через применение кэширования на SSD-накопителях, добавлен режим сквозного проброса (passthrough), применяемого кода неизвестно насколько содержимое кэша согласовано с содержимым базового устройства. В данном режиме все операции чтения выполняются с базового накопителя, минуя кэш, а операции записи перенаправляются на базовое устройство с использованием кэширования.
  •  В няшной файловой системе Btrfs добавлена поддержка опций монтирования commit (задаёт интервал периодических коммитов, по умолчанию 30) и rescan_uuid_tree (инициирует процесс проверки и перестроения дерева UUID). Добавлен флаг FIEMAP_EXTENT_SHARED, позволяющий организовать совместное использование экстентов разными inode.
  •  Для файловых систем SMB2/SMB3 добавлена поддержка клонирования файлов при копировании на стороне сервера (по аналогии с "cp --reflink"), возможность определения настроек сжатия для отдельных файлов (через "chattr +c filename"). Добавлена опция CONFIG_CIFS_STATS2 для сбора информации о сетевых адаптерах, что удобно использовать для отладочных целей.
  •  Для F2FS представлена настройка CONFIG_F2FS_CHECK_FS, позволяющая отключить механизм проверки согласованности ФС на лету, сказывающийся на производительности.


Виртуализация и безопасность:
  •  Поддержка API Secure Element для организации выполнения защищённых операций с использованием протокола NFC.
  •  Внесена серия улучшений в генератор псевдослучайных чисел: увеличена производительность, повышено качество энтропии, улучшена работа на платформах, отличных от х86. Генератор 32-разрядых случайных чисел prandom32*() переведён с алгоритма taus88 на taus113, обеспечивающий периодичность 2^113.
  •  Добавлено устройство KVM-VFIO, позволяющее огранизовать взаимодействие гипервизора KVM c построенными с использованием механизма VFIO драйверами устройств, работающих в пространстве пользователя. В KVM обеспечена поддержка работы на системах с процессором ARM Cortex-A7;
  •  Улучшения в SELinux: Обеспечена возможность установки контекста безопасности для rootfs (ramfs) в привязке к inode, что например может быть использовано для привязки метки к файлу, когда ФС не предоставляет обработчик xattr.Добавлен признак always_check_network, при включении которого поведение проверки пакетов и пиров производится всегда, как при активном SECMARK и включенных метках для пиров, даже если SECMARK-правила не определены для netfilter и отсутствует конфигурация на основе Netlabel или меток в IPSEC. Проведены оптимизации, позволившие снизить накладные расходы при использовании SELinux (по тесту AIM7 выигрыш для систем с 1100-2000 пользователями составляет 2.6%).


Память и системные сервисы:
  •  Добавлен Power Capping Framework, предоставляющий унифицированный интерфейс для управления настройками ограничения энергопотребления устройств из пространства пользователя.
  •  Для систем на базе архитектуры NUMA задействован набор политик, позволяющих планировщику задач более эффективно организовывать выполнение процессов на подобных системах. Реализованные политики нацелены на размещение процессов и связанной с ними памяти в рамках одного NUMA-узла, а также на обработку таких ситуаций, как совместное использование страниц памяти несколькими процессами.
  •  Проведена работа по увеличению масштабируемости при организации доступа к таблицам страниц памяти в условиях, когда выполняются операции со страницами памяти большого размера (hugepage). В частности, при использовании hugepages вместо монолитного блокирования частей таблиц страниц памяти теперь используются более гранулированные блокировки, позволяющие увеличить масштабируемость при применении многопоточности.
  •  Увеличена производительность и эффективность распределения памяти в механизме slab. Изменения коснулись методов управления свободными объектами в кэшах kmem_caches, в которых хранятся объекты, размером 128 байт и меньше. В итоге, число попаданий в кэш увеличилось на 5%, что привело к увеличению производительности slab на 3.1%.
  •  Увеличена масштабируемость epoll на системах с большим числом CPU за счёт переработки организации блокировок. Тестирование на системе с 16 CPU показало увеличение производительности с 35k jOPS до 125k jOPS в тесте SPECjbb.
  •  Реализация NFC digital layer. Большинство NFC-чипсетов реализуют данный слой на уровне прошивки, но встречаются и такие в которых поддерживается только аналоговый слой NFC. Добавлена поддержка технологий NFC-A (106 kbits/s), NFC-F (212 kbits/s и 424 kbits/s), NFC-DEP initiator/target и цифрового стека протоколов (Digital Protocol stack).
  •  Bluetooth-стеке реализована возможность создания виртуальных AMP-контроллеров, поддержка установки режима DUT (Device Under Test), добавлена команда mgmt_set_bredr для включения и отключения функций BR/EDR, добавлена команда для установки статического адреса для контроллеров, поддерживающих режимы BR/EDR и LE, добавлена поддержка нового HCI-сокета для управления определённым HCI-устройством из пользовательского приложения.
  •  Добавлен новый фреймворк Generic PHY Framework для разработки драйверов для подключаемых устройств, в том числе внешних сетевых адаптеров, SATA и USB устройств.
  •  Добавлена утилита, которую можно использовать для мониторинга за работой подсистемы температурного контроля.


>>> Подробнее

Nosferatu (*) (2014-01-20 07:42:10)

[0 сообщений] [Добавить комментарий]


В версии ядра 3.12 ожидается ряд улучшений производительности

subsection
Скрыть

Как показывают графики новостного сайта Phoronix, в версии 3.12 наблюдается ряд улучшений производительности.

система доступа к накопителям: тест FS-Mark 3.3 (1000 файлов по 1MB), показатель улучшился с 23.30 до 31.97 файлов в секунду. Compile Bench 0.6, отмечено увеличение пропускной способности с 60.12 до 70.84 MB/s. PostMark 1.51 наблюдается изменение с 4011 до 4807 в пользу новой версии ядра.

графические (Open Source) драйверы, AMD, улучшения касаются только внешних карт, результаты для HD 4870: OpenArena 0.8.5 (1680x1050) улучшение с 193.67 до 362,83 FPS. OpenArena 0.8.8 (1680x1050) улучшение с 89.40 до 102,27 FPS. Reaction Quake 1.0 beta (1680x1050) - с 171.38 до 258,17 FPS. Unvanquished Alpha 17 (1680x1050) - с 31.56 до 41.20 FPS. При тестировании Warsow 1.0 улучшений не выявлено.

Nouveau (Open Source) драйвер для NVidia, контроллер GTX 680: OpenArena 0.8.8 (1680x1050) улучшение с 108.47 до 151.27 FPS. На других тестах замечены небольшие, но также положительные изменения производительности.

Сравнения были произведены относительно ядра версии 3.11.

ссылки
http://www.phoronix.com/scan.php?page=news_item&px=MTQ5MzI
http://www.phoronix.com/scan.php?page=article&item=amd_linux312_preview&num=1
http://www.phoronix.com/scan.php?page=article&item=linux_312_nv&num=1

>>> Подробнее

anonymous (*) (2013-10-26 19:52:32)

[12 сообщений] [Добавить комментарий]


Вышел Linux 3.7

subsection
Скрыть

Через десять недель после выхода прошлой версии ядра Linux 3.6 состоялся выпуск Linux 3.7. По традиции, его представил Линус Торвальдс в списке рассылке для разработчиков. Он отметил, что последняя версия ядра вышла с небольшой задержкой, после дополнительного незапланированного релиз-кандидата. Причина в том, что пришлось откатывать изменения kswapd, которые вызвали проблемы.

  •  Авторы независимых обзоров Linux 3.7 отмечают, что в этой версии реализовано больше нововведений, чем в предыдущих. Некоторые из этих изменений затрагивают не только разработчиков и системных администраторов, но и обычных пользователей.
  •  В сетевом стеке реализована спорная функция трансляции сетевых адресов (NAT) для протокола IPv6. Эта функция вызвала некоторую дискуссию, потому что адресное пространство IPv6 достаточно велико, чтобы обойтись без NAT. Тем не менее, разработчики решили всё-таки добавить её в ядро, потому что обнаружились некоторые примеры использования, когда NAT всё-таки полезен даже в IPv6. Например, некоторые организации хотели бы прятаться за NAT, чтобы скрыть топологию своей сети.
  •  Кроме того, в сетевой подсистеме серверной части реализована поддержка экспериментального расширения TCP Fast Open (TFO) от компании Google, ранее поддержка этого расширения для более быстрой установки HTTP-соединений была добавлена в клиентскую часть. TFO объединяет в один шаг первые два этапа из трёхступенчатой процедуры TCP-рукопожатия.
  •  В файловой подсистеме нужно отметить дополнительные оптимизации в Btrfs с целью ускорения процедуры синхронизации Fsync (File Sync). Конкретно, новые оптимизации должны повысить производительность виртуальных машин, если образы VM находятся на файловой системе Btrfs и присутствуют частые запросы Fsync.
  •  В файловой системе Ext4 устранён баг c делением на ноль при изменении размера разделов от 14 до 18 терабайт.
  •   Файловая система CIFS (Common Internet File System) для работы с Windows-машинами теперь поддерживает SMB (Server Message Block) 2.0 и SMB 2.1 из Windows 7.
  •  Обычным пользователям особенно приятно узнать об улучшении графических драйверов Intel и Nvidia. Например, благодаря улучшениям в драйвере i915 теперь удобнее изменять разрешения экрана, получать информацию о частоте GPU и устанавливать различные лимиты: например, ограничение на максимальное энергопотребление. В open source драйвере Nvidia полностью переделана архитектура для ясности и простоты, так что теперь будет гораздо легче добавлять новые функции, такие как Scalable Link Interface (SLI). В драйвере Radeon реализована поддержка разнообразных конфигураций из нескольких мониторов, уменьшено энергопотребление в отдельных конфигурациях и появилась коммуникация с системной прошивкой через ACPI.
  •  Среди прочих драйверов можно выделить реализацию привязки iPhone 5 в драйвере ipheth, так что теперь Linux-компьютер может выходить в интернет в том числе через это устройство. Из других улучшений — программные интерфейсы для мэппинга звуковых каналов с целью реализации сложных звуковых конфигураций, как surround-звук.
  •  Самые важные изменения в архитектуре — поддержка 64-битных процессоров ARM и слияние кода для 32-битных процессоров ARM, так что теперь можно собирать образы, способные работать одновременно на разных ARM-платформах, как в случае x86. В новой версии ядра добавлены Highbank, Mvebu, Picoxcell, Socfpga и Vexpress.
  •  В области безопасности в Linux добавлена поддержка функции SMAP (supervisor mode access prevention), которая появится в процессорах Intel в первой половине 2013 года. Эта функция защищает память программ от изменений со стороны ядра, так что злоумышленникам будет сложнее использовать уязвимости ядра для доступа к программам с рутовыми привилегиями, что обычно используется для дальнейшего повышения привилегий в системе.
  •  В новую версию принято 10 409 исправлений от более 1200 разработчиков, размер патча 95 МБ, то есть вдвое больше обычного. Изменения затронули 15 886 файлов, добавлено 1 570 793 строк кода, удалено 1 246 965 строк.

>>> Подробнее

iluhaof (*) (2012-12-11 22:33:31)

[7 сообщений] [Добавить комментарий]


Ядру Linux исполнился 21 год

subsection
Скрыть

Ядро Linux отметило свой 21 день рождения. 25 августа 1991 года, после 5 месяцев разработки, 21-летний студент Линус Торвальдс объявил в телеконференции comp.os.minix о создании рабочего прототипа новой операционной системы Linux для которой было отмечено завершение портировния bash 1.08 и gcc 1.40. Первый публичный выпуск ядра Linux был представлен 17 сентября. Ядро 0.0.1 имело размер 62 Кб в сжатом виде и содержало около 10 тыс. строк кода. Современное ядро Linux насчитывает более 15 млн строк кода. По данным исследования, проведенного по заказу Евросоюза, приблизительная стоимость разработки с нуля проекта аналогичного современному ядру Linux составила бы более миллиарда долларов.

Ядро Linux было создано под впечатлением от операционной системы MINIX, которая не устраивала Линуса своей ограниченной лицензией. Впоследствии, когда Linux стал известным проектом, недоброжелатели пытались обвинить Линуса в прямом копировании кода некоторых подсистем MINIX. Нападение отразил Эндрю Таненбаум, автор MINIX, который поручил одному из студентов провести детальное сравнение кода Minix и первых публичных версий Linux. Результаты исследования показали наличие только 4 несущественных совпадений блоков кода, обусловленных требованиями POSIX и ANSI C.

Первоначально Линус задумал назвать ядро Freax, от слов "free", "freak" и X (Unix). Но имя Linux ядро получило с легкой руки Ари Лемке (Ari Lemmke), который по просьбе Линуса разместил ядро на своем FTP-сервере, назвав директорию с архивом не "freax" как просил Торвальдс, а "linux". Примечательно, что предприимчивый делец Вильям Делло Крок (William Della Croce) сумел зарегистрировать торговую марку Linux и хотел со временем собирать отчисления, но позднее передумал и передал все права на торговую марку Линусу. Официальный талисман Linux ядра, пингвин Tux, был выбран в результате соревнования, состоявшегося в 1996 году. Имя Tux расшифровывается как Torvalds UniX.

Ниже представлена статистика с отражением динамики роста кодовой базы ядра:

  •   0.0.1 - сентябрь 1991, 10 тыс. строк кода;

  •   1.0.0 - март 1994, 176 тыс. строк кода;

  •   1.2.0 - март 1995, 311 тыс. строк кода;

  •   2.0.0 - июнь 1996, 778 тыс. строк кода;

  •   2.2.0 - январь 1999, 1.8 млн. строк кода;

  •   2.4.0 - январь 2001, 3.4 млн. строк кода;

  •   2.6.0 - декабрь 2003, 5.9 млн. строк кода;

  •   2.6.28 - декабрь 2008, 10.2 млн. строк кода;

  •   2.6.35 - август 2010, 13.4 млн. строк кода;

  •   3.0 - август 2011, 14.6 млн. строк кода.

  •   3.5 - июль 2012, 15.5 млн. строк кода.

>>> Подробнее

Tux-oid (*) (2012-08-27 10:08:29)

[2 сообщения] [Добавить комментарий]


Проект гибридного x86_64 Linux ABI с 32-битной адресацией памяти X32

subsection
Скрыть

Ганс Питер Анвин (Hans Peter Anvin), один из ключевых разработчиков Linux-ядра в компании Intel и создатель таких проектов как syslinux, klibc и LANANA, опубликовал в списке рассылки разработчиков ядра Linux серию патчей, реализованных в рамках проекта X32, нацеленного на создание гибридного x86_64 ABI с 32-х битной адресацией памяти.

X32 представляет собой прослойку поверх стандартного x86_64 ABI ядра, эмулирующую на 64-разрядных системах 32-х битную модель адресации памяти. Как следствие, приложения могут использовать все преимущества архитектуры x86_64, такие как дополнительные регистры, более быстрые инструкции, PIC ABI, но в то же время смогут работать с 32-х битными указателями памяти, что положительно скажется на потреблении памяти, кэша и общей скорости исполнения кода.

Замеры производительности, сделанные разработчиками, показали, что внедрение нового ABI в некоторых случаях позволяет добиться прироста скорости исполнения кода до 32% в сравнении с классическим x86_64 ABI, хотя не исключены ситуации, в которых наблюдается небольшое падение производительности на 0.5-6%. Также ограничением служат запросы приложения к размеру используемой оперативной памяти, которые теперь ограничиваются 4 Гб.

Для реализации X32 ABI разработчикам потребовалось добавить около 1000 строк кода в ядро Linux, а также интегрировать поддержку новой "архитектуры" в пакеты binutils, libc и GCC. Патчи, а также инструкции по сборке и установки можно получить на официальной странице проекта.

P.S.
Понравился комментарий на опеннете:

Это не просто костыль, а как-то особо в космических масштабах с отягчающими обстоятельствами костыль.

>>> Подробнее

Bod (*) (2012-02-20 22:06:32)

[1 сообщение] [Добавить комментарий]


1 2 3 4   




(c) 2010-2020 LOR-NG Developers Group
Powered by TimeMachine

Valid HTML 4.01 Transitional Правильный CSS!