[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Вопросы по созданию пакета.



01.10.2012 22:01, Andrey Rahmatullin пишет:
> On Mon, Oct 01, 2012 at 09:24:58PM +0400, "Артём Н." wrote:
>>>> Или в Linux нет чего-то подобного kernel32.dll (т.е. всё только через libc
>>>> обёртки над системными вызовами, через прерывания, например)?
>>> Уточните вопрос.
>> Т.е., libc не "висит" в памяти, а загружается каждый раз заново для каждого
>> процесса (ну или загружается только часть libc, поскольку библиотека - архив, а
>> как оно работает дальше, я не знаю)?
>>
>> Т.е., допустим, kernel32.dll всегда был доступен по определённому адресу у
>> разных винд. Но по фиксированному. Загрузчик знал адрес и при разрешении импорта
>> просто подставлял адреса из таблицы экспорта kernel32 + её адрес загрузки
>> (грубо), насколько я понимаю.
> Вообще вы тут смешиваете разделение ядро-юзерспейс (иначе к чему про
> системные вызовы и прерывания) и системные-левые библиотеки. Да, системные
> библиотеки в Win32 имеют базовые адреса, позволяющие не переписывать
> ссылки на них, но kernel32.dll тут не отличается ничем от других
> стандартных библиотек, к тому же это можно делать и со своими
> библиотеками.
За исключением того, что оно является переходником между ядром и приложением. И
это единственная библиотека, которую импортирует любое приложение.
Вопрос был в том висят ли линуксовые библиотеки в памяти и разделяются между
всеми процессами или нет?


Reply to: