How To Write Shared Libraries

Здесь будут размещаться ссылки и отзывы на интересные публикации по Linux

Модераторы: Olej, vikos

Правила форума
Запрещается помещать сообщения, не имеющие отношения к обсуждаемой статье. Все такие сообщения будут удаляться непосредствено после обнаружения.
Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

How To Write Shared Libraries

Непрочитанное сообщение Olej » 15 янв 2012, 02:40

Это статья их ещё не опубликованных на сайте и не переведена для публикации...

How To Write Shared Libraries
http://www.akkadia.org/drepper/dsohowto.pdf

Но это совершенно уникальная публикация, как по полноте изложения, так и по свежести, обратите внимание на дату:
Ulrich Drepper
drepper@gmail.com
December 10, 2011
Хорошо зная состояние описаний этого предмета: как делаются и используются разделяемые библиотеки Linux, квалифицированно утверждаю, что:
- в своей массе программисты как раз этот вопрос весьма путано понимают... в обсуждениях приходилось слышать совершенно легендарные вещи ;-)
- такой степени полноты и детальности описания как в этой публикации - ещё не было.

Этот мой пост давайте считать предложением по-быстрому перевести эту крайне нужную статью и разместить на сайте (там всего-то около 40 стр., на 1/4 это примеры листингов).

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: How To Write Shared Libraries

Непрочитанное сообщение Olej » 16 янв 2012, 20:51

1.
Copyright c 2002-2010, 2011 Ulrich Drepper
All rights reserved. No redistribution allowed.
Что имеется в виду?
Что не дозволено это понятно... не дозволено что? обыскался redistribution в таком контексте по разным словарям, но находится только: передел, перераспределение... но это - изменение, модификация ... если идти от "дистрибуция" то редистрибуция это "предоставление под своим именем", изменениями и комментариями?

В любом случае, как мне кажется, перевод никак не попадает под такое ограничение (?).

2. Попробовал преобразовать по-быстренькому текст pdf в rtf ... чтоб прогнать через подстрочник, да и чтобы слова не набивать руками там где "вода". Не тут-то было:
1. Конвертеры коммерческие, типа FineReader + Solid Converter PDF
2. Конвертеры вольные ;-), типа Free PDF to Word Doc Converter - те не орут, но 2-х колоночный PDF преобразовывают в рваный одноколоночный текст безобразного вида... - автор знал что он делал, когда форматировал текст :lol:
(конвертеров можно набраться вот отсюда: http://openprog.ru/rabota-s-tekstom-konvertery/2/)
3. ... а набивать >40 страниц текста с нуля руками? это сильно в облом делать, лучше с оригинала читать ;-)

Ali
Писатель
Сообщения: 57
Зарегистрирован: 08 окт 2011, 08:00
Контактная информация:

Re: How To Write Shared Libraries

Непрочитанное сообщение Ali » 17 янв 2012, 09:22

Код: Выделить всё

[ali@localhost Videos]$ pdftotext dsohowto.pdf 
[ali@localhost Videos]$ head dsohowto.txt 
How To Write Shared Libraries
Ulrich Drepper
drepper@gmail.com

December 10, 2011
Abstract
Today, shared libraries are ubiquitous. Developers use them for multiple reasons and create
them just as they would create application code. This is a problem, though, since on many
platforms some additional techniques must be applied even to generate decent code. Even more
knowledge is needed to generate optimized code. This paper introduces the required rules and

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: How To Write Shared Libraries

Непрочитанное сообщение Olej » 17 янв 2012, 14:20

Ali писал(а):

Код: Выделить всё

[ali@localhost Videos]$ pdftotext dsohowto.pdf 
[ali@localhost Videos]$ head dsohowto.txt 
Ali, спасибо, но Abstract я тоже преобразовал, и не одним трансформером.
Неприятности 2-х колоночные там начинаются дальше.
Но попробую ещё и это, спасибо.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: How To Write Shared Libraries

Непрочитанное сообщение Olej » 17 янв 2012, 14:42

