После двух месяцев разработки Линус Торвальдс представил (https://lkml.org/lkml/2016/10/2/102) релиз ядра Linux 4.8 (https://kernel.org/). Среди наиболее заметных изменений: поддержка плагинов GCC в системе сборки, возможность запуска в контейнерах кода для других архитектур, интеграция механизма защиты PAX_USERCOPY, поддержка алгоритма контроля перегрузки TCP "New Vegas", увеличение производительности беспроводного стека, новый генератор псевдослучайных чисел.
В новую версию принято более 13 тысяч исправлений от примерно 1500 разработчиков,
размер патча - 41 Мб (изменения затронули 11303 файлов, добавлено 627751 строк кода, удалено 278958 строк). Около 39% всех представленных в 4.8
изменений связаны с драйверами устройств, примерно 21% изменений имеют
отношение к обновлению кода специфичного для аппаратных архитектур, 12%
связано с сетевым стеком, 5% - файловыми системами и 4% c внутренними
подсистемами ядра.
Основные новшества (http://kernelnewbies.org/Linux_4.8):
-
Дисковая подсистема, ввод/вывод и файловые системы- В dm-raid (https://www.kernel.org/doc/Documentation/device-mapper/dm-ra... добавлена поддержка добавления дополнительных накопителей в RAID-массив (reshaping) и изменения уровня RAID;
- Возможность экспортирования по сети устройств хранения с интерфейсом NVM Express, используя протоколы, подобные RDMA;
- В подсистему device-mapper добавлена поддержка применения механизма DAX для прямого доступа к низкоуровневым устройствам постоянной памяти;
- В распределённую файловую систему OrangeFS (https://www.opennet.dev/opennews/art.shtml?num=44113) (продолжение развития PVFS) добавлена возможность задействования кэша на базе dcache и кэша атрибутов на стороне ядра, что заметно ускоряет выполнение операций с мелкими файлами. Например, сборка coreutils без кэшиования занимает 17 минут, а с кэшем - 6 минут 20 секунд;- В ФС Ceph добавлена полная поддержка пространств имён RADOS (http://tracker.ceph.com/projects/ceph/wiki/Rados_namespaces)... Autonomic Distributed Object Store).
- Поддержка технологии "transparent huge pages" в tmpfs, позволяющая оперировать страницами памяти большого размера;- В файловую систему XFS добавлена поддержка механизма обратного маппинга (rmap, reverse-mapping), позволяющего файловой системе определить владельца любого блока на устройстве хранения. В настоящее время практическая польза от reverse-mapping не видна, но в будущем данный механизм послужит основой для реализации таких возможностей, как reflink(), режим copy-on-write для данных, дедупликация, расширенные средстава информирования о bad-блоках и дополнительные возможности для восстановления повреждений;
-
Сетевая подсистема- В TCP-стек добавлена поддержка алгоритма контроля перегрузки "New Vegas (https://docs.google.com/document/d/1o-53jbO_xH-m9g2YCgjaf5bK... который является модернизированным вариантом алгоритма Vegas и также оперирует задержками в доставке пакетов вместо потери пакетов. Новый алгоритм оптимизирован для использования в крупных высокоскоростных сетях и ЦОД с каналами связи в 10 гигабит и выше;
- В подсистеме mac80211 ("WiFi") вместо предоставляемых сетевым стеком дисциплин обработки очередей ожидающих отправки пакетов задействован алгоритм CoDel (Сontrolled Delay - управляемая задержка), который позволил существенно поднять производительность работы в беспроводных сетях;
- Протокол RDS (Reliable Datagram Sockets), позволяющий создавать сокеты для надёжной передачи датаграмм поверх TCP-линков, расширен возможностью передачи сразу через несколько соединений TCP, что позволило (https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.... добиться существенного увеличения максимальной производительности;
- Сетевым драйверам предоставлена возможность загрузки BPF-программ для предварительной обработки входящих пакетов, до их помещения во внутренние структуры данных. Указанную возможность можно применять, например, для отбрасывания, изменения или перенаправления пакетов на ранней стадии их обработки, что позволяет увеличить производительность данных операций за счёт обхода вызова обработчиков ядра;
- Добавлен драйвер с программной реализаций RDMA поверх Ethernet, позволяющий использовать протоколы InfiniBand Remote DMA с обычным сетевым стеком ядра;
-
Память и системные сервисы
- Представлен новый механизм обновления таблиц ACPI из прошивок или через configfs;- Для подсистемы GPIO представлен новый ABI пространства пользователя для управления линиями ввода/вывода общего назначения. ABI основан на применении символьного устройства и заменяет сбой давно устаревший интерфейс на базе sysfs;
- Для архитектуры ARM64 добавлена возможность использования механизма kexec, позволяющего загрузить новый экземпляр ядра из уже работающего ядра Linux;
- Представлен новый параметр командной строки printk.devkmsg, который может быть использован для управления отправкой данных в лог ядра из пространства пользователя через /dev/kmsg. Значение off отключает отправку из пространства пользователя, а числовое значение устанавливает лимит на интенсивность отправки данных;
- Новая внутренняя подсистема обработки таймаутов, появление которой направлено на решение проблем с отзывчивостью (latency);
- Добавлен фреймворк HDMI CEC (Consumer Electronics Control) позволяющий унифицировать управление устройствами, подключенными через HDMI, и управлять ими с одного пульта;
- В систему сборки добавлена возможность (http://lwn.net/Articles/691102/) использования плагинов GCC. Например, уже реализована поддержка плагинов для тестирования покрытия кода (coverage testing) и вычисления цикломатической сложности (https://ru.wikipedia.org/wiki/%D0%A6%D0%...
- Представлена новая система для форматирования документации к ядру, основанная на использовании Sphinx (http://www.sphinx-doc.org/);
-
Виртуализация и безопасность- Усиление (http://lwn.net/Articles/695991/) защиты операций копирования данных между ядром и пространством пользователя. В ядро включён вариант порта технологии PAX_USERCOPY, разработанной проектом grsecurity и добавляющей дополнительные проверки используемых при копировании диапазонов адресов для предотвращения обращения к областям памяти ядра вне границ буфера, выделенного для копирования;
- Поддержка (https://lwn.net/Articles/679308/) контейнеров с эмуляцией архитектуры, позволяющих запускать в изолированном контейнере код, собранный для аппаратных архитектур, отличных от архитектуры хост-системы;
- Генератор псевдослучайных чисел заменён на новую реализацию (https://lwn.net/Articles/686033/), основанную на использовании потокового шифра ChaCha20 и включающую наработку по решению проблем с масштабируемостью в условиях когда программам в пространстве пользователями требуются большие объёмы случайных чисел;- Для архитектуры x86_64 включена поддержка рандомизации адресного пространства ядра. Расширено число типов регионов памяти ядра для которых применяется рандомизация. В SLUB memory allocator добавлена рандомизация списков свободных областей;
- В подсистему crypto добавлен новый механизм согласования ключей (Key-agreement Protocol Primitives API - KPP), который может быть использован для реализации протоколов обмена ключами, таких как DH и ECDH;- Для IPv6 добавлена поддержка стандарта CALIPSO (Common Architecture Label IPv6 Security Option), который может быть использован для прикрепления связанных с безопасностью меток к пакетам, которые затем могут быть связаны с политиками SELinux и Smack;
- В загружаемых модулях ядра обеспечена возможность использования портированного из grsecurity механизма защиты __ro_after_init (post-init read-onl...
URL: https://lkml.org/lkml/2016/10/2/102
Новость: http://www.opennet.dev/opennews/art.shtml?num=45264
Усб починили?
А его ломали?
да, начиная с 4.5 или 4.6
А в чём именно заключается поломка?
Очевидно же, что ломали в его дистрибутиве для его usb-контроллера. Понятное дело, что он, считая себя центром вселенной, решил, что значит оно везде поломато. А Линус то был даже не в курсе.
Тестирования нет, - так и запишем
> ошибка начиная с 4.5 или 4.6
> Тестирования нетТак это и есть тестирование на пользователях.
Я вот на Ubuntu с ядром 4.4 и на смартфоне с ядром 3.10 просто не успеваю на неё напороться.Да и поводу её серьёзности. Запросы типа "linux kernel 4.6/4.5 usb regression" ничего толкового не дают. Такое ощущение, что это у типа очень специфично железное, может ноутбукообразное, когда ещё с ждущим режимом или ещё что.
>> ошибка начиная с 4.5 или 4.6
>> Тестирования нет
> Так это и есть тестирование на пользователях.
> Я вот на Ubuntu с ядром 4.4 и на смартфоне с ядром
> 3.10 просто не успеваю на неё напороться.
> Да и поводу её серьёзности. Запросы типа "linux kernel 4.6/4.5 usb
> regression" ничего толкового не дают. Такое ощущение, что это у типа
> очень специфично железное, может ноутбукообразное, когда ещё с ждущим режимом или
> ещё что.да скорее всего просто в его дистрибутиве мэнтейнеры не включили этот контроллер в конфиге. нормальные люди в таких ситуациях пересобирают ядро. остальные - плачут и ждут новые ядра.
совершенно справедливо, Linux не в курсе на постоянной основе. =)
Думал, что у меня контроллер USB 3.0 глючный. Если воткнуть в USB 3.0 флешки, картридеры, телефоны, которые предназначены для USB 3.0, то какие-то ошибки возникают периодически. Если воткнуть в USB 2.0, то всё нормально.
Однако пришлось загрузиться в Windows 10. С удивлением обнаружил, что контроллер USB 3.0 абсолютно рабочий !!!
Это потому, что Сару Лгбт выжили, теперь код USB 3.0 некому поддерживать :)
Так вот почему USB 3.0 разъем универсален!
USB 3.0 ≠ USB Type C
Мне тоже Сара однажды поломала чтото USB-шное, пришлось жаловаться и биссектить ядро!
И правильно выгнали этот генетический мусор.
> Это потому, что Сару Лгбт выжили, теперь код USB 3.0 некому поддерживать :)Ты так говоришь как будто при Саре багв не было. Тогда как регрессий в usb3 там было более чем. И коммиты никуда не делись. Как и Greg K-H который и является майнтайнером.
Кстати Сара вроде бы феминистка, хотя разница номинальная.
Загляни в багтрекер.
Не придирайтесь!
Почему нет упоминаний о жирной пачке оптимизаций и фиксов в Btrfs?
Видимо потому что они проявляются только когда кончилось место на диске, так как имеют отношение только к обработчику ошибок enospc
Ибо патч затрагивает только одну из грандиозного пиршества ошибок Btrfs.
> Ибо патч затрагивает только одну из грандиозного пиршества ошибок Btrfs.В данный момент пиршество там не больше чем в любой другой фс. Был всплеск фиксов когда фэйсбук заделоил в продакшн. После чего все и пришло в вид как с остальными ФС. Это было где-то в пределах 4.0-4.2, так что убунта LTS например уже вполне съедобна с btrfs-ом "из коробки". Единственное что там реально требует внимания - RAID 5/6.
>>Добавлен драйвер intel-vbtn (Intel Virtual Button), который, например, необходим для работы кнопки включения питания на ноутбуке Dell XPS 13Хренасе, ужа даже для кнопок питания дрова нужны :)
следующий этап - дрова для розетки
> следующий этап - дрова для розеткиТы usb видел? Часть устройств даже заряжаться не станет если не удалось с хостом зарядный ток согласовать. А в usb3 PowerDelivery... там забагованый драйвер может и гаджет пожечь пожалуй. Потому что вместо стандартных 5V можно и больше подавать, если гаджет согласен. Представляю себе сколько гаджетов умрет при отладке драйвера розетки.
Как тогда Линусу пользоваться своим же ноутбуком?
https://plus.google.com/+LinusTorvalds
> Хренасе, ужа даже для кнопок питания дрова нужны :)А было время, когда компы включались замыканием двух пинов на матери. :)
Помнится, когда был совсем ещё мальчишкой, захотели меня в наказание компа лишить. Так я раздербанил системник, прибил мать сзади к столу и лазил туда отвёрткой включать. :)
Глупость, конечно, зато есть, что вспомнить. :)
А было время, когда компы включались кнопкой-рубильником, которая проводом была напрямую подключена к БП. И да, тогда надо было ждать надпись что питание компа можно безопасно вырубать.
А ещё раньше - реальным рубильником на бочине, и никаких надписей, что система-де тебе позволяет её выключить, ждать не надо было.
Помню свой первый Sun IPC с плоским монитором в 90-м, стоил более $20тыс., следующий был SGI Challenge за $100тыс.и никакой винды - а ты радуйся свoй дешовке HP на пентиуме, да еще с отстоем 95-тым :))))))))))))))))))))
> А было время, когда компы включались замыканием двух пинов на матери.Пфф, я до сих пор так включаю. Отвёрточкой, плоской.
Попробуйте настроить биос на включение с клавиатуры - гораздо удобнее ;)
> Попробуйте настроить биос на включение с клавиатуры - гораздо удобнее ;)Я пробовал. Работало какое-то время а потом перестало. В чём причина так и не понял, но судя по всему материнская плата отключает питание для всяких usb.
Мда, прогресс, так его ... До сих пор использую клавиатуру с ps/2 - подобных проблем не имею.
> ps/2Дык у меня тоже ps/2, я думаю дело в материнке, потому что на другой было всё нормально.
> Мда, прогресс, так его ... До сих пор использую клавиатуру с ps/2
> - подобных проблем не имею.А у меня наоборот - пара компов с юсб клавой включается. Комп с PS2 - ноль реакции.
> Попробуйте настроить биос на включение с клавиатуры - гораздо удобнее ;)Натурные эксперименты показали что вероятность работы этой фичи примерно 50%. На половине компьютеров работет, на половине почему-то ноль реакции. Чудны баги мутных проприетарных системных фирмварей и прочих биосовских уефанств.
>> Попробуйте настроить биос на включение с клавиатуры - гораздо удобнее ;)
> Натурные эксперименты показали что вероятность работы этой фичи примерно 50%. На половине
> компьютеров работет, на половине почему-то ноль реакции. Чудны баги мутных проприетарных
> системных фирмварей и прочих биосовских уефанств.К чуднЫм забыл ещё железо причислить, проприертарное по умолчанию:/, -- _контроллер_ периферии и его проприертарее некуда прошивку, потом пририсовать к картине чиписет и usb в нём и взаимодействие с ними... для включения с клавиатуры.
> А было время, когда компы включались замыканием двух пинов на матери. :)Оно и сейчас так на ATX платах. И ATX БП включается замыканием 2 контактов даже без мамки. Ноутбучные БП так и вообще всегда выдают напругу.
Всегда были нужны, кто-то же должен преобразовывать всякое неизведанное, приезжающее по GPIO и прочим кучерявым протоколам без встроенной семантики, в записи keymap. Конкретно intel-vbtn, как наглядно показано в 332e08122, работает через ACPI, добавляя notify handler на соответствующие ACPI events.
Радует, что патчи grsecurity принимают.
К сожалению, не принимают, а неумело копипастят "низко висящие фрукты" с ошибками. И занимаются этим в основном люди, которые по мнению самих разработчиков Grsecurity часто не понимают, что делают.
> К сожалению, не принимают, а неумело копипастят "низко висящие фрукты" с ошибками.
> И занимаются этим в основном люди, которые по мнению самих разработчиков
> Grsecurity часто не понимают, что делают.Сами разработчики Grsecurity и есть школьники с высоким ЧСВ
Откуда Вы это взяли?
Радует, что эту хрень принимают, хотя бы добавляя флажки в конфиг. А вот подход "мы будем защищаться от криво написанного кода в ядре дополнительными проверками" не особо радует. Хотя, пожалуй, неизбежен при нынешних его масштабах.
XFS тихой сапой уже про дедуп думает, неожиданно, кто-нибудь видел roadmap xfs'a?
> XFS тихой сапой уже про дедуп думает, неожиданно, кто-нибудь видел roadmap xfs'a?Они тихой сапой хотят его до CoW проапгрейдить. Насколько хорошая идея делать CoW из обычной ФС - покажет время, сама идея - из btrfs. Дедуп лишь следствие расширения метаданных до вида когда на один набор блоков можно ссылаться по нескольку раз. Также будет работать reflink и проч, можно будет быстро вытаскивать девайс из пула и проч. Как в btrfs, плюс-минус особенности реализации.
ура PAE включили в последних сборках ядра под Ubuntu
> ура PAE включили в последних сборках ядра под Ubuntuшо, ещё существует 32-битная убунта?
На убунте ж вроде не было проблемой держать 64-битное ядро и 32-битный юзерланд?
> ура PAE включили в последних сборках ядра под UbuntuЗачем?
https://cl4ssic4l.wordpress.com/2011/05/24/linus-torvalds-ab.../
Нужны бенчи для сравнения с прошлым ядром. На глаз не видно, но некоторая синтетика говорит, что 4.8 меньше всяких попугаев набирае чем 4.7. 5. Вдруг кто-нибудь проверит на своей тачке два ядра.
>новый генератор псевдослучайных чиселПо новым гайдлайнам NSA?
Если мучит паранойя - посмотри код. Не можешь его понять - тебе в любом случае на кого-то полагаться придётся. Торвальдс сотоварищи в этом плане - один из лучших вариантов.
> По новым гайдлайнам NSA?ChaCha20 - творение DJB, а вовсе не.
Объясните нубу. С новым ядром добавляют, улучшают, исправляют файловые системы. Это на стороне ядра только или мне нужно ещё и переформатировать раздел каждый раз?
> Объясните нубу. С новым ядром добавляют, улучшают, исправляют файловые системы. Это на
> стороне ядра только или мне нужно ещё и переформатировать раздел каждый
> раз?Ядро не ломает юзерспейс. Это железная политика Торвальдса. Так что ничего тебе переформатировать не надо, "это на стороне ядра только".
Не ломает, но иногда для получения новых плюшек нужны дополнительные действия. Например, с dir_index так было.
иногда - да.
например чтобы использовать новый формат XFS - надо пересоздать файловую систему с crc=1.
Как правило, не нужно. Иногда (редко) для того, чтобы новые фичи заработали нужны дополнительные действия - от какого-нибудь tune2fs или изменений параметров в fstab до переформатирования.А вообще - когда будет желание лучше почитать про линуксовые ФС и их фичи и составить своё мнение о том, что тебе надо. Оно не так уж сложно на самом деле. Не оставаться же нубом навечно. Только что-то свежее читать надо (статьи с LWN можно,например), а тот тут некоторые до сих пор верят, что XFS файлы после ресета теряет.
Какая у вас ФС на домашнем ПК стоит?
XFS, ext4. Я их даже бенчил в своё время, параметры подбирал, надо повторить как-нибудь... А таки почему вы спгашиваете?
> XFS, ext4. Я их даже бенчил в своё время, параметры подбирал, надо
> повторить как-нибудь... А таки почему вы спгашиваете?создайте на ext4 в каталоге 20млн файлов, потом удалите, повторите цикл 2-3 раза. - Сравните скорость создания файлов в этом каталоге с оригинальной. Удивитесь.
Доктор, когда я делаю ВОТ ТАК! - мне больно! Что делать доктор?!
.... а вы ВОТ ТАК! не делайте:)
Уж не знаю, к чему вы это помянули, но догадываетесь, почему именно оно так? На так я подскажу - потому что эта экзотика на фиг никому не нужна. 20 миллионов файлов? Это что за флоу такой? Плюс на практике вместе с файлами обычно и каталоги прибивают.Лично я о подобные проблемы не бился вообще никогда.
Вот лишь бы языком честь. Ext 4 не сможет держать 20 миллионов файлов . Inode закончатся гораздо быстрее. Знаем, плавали уже.
Зависит от объема раздела. На 1 Тб к примеру по умолчанию выделяется 60 млн инодов.
> Вот лишь бы языком честь. Ext 4 не сможет держать 20 миллионов
> файлов . Inode закончатся гораздо быстрее. Знаем, плавали уже.Нет, не знаете. И документацию не читаете. Иначе бы про -N для mkfs.ext4 бы прочли вместо именно что чесания языком...
> создайте на ext4 в каталоге 20млн файлов, потом удалите, повторите цикл 2-3
> раза. - Сравните скорость создания файлов в этом каталоге с оригинальной.
> Удивитесь.А еще человек редко выживает при падении с 20 этажа. Хотя отдельные уникумы выживали даже выпав из самолета без парашюта. Это не значит что все кто умер от падения с 20 этажа делали что-то не так.
XFS, это та, которая не уменьшается? lol
Пока что (последние лет восемь) увеличивать приходилось вместе со докупкой/сменой винтов, а вот уменьшать как-то и мыслей не было. Данных меньше не становится, скорее уж наоборот.
> а вот уменьшать как-то и мыслей не было. Данных меньше не
> становится, скорее уж наоборот.Однако если есть большой стораж и требования к нему уменьшились, выдернуть несколько дисков на другие нужды может быть неплохой идеей. С btrfs это делается как два байта переслать, а ZFSники и прочие любители XFS рассказывают "этанинужна!!11". Вам тут не фрибсда, обломитесь.
>Поддержка контейнеров с эмуляцией архитектурыЯ так понимаю, это и раньше имело место через qemu, а сейчас в ядро запилили?
>>Поддержка контейнеров с эмуляцией архитектуры
> Я так понимаю, это и раньше имело место через qemu, а сейчас
> в ядро запилили?Да, это для того "трюка" с binfmt и qemu запиливают оборачивание в обёртки конь-тейнь-ерризации (это там, по ссылкам, на LWN-е, пожёвано):
"[...]allowing the container to run using the emulator, but where the emulator itself isn't present within the container."
В Qemu в каждой виртуальной машине своё ядро - виртуализация железа, в контейнерах одно общее ядро на все виртуальные машины. Поэтому в Qemu можно любые ОС, а в контейнерах можно запускать только дистры Linux.
> XFSдобавлена поддержка механизма обратного маппинга (rmap, reverse-mapping), позволяющего файловой системе определить владельца любого блока
ФС для настоящих параноиков, с автоматическим удалением подозрительных данных.
"возможность запуска в контейнерах кода для других ..." и прочие тенденции ...
Эдак скоро реальнее будет воплощения не Зеона из матрице а Линуксона.
Имхуеся мне что даже одно ядро без обёрток будет страшнее СкайНетов и прочего xD
Ну так виртуализация это тренд, датацентры там и всё такое...
Подождите, а до внедрения congestion avoidance в линуксе как медленный старт был реализован-то???
во, "Sony HELENE" это моё :)
Кто нибудь ставил на рач? А то приходится сидеть на 4.4, ибо, начиная с 4.5, появляется баг с мерцанием монитора (в 4.7 все еще не починили)
radeon?
интел
> Поддержка контейнеров с эмуляцией архитектуры, позволяющих запускать в изолированном контейнере код, собранный для аппаратных архитектур, отличных от архитектуры хост-системы. Например, на системах с архитектурой x86_64 теперь можно запустить контейнер с окружением для ARM64.О, круто. Буду запускать x86_64 на AArch64 (Raspberry Pi 3), игрушки под вайном гонять :-) Ну там не знаю, Старкрафт первый
Удачи со старкрафтом. Они там в вайне до сих пор не могут осилить баг когда из-за ddraw все люто начинает тормозить при наведении курсора на юнитов ( и так происходит даже в ред алерте и тибериум сане). Пробовал уже и подменять на внешнюю библиотеку и другие танц с бубном - нифига
> О, круто. Буду запускать x86_64 на AArch64 (Raspberry Pi 3), игрушки под
> вайном гонять :-) Ну там не знаю, Старкрафт первыйМсье знает толк. Только мсье стоит учесть что трансляция систем команд все-таки тормозное дело. А пи и так не то чтобы крутой воркстэйшн, чтобы его трансляцией команд так тормознуть.
> Мсье знает толк. Только мсье стоит учесть что трансляция систем команд все-таки
> тормозное дело.Приводили тесты на ЛОРе, Вин под QEMU шустрее оригинальной!
>> Мсье знает толк. Только мсье стоит учесть что трансляция систем команд все-таки
>> тормозное дело.
> Приводили тесты на ЛОРе, Вин под QEMU шустрее оригинальной!x86 в x86 в qemu не транслируется (если всё хорошо с ... kvm).
win "быстрее" потому что дисковые кеши lin-хоста эффективнее виндовых, когда они сами по себе без костылей на железном железе. Про остальное железо (графику в частности) я б не был так уверен.
Вы совершенно мимо исходного выброса про "x86_64 на AArch64", на ЛОРе всё стабильно? |-)
> Приводили тесты на ЛОРе, Вин под QEMU шустрее оригинальной!Если систему команд не транслировать да еще kvm-ное ускорение включить да с virtio - все как бы шустро, потому что большинство вещей делается на железе без эмуляций и трансляций а виртуализатор вклинивается сильно иногда. Но этот фокус не прокатит если железо совсем другое - тогда не получится выполнить команды на процессоре вместо эмуляции процессора, и так далее.