The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Выпуск системной библиотеки Glibc 2.26"
Отправлено Ordu, 04-Авг-17 21:37 
> При этом какая-нибудь libpthread - по сей день отдельная сущность, хотя вот зачем ей быть отдельной - совершенно неясно (использование name resolving - это вопрос области применения программы, она предсказуема, использование позикс-тредов - исключительно вопрос дизайна, ты никогда не будешь уверен, что очередная программа их не использует или в следующей версии вдруг не начнет)

libc имеет несколько реализаций posix-threads. На линуксе стандартом используется NPTL, но есть и более кроссплатформенная реализация, которая позволяет glibc существовать и на системах где нет ядра linux. Вероятно при этом, включение posix-threads в configure влияет не только на то, что создаётся ещё один бинарь -- libpthreads.so, -- но и на другие части, делая тот или иной код совместимым с libpthreads (впрочем это лишь предположение, я не могу указать ни одного куска такого кода).

А вот код резолвера нет смысла держать в нескольких вариантах. При этом приложение может просто игнорить этот код: он совершенно определённо ни на что не влияет. Пока ни одно приложение его не использует, этот код лежит на диске внутри файлика libc.so, никак не влияя на работу приложения или других частей libc. Я практически уверен в том, что ядро даже не читает в память ненужные куски бинарей -- я сомневаюсь слегка, потому что читал ядро и ldd, выясняя как это работает, лет десять назад, и у меня могло в голове всё перепутаться с тех пор. Но насколько я помню, там просто выполняется mmap на файл, но физическая память не выделяется -- затем уже, по мере того как вылетают исключения связанные с обращениями к несуществующим страницам, маппинг реализует себя и копирует страницы с жёсткого диска в память. Так вот, если ни одно приложение не использует gethostbyname и прочие функции резолвера, весь этот код мирно лежит на диске и никому не мешает. Это, тем не менее, может быть существенно для каких-нибудь embedded устройств с сильно ограниченной в размере флешкой вместо нескольких терабайт жёстких дисков и SSD, но glibc был создан не для этих устройств.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру