LINUX.ORG.RU

Проблемы модульности в Linux

 


0

1

Когда то тут активно обсуждался сабж и многие были недовольны монолитным ядром. Сейчас, при зрелом размышлении, я понял что этот дизайн предопределен самой философией RMS.

Суть тут в следующем. Если допустим, индустрия стимулирует закрытые модули и авторское право, то модули будут становиться более гибкими и приспосабливаться к различным нуждам, они станут более универсальными и гибкими. Когда есть возможность сделать форк и приспособить любой код для своих нужд топорно, нет стимула писать гибкие модули это само по себе не способствует модульности. Далее, разбитие кода на модули это занятие требующее дополнительных усилий, поэтому проще всегда прибить сверху, сделать кашу, чем разбивать.

Вот эти 2 причины, которые сводятся к одной - открытый код - предопределяют немодульный дизайн.

PS и проблема тут начинается уже с кадров. Такой подход стимулирует приток таких специалистов, которые не только не хотят, но и не могут делать адекватную архитектуру. Включается недобросовестная конкуренция, они говорят: «смотрите все работает так же, тогда зачем платить больше?». Это примерно те же проблемы которые возникают с суррогатом на рынке. Бренды обесцениваются. Становится невыгодно делать качественный товар, выигрывает цена и реклама



Последнее исправление: no2700 (всего исправлений: 6)

модульность еще и тормозит за счет прокладок в виде стандартизированных интерфейсов :)

pfg ★★★★★
()
Ответ на: комментарий от pfg

Я думаю это рассуждение из разряда колхозного стиля оптимизации

no2700
() автор топика

Проблемы модульности в Linux

В Линуксе:

  7M   /boot/vmlinuz-5.16.0-6-amd64
369M   /lib/modules/5.16.0-6-amd64/

очень даже модульно.

gag ★★★★★
()

Фактически основной мотивацией Товальдса было просто сделать хоть что то рабочее. Он не смог воспроизвести код UNIX, но UNIX стоил дорого. Это по сути то же самое что делают китайцы. Пусть наша дверь пришибет вашего ребенка, автомобиль не гарантирует вам срабатывания тормозов, кондиционер может выделять отравляющие вещества. Но зато это доступно рядовому китайцу и вам еще останется на миску риса

no2700
() автор топика
Ответ на: комментарий от no2700

Так чуть точнее:

364M   /lib/modules/5.16.0-6-amd64/kernel/

Я имел в виду монолитное ядро

Так из 371-го мегабайта почти всё (98%) - это как раз модули, которые можно подгружать и выгружать.

gag ★★★★★
()
Ответ на: комментарий от X512

Когда-то было так:

2.7M   05.12.2013   vmlinuz-3.11-2-amd64

Интересно, как там в BSD.

gag ★★★★★
()
Ответ на: комментарий от no2700

А, так это очередной топик про монолит против микроядра. Заголовок темы может ввести в заблуждение.

gag ★★★★★
()
Ответ на: комментарий от gag

Топик более общий, про то что принципы разработки GNU вообще не способствуют модульнуму подходу

no2700
() автор топика
Ответ на: комментарий от no2700

Запускаю пакетный менеджер, смотрю зависимости - вполне способствуют. А вот проприетарный/корпоративный подход - нет. Гугл импортировал все 3rd-party библиотеки в chromium. Но кое-как всё же в Debian удаётся использовать как можно больше upstream библиотек.

gag ★★★★★
()

А кто нибудь знает почему в Линуксе модули это не обычные shared library, а какие-то хитрые *.o файлы? В Haiku обычные shared library модули ядра.

X512 ★★★★★
()
Ответ на: комментарий от gag

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

Корпоративный подход проиграл недобросовестной конкуренции.

Это не только в IT, это повсюду наблюдается, в том же автомобилестроении. Сейчас уже нет того качества которое было в 80-е-90-е на европейском авторынке.

Корпоративный подход будет работать только при поддержке добросовестной конкуренции, для IT тут критичным является соблюдение авторского права, это стимулирует творчество и разнообразие подходов

no2700
() автор топика
Ответ на: комментарий от gag

Это во многом зависит от политики. Тот подход процветал в условиях «рейгономики», это были большие налоговые льготы для корпораций, различные условия их стимулирования

no2700
() автор топика
Ответ на: комментарий от gag

Ну и собственно все ключевые разработки в IT были реализованны именно тогда. Тот же linux это подобие UNIX, например. Без Bell Labs ничего бы не появилось, даже этого подобия

no2700
() автор топика
Ответ на: комментарий от X512

Здесь можно посмотреть детально на создание модуля:

The following is a transcript of a session with compiling the first project with V=1:
[…]

Вкратце:

gcc ... -c -o hello.o hello.c
gcc ... -c -o hello.mod.o hello.mod.c
ld -r -m elf_x86_64 --build-id=sha1  -T scripts/module.lds -o hello.ko hello.o hello.mod.o
gag ★★★★★
()

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

В теории. На практике все то же самое, только у тебя нету исходников посмотреть как оно работает в деталях, а только куцая документация.

goingUp ★★★★★
()
Ответ на: комментарий от no2700

Корпоративный подход проиграл недобросовестной конкуренции.

Изучай лучше историю, чем постить безграмотный тупак на ЛОРе. Вся история IT — это история вытеснения одних стандартов другими в рамках недобросовестной конкуренции.

