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 тут не отличается ничем от других > стандартных библиотек, к тому же это можно делать и со своими > библиотеками. За исключением того, что оно является переходником между ядром и приложением. И это единственная библиотека, которую импортирует любое приложение. Вопрос был в том висят ли линуксовые библиотеки в памяти и разделяются между всеми процессами или нет?
-- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/5069e588.7070...@yandex.ru