>>Он сам ее хавает.
>Шестое ядро не запустится на 10 Мб.
Гм 2.6.x ядре есть отделная опция для встраиваемых устройств. Ставим нужные галочки, грузимся.
>Подход один у всех вот уже лет десять как. Лично я не
>замечаю ровным счетом никакой разницы в работе операционной системы со >свопом, будь то Windows, Linux, FreeBSD или Solaris. Различия, конечно >есть, но они заметны только на бенчмарках. Это поведение под нагрузкой, а >мы говорим оь интерактивной работе на десктопе.
В Windows предерживается другой политки по отношению к свобоной памяти.
Именно поэтому многие новички в *nix спрашивают, а почему в *nix так мало свобоной памяти???
>>Грузится только то, что надо!
>
>libapr-0.so.0 => /usr/local/apache2/lib/libapr-0.so.0
>libaprutil-0.so.0 => /usr/local/apache2/lib/libaprutil-0.so.0
запущен апач причем второй. Заметим что модули апача грузятся как динамические библиотеки. И нити апача используют только один экземпляр присутвующий в памяти.
>libart_lgpl_2.so.2 => /usr/local/lib/libart_lgpl_2.so.2
>libasound.so.2 => /usr/local/lib/libasound.so.2
>libatk-1.0.so.0 => /usr/local/lib/libatk-1.0.so.0
>libaudiofile.so.0 => /usr/local/lib/libaudiofile.so.0
>libbonobo-2.so.0 => /usr/local/lib/libbonobo-2.so.0
>libbonobo-activation.so.4 => /usr/local/lib/libbonobo-activation.so.4
>libbonoboui-2.so.0 => /usr/local/lib/libbonoboui-2.so.0
>libcrypt.so.1 => /lib/libcrypt.so.1
загружено приложение из окружения gnome Которое использует его библиотеки.
>libc.so.6 => /lib/libc.so.6
>libdl.so.2 => /lib/libdl.so.2
Стандартные библиотеки используются почти всеми приложениями.
>libesd.so.0 => /usr/local/lib/libesd.so.0
загрущено приложение использующее esd-демон. Заметим их может быть много.
>libexpat.so.0 => /usr/local/apache2/lib/libexpat.so.0
>libexpat.so.0 => /usr/local/lib/libexpat.so.0
>libfontconfig.so.1 => /usr/local/lib/libfontconfig.so.1
>libfreetype.so.6 => /usr/local/lib/libfreetype.so.6
>libfribidi.so.0 => /usr/local/lib/libfribidi.so.0
>libgcc_s.so.1 => /usr/local/lib/libgcc_s.so.1
>libgconf-2.so.4 => /usr/local/lib/libgconf-2.so.4
>libgdk_pixbuf-2.0.so.0 => /usr/local/lib/libgdk_pixbuf-2.0.so.0
>libgdk-x11-2.0.so.0 => /usr/local/lib/libgdk-x11-2.0.so.0
>libglib-2.0.so.0 => /usr/local/lib/libglib-2.0.so.0
>libgmodule-2.0.so.0 => /usr/local/lib/libgmodule-2.0.so.0
>libgnome-2.so.0 => /usr/local/lib/libgnome-2.so.0
>libgnomecanvas-2.so.0 => /usr/local/lib/libgnomecanvas-2.so.0
>libgnome-keyring.so.0 => /usr/local/lib/libgnome-keyring.so.0
>libgnomeui-2.so.0 => /usr/local/lib/libgnomeui-2.so.0
>libgnomevfs-2.so.0 => /usr/local/lib/libgnomevfs-2.so.0
>libgobject-2.0.so.0 => /usr/local/lib/libgobject-2.0.so.0
>libgthread-2.0.so.0 => /usr/local/lib/libgthread-2.0.so.0
>libgtk-x11-2.0.so.0 => /usr/local/lib/libgtk-x11-2.0.so.0
>libICE.so.6 => /usr/X11R6/lib/libICE.so.6
приложение собраное под gnome. И использующее gtk+ 2 версии.
>libldap50.so => not found
>/lib/ld-linux.so.2 => /lib/ld-linux.so.2
>libmozjs.so => not found
>libm.so.6 => /lib/libm.so.6
>libncurses.so.5 => /lib/libncurses.so.5
>libnsl.so.1 => /lib/libnsl.so.1
>libnspr4.so => not found
>libnss3.so => not found
эти библиотеки испльзуются консольными прогаммами.
mozjs - java script библиотека от mozilla
>libORBit-2.so.0 => /usr/local/lib/libORBit-2.so.0
>libORBitCosNaming-2.so.0 => /usr/local/lib/libORBitCosNaming-2.so.0
>libpam.so.0 => /usr/local/lib/libpam.so.0
>libpango-1.0.so.0 => /usr/local/lib/libpango-1.0.so.0
>libpangoft2-1.0.so.0 => /usr/local/lib/libpangoft2-1.0.so.0
>libpangox-1.0.so.0 => /usr/local/lib/libpangox-1.0.so.0
>libpangoxft-1.0.so.0 => /usr/local/lib/libpangoxft-1.0.so.0
>libplc4.so => not found
>libplds4.so => not found
>libpng12.so.0 => /usr/local/lib/libpng12.so.0
>libpopt.so.0 => /usr/local/lib/libpopt.so.0
>libprldap50.so => not found
>libpthread.so.0 => /lib/libpthread.so.0
>libresolv.so.2 => /lib/libresolv.so.2
>librt.so.1 => /lib/librt.so.1
>libsmime3.so => not found
>libSM.so.6 => /usr/X11R6/lib/libSM.so.6
>libsoftokn3.so => not found
>libssl3.so => not found
>libstdc++.so.6 => /usr/local/lib/libstdc++.so.6
>libtiff.so.3 => /usr/local/lib/libtiff.so.3
>libungif.so.4 => /usr/local/lib/libungif.so.4
>libutil.so.1 => /lib/libutil.so.1
>libX11.so.6 => /usr/X11R6/lib/libX11.so.6
>libXaw.so.7 => /usr/X11R6/lib/libXaw.so.7
>libXext.so.6 => /usr/X11R6/lib/libXext.so.6
>libXft.so.2 => /usr/local/lib/libXft.so.2
>libXinerama.so.1 => /usr/X11R6/lib/libXinerama.so.1
>libxml2.so.2 => /usr/local/lib/libxml2.so.2
>libXmu.so.6 => /usr/X11R6/lib/libXmu.so.6
>libxpcom_compat.so => not found
>libxpcom.so => not found
>libXpm.so.4 => /usr/X11R6/lib/libXpm.so.4
>libXp.so.6 => /usr/X11R6/lib/libXp.so.6
>libXrandr.so.2 => /usr/X11R6/lib/libXrandr.so.2
>libXrender.so.1 => /usr/X11R6/lib/libXrender.so.1
>libXt.so.6 => /usr/X11R6/lib/libXt.so.6
>Пояснение: 55 процессов, 71 библиотека. GNOME не запущен.
Поеснение: запущено приложения по умолчанию слинкованные для работы в gnome. При запуске gnome их количество вырастет до сотни.
Библиотек в памяти не относящихся к gnome окружению 12 штук.
Выгрузите лишнее и библиотеки как языком слизнет.
Да суммарно все эти библиотеки занимают метров 30.
>Специфика формата ELF требует загрузки большей части файла в память при >линковке...
Гм да каким макаром? Код грузится сразу. Данные из библиотеки загружаются по требованию. А она сама маринуется пока надо в файловых буферах.
>Применение динамических библиотек оправдано только на системах, где >одновременно работает большое количество
>процессов, этого не наблюдается на десктопе.
Гм выше было преведено количество процессов 55 гм это небольшое количество процессов?
>Плюс ко всему библиотеки дробятся,
>их число увеличивается, разрешение символов превращается в >многоступенчатый процесс...
За счет чего обсепечивается высокая гибкость приложений. И возможность сборки без ненужных фич. Плюс потеря производительности на этих операциях на современных процессорах принебрежительно мала.
>>>позиционно независимый код (gcc -fPIC) раза в полтора медленнее статического.
>>И откуда факты что тормознее?
>>Лично с секундомером замерял?
>На IA-32 ELF PIC реализован очень неэффективным способом -
>через Global Offset Table.
Гм я тормоз наверно. Это подразумевает flat памяти так? Если да в чем его не эффективность в 32-разрядной ОС с поддержкой страничной организации памяти? И чем это хуже exe формата (ни как не вспомню как называется) в среде Windows?