Olej писал(а):Но попробую ещё и это, спасибо.
Он перетасовал между собой абзацы левой-правой колонок :-o :shock: ... но всё равно это пока лучшее из того, что я видел.

Nikolay_Ro
Интересующийся
Сообщения: 3
Зарегистрирован: 19 янв 2012, 22:13
Контактная информация:

Re: How To Write Shared Libraries

Непрочитанное сообщение Nikolay_Ro » 19 янв 2012, 22:22

Уважаемые форумчане! если никто не против, я переводу эту статью.
Николай Ромоданов

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: How To Write Shared Libraries

Непрочитанное сообщение Olej » 20 янв 2012, 05:39

Nikolay_Ro писал(а):Уважаемые форумчане! если никто не против, я переводу эту статью.
Николай Ромоданов
Это было бы замечательно!
Перевод уже начат (при некотором моём участии), он доступен как Google-документ вот здесь:
https://docs.google.com/document/d/1Iun ... 8zrqif45gz
Вы можете либо подключиться и продолжить, либо делать это заново и самостоятельно.
Я бы советовал посмотреть то, что есть, и использовать каким-то образом.
Потому что:
- излагаемый предмет (уровень изложения) очень сложный;
- это даже уже на русском ... читать и спотыкаться :-( , и мало что понимать :shock:
- какие-то вещи и обороты нужно обсуждать во время перевода: что автор хотел сказать?

P.S. и при этой сложности - объём очень приличный: почти 50 стр.
Не зря автор его уже 9 лет пишет :-o

Nikolay_Ro
Интересующийся
Сообщения: 3
Зарегистрирован: 19 янв 2012, 22:13
Контактная информация:

Re: How To Write Shared Libraries

Непрочитанное сообщение Nikolay_Ro » 20 янв 2012, 08:58

Olej!
А как быстро перевод надо сделать? Дело в том, что я сейчас завершаю перевод
James Molloy, "Roll your own toy UNIX-clone OS" - http://www.jamesmolloy.co.uk/tutorial_html/
и на него у меня пойдет еще ориентировочно дней 5. И только после этого возьмусь за To Write Shared Libraries.
А на него, как мне кажется (подробности придется уточнять в дороге), пойдет от 3 недель и больше.
Это если все буду делать один.

Оригинал To Write Shared Libraries я просмотрел вчера, сейчас смотрю ваш перевод.
На текущий момент что-нибудь такого, чтобы мне в перереводе не понравилось, не обнаружил.
По стилю - у меня стиль, конечно другой, но, как вы понимаете, стиль - это уже дело вкуса.
Если будем переводить совместно, то надо будет все приводить к одному стилю.

Что касается сложности:
С точки зрения понимания того, что описывается, сложности не увидел. ... Но! ... Я это все не проверял
собственными руками в своей собственной системе, так что может какие-то
мелочи от меня на данный момент ускользнули. На практике знаю, что такие веши вылезают
уже непосредственно в ходе самого перевода. У меня бывали случаи, когда, вроде бы, и описание понятное,
и в системе все необходимые версии инструментария, а когда собираю самостоятельно, натыкаюсь
на стенку. В общем, всегда нужны бубны ...

И, еще. Быть может, этот перевод нужно будет долать с дополнительными комментариями от переводчиков.
Если эта тема так важна, то что-то нужно будет дополнительно прокоментировать и, возможно, только после самостоятельного
опообывания. А возможности для такого опробывания, увы, у меня не всегда бывает.

Я, конечно, предпочитаю переводы делать от начала и до конца в одиночку, поскольку мне проще сколь угодно жестко корежить
текст (это же мой текст!). Но в данном случае, вы его уже начали рпаботу и я бы не хотел
как либо помешать ее выполнению или составлять какую-либо конкуренцию.

В любом случае, если буду делать самостоятельно, то результат будет в конце февраля или, даже,
в начале марта. Если будем делать вместе, то тогда, скорее всего, результат будет быстрее.
Но тогда было бы хорошо, чтобы вы мне отвели кусочек оригинала, в котором я бы мог
безраздельно хозяйничать.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: How To Write Shared Libraries

Непрочитанное сообщение Olej » 23 янв 2012, 15:24

Nikolay_Ro писал(а): Дело в том, что я сейчас завершаю перевод
James Molloy, "Roll your own toy UNIX-clone OS" - http://www.jamesmolloy.co.uk/tutorial_html/
и на него у меня пойдет еще ориентировочно дней 5.
Достаточно интересная публикация ... хоть тему отдельную для обсуждений заводи :lol:

Только некоторые вещи мне непонятные ... больше в намерениях авторов, чем по существу их работы:

1. Зачем делать "с нуля" ещё одну моноядерную OS, когда есть Linux? ... или ... в каком-то смысле более профессионально сделанный Open Solaris (Solaris 11) который наследует все наилучшие многолетние наработки Sun Solaris 10.
Тот же slab-аллокатор для управления динамической памятью в Linux полностью взят из Solaris...

Я понимаю зачем бодаются разработчики с проектами микроядерных OS: L4. HURD... Мне непонятно зачем делать ещё одну макроядерную OS, какой в этом может быть практический смысл?

2. Удивило такое сочетание ... "смесь бульдога с носорогом" :lol: : компилятор GCC + ассемблер NASM. Зачем?
- если в GCC есть свой ассемблер встроенный...
- который использует синтаксис AT&T, полностью противоположный синтаксису Intel, который в NASM...
- когда GCC допускает просто инлайновые вставки, которые с NASM становятся несовместимые...
- да и просто GCC - поддерживает десятка 2, если не 3 на сегодня, аппаратных платформ: ARM, SPARK, MIPS, ... а NASM - только Intel, скрестить их ... "в любовном экстазе" :lol: - это значит одним махом смахнуть все эти платформы, с GCC даром достающиеся :-?

Nikolay_Ro
Интересующийся
Сообщения: 3
Зарегистрирован: 19 янв 2012, 22:13
Контактная информация:

Re: How To Write Shared Libraries

Непрочитанное сообщение Nikolay_Ro » 24 янв 2012, 15:20

Статья James Molloy, "Roll your own toy UNIX-clone OS" - образовательного характера, т.е. для учебных целей.
Есть статьи, где о подобной теме рассказывается в общем, а в этой - достаточно подробно с тем, чтобы
собрать что-то работоспосбоное, но это, конечно, будет не эксплуатационный вариант.

Именно потому, как мне кажется, такая черезполосица в выбранном интсрументарии - лектор вправе использовать
все то, что он знает лучше, или тот материал, который он самолично попробовал и проверил.

Не знаю, если бы за 10 дней (10 разделов) я бы собрал подобную штуку, то вряд ли использовал как рабочую плоатформу для чего-либо:
- уже в самом описании есть места, где автор не уточняет, почему он выбрал то или иное решение (и у меня есть сомнения в его выборе),
а в некоторых местиах решения исключиительно с точки зрения простоты реализации;
- почти навернаяка потребуется дополнительное тестирование и, возможно, совсем не 10 дней!!!

За это время можно выбрать из имеющихся дистрибутивов что-нибудь уже готовое и пообтесать то,
что лишнеео. Такое второе решение, скорее всего будет более надежным.

А вот в учебном процессе использовать такую статью (или какую нибудь ее инкарнацию) было бы здорово. Можно на практике показать
студентам, как это делается. И им будет понятно, что ОС - это не просто дисочек из магазина за 100 - 200 рублей.

Десять практических занятий - для обучения это очень удобно, в учебном процессе сделать что-то большое в случае,
если среди студентов нет интузиастов, практически невозможно. Для создания чего-нибудь практически полезного (и, желательнор,
не только автору) и изложенного материали и времени будет мало.

Ответить

Вернуться в «Публикации, книги и обсуждения»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 7 гостей