IDE | LINUX- СЕРВЕР:

Записи с меткой ‘IDE’

Глава 5. Оптимизация операционной системы

В этой главе:
1. Статические и динамические библиотеки
2. Библиотеки Linux Glibc 2.2
3. Почему Linux-программы распространяются в исходных кодах
4. Файл gcc specs
5. Удаление комментариев из исполняемых файлов и библиотек
6. Оптимизация настроек жесткого диска с IDE-интерфейсом

Если вы следовали нашим рекомендациям, то на сервере установлены пакеты программ для его
функционирования, обеспечения безопасности и компиляции программ. Перед тем как начать установку не-
обходимых служб, необходимо выполнить ряд операций, повышающих быстродействие сервера.

Статические и динамические библиотеки

Во время компиляции исходных кодов большинства программ на последней стадии осуществляется
связь кода программы с кодами Linux-библиотек. Эти библиотеки поставляются в динамическом и статиче-
ском формате и содержат общий системный код, который хранится в одном месте и совместно использует-
ся различными программами. Обычно на Linux-системах файлы библиотек находятся в каталогах /lib,
/usr/lib и /usr/share. По умолчанию Linux использует динамические библиотеки, а если он не может
найти их, то статические.
При использовании статической библиотеки, компилятор находит фрагменты кода, которые требуют-
ся для модулей программы, и копирует их непосредственно в исполняемый файл. При использовании дина-
мических библиотек компилятор вставляет ссылку, в которой указывает на необходимость загрузки опреде-
ленной библиотеки перед началом выполнения программы.
С одной стороны, при статической компоновке программ в случае выявления ошибки в одной из биб-
лиотек, влияющей на безопасность системы, система будет потенциально уязвимой до тех пор, пока не бу-
дут перекомпилированы все программы, содержащие код соответствующей библиотеки. С другой стороны,
при динамической компоновке программ система потенциально уязвима к атакам, направленным на моди-
фикацию библиотечных файлов, а уязвимость системы, вызванная ошибкой в библиотеке, может быть уст-
ранена путем ее замены.
Другим достоинством статической компоновки является то, что процесс инсталляции программного
обеспечения упрощается и может быть осуществлен при отсутствии доступа к библиотечным файлам. На
сильно загруженных системах использование статических библиотек негативно влияет на производитель-
ность системы, поэтому в этом случае использование динамических библиотек более предпочтительно.
Таким образом:
• если вы хотите компилировать программу, используя динамические библиотеки, необходимо ис-
пользовать следующие флаги компилятора:
CFLAGS = “-О2-march=i686 -funroll-loops”; export CFLAGS
./Configure \
• если хотите компилировать, используя статические библиотеки, необходимо использовать следую-
щие флаги компилятора:
CFLAGS=”-О2 -static -march=i686 -funroll-loops”; export CFLAGS
./Configure \
–disabled-shared\
ЗАМЕЧАНИЕ В Linux статические библиотеки имеют имена вида libc.a, а динамические библиотеки –
.libc.so.x.y.z, где x.y.z - номер версии.

Опубликовано admin 13 сентября 2008 Comments Off

 
 


0.56mb