О статической линковке программ
Есть ли сейчас такие дистрибутивы и не пора ли к ней вернуться?
Одна страница
Распечатать
Вопрос: а есть ли сейчас дистрибутивы Linux, где используется статическая линковка приложений? Я нашел только один: Sta.li, но там только ядро и минимум системных утилит, и нет даже X Serverа.
А то у меня сложилось впечатление, что сейчас каждая программа линкует такое огромное количество библиотек, что вместо экономии памяти (для чего, собственно, когда-то и были придуманы so или dll) получается обратный эффект: из-за округления по границам страниц памяти теряется больше, чем если бы программа линковалась статически. Не говоря уж о том, что это увеличивает время запуска и ухудшает быстродействие. Особенно удивляет то, что в so выносят функции системных вызовов типа open/read/write, хотя подобное, на мой взгляд, вообще должно делаться inline-функциями, чтобы в бинарный код подставлялись только команды вида MOV EAX,номер; MOV EBX, параметр; INT 80h; и ничего более, как это было в MS-DOS, а не call на совершенно другую страницу (кстати, по объему кода это получилось бы примерно одинаково, плюс не было лишних операций по заталкиванию извлечению данных из стека).
А то у меня сложилось впечатление, что сейчас каждая программа линкует такое огромное количество библиотек, что вместо экономии памяти (для чего, собственно, когда-то и были придуманы so или dll) получается обратный эффект: из-за округления по границам страниц памяти теряется больше, чем если бы программа линковалась статически. Не говоря уж о том, что это увеличивает время запуска и ухудшает быстродействие. Особенно удивляет то, что в so выносят функции системных вызовов типа open/read/write, хотя подобное, на мой взгляд, вообще должно делаться inline-функциями, чтобы в бинарный код подставлялись только команды вида MOV EAX,номер; MOV EBX, параметр; INT 80h; и ничего более, как это было в MS-DOS, а не call на совершенно другую страницу (кстати, по объему кода это получилось бы примерно одинаково, плюс не было лишних операций по заталкиванию извлечению данных из стека).
Ребята, давайте жить спокойно!
Одна страница
Распечатать У вас нет прав для отправки сообщений в эту тему.