PDA

Просмотр полной версии : Нужен ли динамический компоновщик?



captain cobalt
08.05.2005, 18:25
С одной стороны, динамический компоновщик требует ресурсов для своей работы. С другой стороны, динамический компоновщик позволяет экономить память за счёт совместного использования одного экземпляра кода. Также динамический компоновщик существенно повышает гибкость системы.

ukms[z]
08.05.2005, 20:25
допустим загрузил ты динамически библиотеку к основной программе. потом, уже загруженную пытаешься пришить к ещё одной программе. библиотека использует или самомодифицирующийся код или блок памяти под собственные нужды. придётся библиотеке использовать несколько наборов переменных, один для одной программы, второй - при вызовах из второй программы и так далее...

на больших машинах всё решается путём более гибкого управления содержимым адресного окна процессора. здесь же четыре окна по фиксированным адресам в лучшем случае. реализовать можно, не спорю. но для спектрума это слишком громоздко. кроме того - плюс динамических библиотек в прямых вызовах - call addr. у нас это будет либо смешно (в 64к) либо через комутатор а-ля int в ms-dos.

стоит ли овчинка выделки в том виде как она реализована на больших машинах ?

Sinus
09.05.2005, 12:57
Афтар пеши исчо

А на самом деле наверное не стоит. Или посмотреть в сторону микроядерных осей - там всё мессагами кидается, и поэтому проблема динамической компоновки решается сама собой

GriV
12.05.2005, 19:13
Нужен конечно...
Если не будет динамического компоновщика то ничего не будет, не будет системы как таковой, а наифг тогда система если нет разделяемых библиотек? Она же для того и нужна чтобы ресурсы делить....
А все проблемы, который указывает коллега решаются, это уже совсем другой вопрос, как они решаются...

GriV
12.05.2005, 19:14
виноват, просто сам не авторизован был, зашёл поначалу как гость...

acidrain
02.06.2005, 10:32
]на больших машинах всё решается путём более гибкого управления содержимым адресного окна процессора.
Интересно, на амиге так же решено? Там не использованна mmu на уровне ОСи.
Самомодифицирующийся код подойдет только для демы/игры - но не для оси - это верх криворукости ;) (А если проц поменяем - тада пиши пропало с модификациями вашими?)

lvd
02.06.2005, 13:34
Интересно, на амиге так же решено? Там не использованна mmu на уровне ОСи.
Самомодифицирующийся код подойдет только для демы/игры - но не для оси - это верх криворукости ;) (А если проц поменяем - тада пиши пропало с модификациями вашими?)

Дык просто у народа 'моск' запарен всякими виндами, линухами и прочими пц. И теперь для них реентрантный код возможен только с ММУ, создание процессов - только форком и т.д. Ты не парься - доки ж сюда все выкладывали по амигаосу, кто захотел - посмотрел, кто не захотел - тот пусть и дальше про форки и ММУ мечтает... Насильно же не заставишь?...

lvd
02.06.2005, 13:38
Если не будет динамического компоновщика то ничего не будет, не будет системы как таковой, а наифг тогда система если нет разделяемых библиотек?

Ага - моск сильно запарен. На амиге - вот странно? - либы без динамической к ним прилинковки работают... И юзают одну и ту же либу многие приложения без малейших проблем.

GriV
05.06.2005, 10:36
однако суть та же, имеются разделяемые библиотеки, имеются интерфейсы их использования, имеется механизм загрузки по первому вызову....