IT тут критичным является соблюдение авторского права, это стимулирует творчество и разнообразие подходов

Первое — авторское право соблюдается в IT очень строго, второе — как оно защищает от монополий?

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от gag

Нет, это очередной топик с троллингом тупостью. Этот автор их уже 6 штук наспамил за последние 3 дня.

firkax ★★★★★
()
Ответ на: комментарий от gag

ld -r это для слияния нескольких объектных файлов в один. Объектные файлы предназначены для статической линковки, а не динамической. Линковать их сложнее и медленнее например потому, что там больше типов релокаций. Динамические библиотеки специально предназначены для динамической загрузки, неважно в ядре или пространстве пользователя. В том же Windows модули ядра – это обычные DLL.

X512 ★★★★★
()
Последнее исправление: X512 (всего исправлений: 1)
Ответ на: комментарий от X512

Объектные файлы предназначены для статической линковки, а не динамической. Линковать их сложнее и медленнее например потому, что там больше типов релокаций.

gcc (по крайней мере в Debian) уже давно конфигурируется с --enable-default-pie и компилирует pic объектные файлы по-умолчанию.

В том же Windows модули ядра – это обычные DLL.

А SYS-драйверы?

gag ★★★★★
()
Ответ на: комментарий от gag

А SYS-драйверы?

Тоже DLL. Можете проверить любым инструментом, в том числе objdump.

X512 ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

Оно защищает от низкокачественного произвдства, когда на сцену выходят «копирайтеры» вместо специалистов. Косвенно это защищает от монополий, потому что монополизм - это «социализм», который старается задействовать ширмассы

no2700
() автор топика
Ответ на: комментарий от Vsevolod-linuxoid

Впрочем защищает и напрямую, потому что автор не заинтересован во вливании в монополию, его интерес в автономности

no2700
() автор топика
Ответ на: комментарий от no2700

Windows Me, Vista (да, они были неуспешны, но были). И плохих закрытых продуктов — масса.

А ещё было доминирование x86 над SPARC. Ещё примеры доминирования проприетарного говна за счет маркетинга над хорошим нужны? У меня их просто вагоны, причем не только из IT.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 2)
Ответ на: комментарий от no2700

Ну и бред же ты несешь. Даже очень беглый поиск выдаст сотни случаев скупок мелких компаний и авторов с их правами корпорациями. Да многие стартапы целенаправленно работают по принципу «развить концепт и продаться крупному игроку».

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 2)
Ответ на: комментарий от Vsevolod-linuxoid

windows это уже период деградации

no2700
() автор топика
Ответ на: комментарий от Vsevolod-linuxoid

До того как Столлман&Клинтон&co не протащили DMCA авторское право не подлежало отчуждению

no2700
() автор топика
Ответ на: комментарий от Vsevolod-linuxoid

Там даже идеологический подтекст просматривается: вытесняющая многозадачность, своего рода «монополия» OC на распоряжение процессорным временем Вообще в программировании идеологии гораздо больше чем кажется на первый взгляд. Потому что это своего рода модель реального общества

no2700
() автор топика
Ответ на: комментарий от Vsevolod-linuxoid

Это имплементация ВОИС

Насколько я понимаю, там ключевым является Право на распространение:

представляет собой право разрешать доведение до всеобщего сведения оригинала и копий произведения посредством продажи или иной передачи прав собственности.

Тут нет указания на конкретную форму права: имущественное или нет. Соответственно это трактуется как любое право. Это дает лазейку для передачи неимущественного авторского права

https://levoradikal.ru/wp-content/uploads/2013/06/00576757.jpg

no2700
() автор топика
Ответ на: комментарий от Vsevolod-linuxoid

неважно. Это были юридически-ничтожные с тз закона лицензии. До ВОИС это имело характер тривиального мошенничества

no2700
() автор топика
Ответ на: комментарий от Vsevolod-linuxoid

то что он «не сторонник» это типичное заметание следов. Красные всегда это делают. Они ругают именно то что им выгодно, осуждают своих сообщников и тому подобное. Сейчас «адвокаты сербского терроризма» ругают америку за бомбардировки югославии, забывая что Клинтон и Байден поддерживали Милошевича и иже с ним, они представляют их теперь как жертвы.

no2700
() автор топика
Ответ на: комментарий от no2700

Смешались в кучу кони, люди… ну и адская смесь теорий заговора в твоей голове.

Всё, кончаю спорить. Как написано в самом базовом учебнике психиатрии — бредовые системы не поддаются разубеждению, только медикаментозно.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)
Ответ на: комментарий от Vsevolod-linuxoid

а DRM его вообще не касается никаким боком. Еще не хватало чтобы они запретили любые лицензии кроме свободных. DRM ни к чему никого не обязывает, типичная демагогия. Ему нужна была отмена неотчуждаемости неимущественного авторского права

no2700
() автор топика
Ответ на: комментарий от no2700

Право на передачу авторских прав от человека к организации появилось до того, как RMS родился. А отчуждение права авторства (то есть факта написания, а не права распоряжаться произведением) GPL и не требует.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 2)
Ответ на: комментарий от Vsevolod-linuxoid

многое из того что в плебействе считается заговорами на самом деле является обычными фактами

no2700
() автор топика
Ответ на: комментарий от Vsevolod-linuxoid

Нет. Права на отчуждение неимущественного авторского права не было, поэтому было запрещено копирование

no2700
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.