Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Как используются библиотеки.
На GNU системах, использующих glibc, включая все Linux, запуск ELF бинаря приводит к запуску загрузчика. На Linux загрузчик называется /lib/ld-linux.so.X, где X - это номер версии. Загрузчик этот находит и загружает все разделяемые библиотеки, используемые запускаемым ELF-бинарём (приложением).
Список директорий, в которых ищутся разделяемые библиотеки хранится в файле /etc/ld.so.conf. Многие Red Hat-овые дистрибутивы по дефолту не включают /usr/local/lib в файл /etc/ld.so.conf. Это выглядит багом, и добавление /usr/local/lib + /etc в /etc/ld.so.conf - это общепринятая заплатка, требующаяся для запуска многих прог под Red-Hat-дистрами.
Если вы хотите заменить только некоторые функции в библиотеке, оставив какую-то часть библиотеки в строю, вам нужно записать имена библиотек (файлы " *.o") с заменающими функциями в файл /etc/ld.so.preload. Так вы поднимаете приоритет заменяющих библиотек над стандартными. Этот предзагрузочный файл обычно используется для срочных заплаток. Дистрибутивораспространители обычно плюют на него.
Чтобы как-то разгрузить процесс старта бинарей ELF от рытья в каталогах, используется кеширование. Софтина ldconfig по дефолту читает /etc/ld.so.conf, создаёт все нужные символические ссылки и создаёт файл /etc/ld.so.cache, который далее используется другими программами. Эта замануха охрененно ускоряет доступ к либам. Фишка в том, что ldconfig запускается при добавлении DLL, удалении DLL или когда список каталогов с DLL-ами поменялся. Запуск ldconfig-а часто является одним из шагов, выполняемых пакетными менеджерами при установке библиотеки. Далее при запусках софтин динамический загрузчик юзает уже /etc/ld.so.cache, загружая либы по мере надобности.
Однако FreeBSD юзает слегка другие имена файлов для этого кеша. Во фрях, ELF кеш - это /var/run/ld-elf.so.hints и a.out-овый кеш - это /var/run/ld.so.hints. Они также ведаются софтиною ldconfig, так что различие в именах файлов будет не по барабану только в особых ситуациях. Системные библиотеки - Это библиотека, содержащая функции, которие могут быть использованные от программ (.exe). В общем у болшенство программ есть свои dll библиотеки, а еще у Windows есть много таких библиотек (для создания окошко или кнопку примерно) DLL, содержащий библиотеку многократно исполняемых модулей (объектов, процедур), компоновка с которыми выполняется не до загрузки, а при появлении ссылки на модуль во время исполнения программы. Это уменьшает размеры программ и позволяет вносить изменения только в один DLL -файл, а не отдельно в каждую программу, в которой он используется. Кроме текстов и график, в.dll может быть програмного кода. Например функция ShutDown или функция Copy / Paste или функция для показивания каринке, или для компресии в.zip.Dynamic Link Library. Динамически связываемая библиотека программных модулей. То есть выделенные в отдельный файл несамостоятельные куски программного кода и данных. " Динамически связываемая" означает, что программы могут обращаться к библиотеке и использовать входящие в нее модули (куски кода) прямо в ходе работы, в любой момент, когда эти модули понадобятся. 28. Развитие файловых систем персональных компьютеров определялось двумя факторами - появлением новых стандартов на носители информации и ростом требований к характеристикам файловой системы со стороны прикладных программ (разграничение уровней доступа, поддержка длинных имен файлов в формате UNICODE). Первоначально, для файловых систем первостепенное значение имело увеличение скорости доступа к данным и минимизация объема хранимой служебной информации. Впоследствии с появлением более быстрых жестких дисков и увеличением их объемов, на первый план вышло требование надежности хранения информации, которое привело к необходимости избыточного хранения данных. Эволюция файловой системы была напрямую связана с развитием технологий реляционных баз данных. Файловая система использовала последние достижения, разработанные для применения в СУБД: механизмы транзакций, защиты данных, систему самовосстановления в результате сбоя. Развитие файловых систем привело к изменению самого понятия " файл" от первоначального толкования как упорядоченная последовательность логических записей, до понятия файла, как объекта, имеющего набор характеризующих его атрибутов (включая имя файла, его псевдоним, время создания и собственно данные), реализованного в NTFS. За свою 20 летнюю историю файловая система прошла путь от простой системы, взявшей на себя функции управления файлами, до системы, представляющей собой полноценную СУБД, обладающую встроенным механизмом протоколирования и восстановления данных. В отличие от попыток ввести стандарт на протокол, описывающий правила доступа к удаленным файловым системам (CIFS, NFS), не стоит ожидать появления подобного стандарта, описывающего файловые системы для жестких дисков. Это можно объяснить тем, что файловая система жестких дисков все еще продолжает оставаться одной из главных частей операционной системы, влияющей на ее производительность. Поэтому каждый производитель операционных систем будет стремиться использовать файловую систему, " родную" для его ОС. Дальнейшая эволюция файловых систем пойдет по пути совершенствования механизмов хранения данных, оптимизации хранения мультимедийных данных, использования новых технологий, применяемых в базах данных (возможность полнотекстового поиска, сортировка файлов по различным атрибутам). ОБЗОР ФАЙЛОВОЙ СИСТЕМЫ FAT FAT является наиболее простой из поддерживаемых Windows NT файловых систем. Основой файловой системы FAT является таблица размещения файлов, которая помещена в самом начале тома. На случай повреждения на диске хранятся две копии этой таблицы. Кроме того, таблица размещения файлов и корневой каталог должны храниться в определенном месте на диске (для правильного определения места расположения файлов загрузки). Диск, отформатированный в файловой системе FAT, делится на кластеры, размер которых зависит от размера тома. Одновременно с созданием файла в каталоге создается запись и устанавливается номер первого кластера, содержащего данные. Такая запись в таблице размещения файлов сигнализирует о том, что это последний кластер файла, или указывает на следующий кластер. Обновление таблицы размещения файлов имеет большое значение и требует много времени. Если таблица размещения файлов не обновляется регулярно, это может привести к потере данных. Длительность операции объясняется необходимостью перемещения читающих головок к логической нулевой дорожке диска при каждом обновлении таблицы FAT. Каталог FAT не имеет определенной структуры, и файлы записываются в первом обнаруженном свободном месте на диске. Кроме того, файловая система FAT поддерживает только четыре файловых атрибута: «Системный», «Скрытый», «Только чтение» и «Архивный». Имена файлов в FAT В файловой системе FAT использован традиционный формат имен 8.3, имена файлов должны состоять из символов ASCII. Имя файла или каталога должно состоять не более чем из 8 символов, затем следует разделитель «.» (точка) и расширение длиной до 3 символов. Первым символом имени должна быть буква или цифра. При определении имени можно использовать все символы за исключением перечисленных ниже. . " / \ [ ]:; | =,
Использование этих символов может привести к получению неожиданных результатов. Имя не должно содержать пробелов. Указанные ниже имена зарезервированы. CON, AUX, COM1, COM2, COM3, COM4, LPT1, LPT2, LPT3, PRN, NUL
Все символы преобразуются в верхний регистр. Преимущества файловой системы FAT На компьютере под управлением Windows NT в любой из поддерживаемых файловых систем нельзя отменить удаление. Программа отмены удаления пытается напрямую обратиться к оборудованию, что невозможно при использовании Windows NT. Однако если файл находился в FAT-разделе, то, запустив компьютер в режиме MS-DOS, удаление файла можно отменить. Файловая система FAT лучше всего подходит для использования на дисках и разделах размером до 200 МБ, потому что она запускается с минимальными накладными расходами. Более подробные сведения о преимуществах файловой системы FAT можно найти в следующих источниках: · «Основные понятия и планирование Windows NT Server», глава 5, раздел «Выбор файловой системы»; · пакет ресурсов Microsoft Windows NT Workstation 4.0 Resource Kit, глава 18, «Выбор файловой системы»; · руководство «Resource Guide» в пакете ресурсов Microsoft Windows NT Server 4.0 Resource Kit, глава 3, раздел «Which File System to Use on Which Volumes». Недостатки файловой системы FAT Как правило, не стоит использовать файловую систему FAT для дисков и разделов, чей размер больше 200 МБ. Это объясняется тем, что по мере увеличения размера тома производительность файловой системы FAT быстро падает. Для файлов, расположенных в разделах FAT, невозможно установить разрешения. Разделы FAT имеют ограничение по размеру: 4 ГБ под Windows NT и 2 ГБ под MS-DOS. За дополнительными сведениями об этих ограничениях обратитесь к следующей статье базы знаний Майкрософт: Номер статьи: 118335 Более подробное обсуждение недостатков файловой системы FAT можно найти в следующих источниках: · «Основные понятия и планирование Windows NT Server», глава 5, раздел «Выбор файловой системы»; · пакет ресурсов Microsoft Windows NT Workstation 4.0 Resource Kit, глава 18, «Выбор файловой системы»; · руководство «Resource Guide» в пакете ресурсов Microsoft Windows NT Server 4.0 Resource Kit, глава 3, раздел «Which File System to Use on Which Volumes». ОБЗОР ФАЙЛОВОЙ СИСТЕМЫ HPFS Файловая система HPFS впервые была использована для операционной системы OS/2 1.2, чтобы обеспечить доступ к появлявшимся в то время на рынке дискам большого размера. Кроме того, назрела необходимость расширения существующей системы имен, улучшения организации и безопасности для удовлетворения растущих потребностей рынка сетевых серверов. В файловой системе HPFS поддерживается структура каталогов FAT и добавлена сортировка файлов по именам. Имя файла может содержать до 254 двухбайтовых символов. Файл состоит из «данных» и специальных атрибутов, что создает дополнительные возможности для поддержки других типов имен файлов и повышению уровня безопасности. Кроме того, наименьший блок для хранения данных теперь равен размеру физического сектора (512 байт), что позволяет снизить потери дискового пространства. Записи в каталоге файловой системы HPFS содержат больше сведений, чем в FAT. Наряду с атрибутами файла здесь хранятся сведения о создании и внесении изменений, а также дата и время доступа. Записи в каталоге файловой системы HPFS указывают не на первый кластер файла, а на FNODE. FNODE может содержать данные файла, указатели на данные файла или другие структуры, указывающие на данные файла. HPFS старается по возможности располагать данные файла в смежных секторах. Это приводит к повышению скорости последовательной обработки файла. HPFS делит диск на блоки по 8 МБ каждый и всегда пытается записать файл в пределах одного блока. Для каждого блока 2 КБ зарезервировано под таблицу распределения, в которой содержится информация о записанных и свободных секторах в пределах блока. Разбиение на блоки приводит к повышению производительности, так как головка диска для определения места для сохранения файла должна возвращаться не к логическому началу диска (как правило, это нулевой цилиндр), а к таблице распределения ближайшего блока. Кроме того, файловая система HPFS содержит два уникальных объекта данных. Суперблок Суперблок располагается в логическом секторе 16 и содержит указатель на FNODE корневого каталога. В этом кроется главная опасность использования HPFS: если сектор суперблока помечен как поврежденный, это приводит к потере всех данных раздела даже на неповрежденных участках диска. Для восстановления данных их необходимо скопировать на другой диск с неповрежденным сектором 16 и воссоздать суперблок. Это очень сложная задача. Запасной блок Запасной блок располагается в логическом секторе 17 и содержит таблицу экстренных исправлений, а также блок резервного каталога. В файловой системе HPFS запись таблицы экстренных исправлений используется при обнаружении дефектного сектора, чтобы логически указать вместо него имеющийся неповрежденный сектор. Эта технология обработки ошибок записи известна как экстренное исправление. Если используется технология экстренного исправления, то при обнаружении поврежденного сектора данные переносятся в другой сектор, а исходный помечается как дефектный. Эти действия выполняются открыто для любого приложения, которое выполняет дисковые операции ввода/вывода (то есть на работе приложения проблемы с жестким диском не сказываются). Сообщения об ошибке, которые появляются при обнаружении поврежденного сектора (например, «FAT " Abort, Retry, or Fail? "»), в файловой системе, поддерживающей экстренные исправления, отсутствуют. Примечание. Версия файловой системы HPFS, которая входит в состав Windows NT, не поддерживает технологию экстренного исправления. Преимущества файловой системы HPFS HPFS – оптимальный вариант файловой системы для использования с дисками размером 200–400 МБ. Более подробное описание преимуществ файловой системы HPFS можно найти в следующих источниках: · «Основные понятия и планирование Windows NT Server», глава 5, раздел «Выбор файловой системы»; · пакет ресурсов Microsoft Windows NT Workstation 4.0 Resource Kit, глава 18, «Выбор файловой системы»; · руководство «Resource Guide» в пакете ресурсов Microsoft Windows NT Server 4.0 Resource Kit, глава 3, раздел «Which File System to Use on Which Volumes». Недостатки файловой системы HPFS Дополнительные накладные расходы, связанные с использованием HPFS, снижают эффективность ее применения на дисках размером меньше 200 МБ. Кроме того, производительность также снижается при использовании дисков размером больше 400 МБ. При использовании HPFS под Windows NT нельзя установить параметры безопасности. Файловая система HPFS поддерживается только операционной системой Windows NT версий 3.1, 3.5 и 3.51. Нельзя получить доступ к разделу HPFS с помощью Windows NT 4.0. Описание других недостатков файловой системы HPFS можно найти в следующих источниках: · «Основные понятия и планирование Windows NT Server», глава 5, раздел «Выбор файловой системы»; · пакет ресурсов Microsoft Windows NT Workstation 4.0 Resource Kit, глава 18, «Выбор файловой системы»; · руководство «Resource Guide» в пакете ресурсов Microsoft Windows NT Server 4.0 Resource Kit, глава 3, раздел «Which File System to Use on Which Volumes». ОБЗОР ФАЙЛОВОЙ СИСТЕМЫ NTFS С точки зрения пользователя файловая система NTFS организует файлы по каталогам и сортирует их так же, как и HPFS. Однако в отличие от FAT и HPFS на диске нет специальных объектов и отсутствует зависимость от особенностей установленного оборудования (например, сектор размером 512 байт). Кроме того, на диске отсутствуют специальные хранилища данных (таблицы FAT и суперблоки HPFS). Целью файловой системы NTFS является следующее. · Обеспечение надежности, имеющей большое значение для высокопроизводительных систем и файловых серверов. · Предоставление платформы дополнительной функциональности. · Поддержка требований POSIX. · Устранение ограничений, характерных для файловых систем FAT и HPFS. Надежность Для обеспечения надежности файловой системы NTFS особое внимание было уделено трем основным вопросам: способности к восстановлению, устранению неустранимых ошибок одного сектора и экстренному исправлению. Для обеспечения способности к восстановлению NTFS отслеживает все транзакции в отношении файловой системы. Выполнение команды CHKDSK в файловой системе FAT или HPFS служит для проверки последовательности указателей в пределах каталога, размещения и таблицы файлов. Файловая система NTFS хранит журнал операций с этими компонентами. Таким образом, для восстановления связности системы необходимо с помощью команды CHKDSK выполнить «откат» транзакций до последней точки фиксации. При использовании FAT или HPFS сбой сектора, в котором хранится один из специальных объектов файловой системы, приводит к возникновению неустранимой ошибки одного сектора. В NTFS эта проблема решается двумя способами. Во-первых, специальные объекты не используются, а все имеющиеся на диске объекты отслеживаются и защищаются. Во-вторых, существует несколько копий (число зависит от размера тома) основной таблицы файлов. Подобно версиям HPFS для OS/2, NTFS поддерживает экстренное исправление. Дополнительные функции Основное предназначение конфигурации операционной системы Windows NT на любом уровне является обеспечение платформы, которую можно использовать в качестве модуля при построении других систем, и NTFS не является исключением. Эта файловая система представляет собой гибкую платформу с широкими функциональными возможностями, которую могут использовать другие файловые системы. Кроме того, в NTFS полностью реализована модель безопасности Windows NT и поддержка нескольких потоков данных. Файл данных перестал быть отдельным потоком данных. Кроме того, пользователи могут добавлять собственные атрибуты файлов. Поддержка POSIX Из всех поддерживаемых файловых систем NTFS наиболее полно соответствует POSIX.1. В ней реализована поддержка следующих требований POSIX.1: назначение имен с учетом регистра; согласно POSIX. README.TXT, Readme.txt и readme.txt – это разные файлы; дополнительная отметка времени; дополнительный штамп времени для сохранения времени последнего доступа к файлу; жесткие связи. Жесткой связью называется такая связь, когда два различных имени файла (которые могут быть расположены в разных каталогах) указывают на одни и те же данные. Устранение ограничений Во-первых, в NTFS значительно – до 2^64 байт (16 экзабайт или 18 446 744 073 709 551 616 байт) – увеличен допустимый раздел файлов и томов. В NTFS для решения проблемы фиксированного размера сектора снова применена концепция кластеров, ранее использованная в файловой системе FAT. Это было сделано для улучшения аппаратной независимости операционной системы Windows NT при ее использовании с жесткими дисками, изготовленными по другой технологии. Таким образом, была принята точка зрения, что деление диска на секторы размером 512 не всегда является оптимальным. Размер кластера определяется кратным числом единичных блоков жесткого диска. Кроме того, для задания имен файлов используется кодировка Юникод и наряду с длинными именами обеспечена поддержка формата 8.3. Преимущества файловой системы NTFS NTFS лучше всего подходит для использования с томами размером более 400 МБ. С увеличением размера тома производительность файловой системы NTFS не падает, как у FAT. Благодаря способности к восстановлению в NTFS отсутствует необходимость использования каких-либо программ восстановления диска. Описание других преимуществ файловой системы NTFS можно найти в следующих источниках: · «Основные понятия и планирование Windows NT Server», глава 5, раздел «Выбор файловой системы»; · пакет ресурсов Microsoft Windows NT Workstation 4.0 Resource Kit, глава 18, «Выбор файловой системы»; · руководство «Resource Guide» в пакете ресурсов Microsoft Windows NT Server 4.0 Resource Kit, глава 3, раздел «Which File System to Use on Which Volumes». Недостатки файловой системы NTFS Из-за дополнительного расхода дискового пространства файловую систему NTFS не рекомендуется использовать с томами размером менее 400 МБ. Такой расход объясняется необходимостью хранения системных файлов NTFS (в разделе размером 100 МБ для этого требуется около 4 МБ). В настоящее время NTFS не имеет встроенного шифрования файлов. Следовательно, можно загрузить MS-DOS (или другую операционную систему) и воспользоваться низкоуровневой программой редактирования диска для просмотра хранящихся в томе NTFS данных. С помощью файловой системы NTFS нельзя форматировать дискеты. Windows NT форматирует дискеты с помощью FAT, так как объем служебной информации, необходимой для функционирования NTFS, не помещается на дискете. Более подробное описание недостатков файловой системы NTFS можно найти в следующих источниках: · «Основные понятия и планирование Windows NT Server», глава 5, раздел «Выбор файловой системы»; · пакет ресурсов Microsoft Windows NT Workstation 4.0 Resource Kit, глава 18, «Выбор файловой системы»; · руководство «Resource Guide» в пакете ресурсов Microsoft Windows NT Server 4.0 Resource Kit, глава 3, раздел «Which File System to Use on Which Volumes». Соглашения именования в NTFS Имена файлов могут состоять не более чем из 255 символов, включая любое расширение. В именах сохраняется регистр введенных символов, но сами имена не зависят от регистра. NTFS не различает имена в зависимости от регистра. В именах могут быть использованы любые символы за исключением указанных ниже. ? " / \ < > * |:
В настоящее время из командной строки можно задать имя файла длиной не более 253 символов. Примечание. Особенности установленного оборудования могут наложить дополнительные требования на размер раздела в любой файловой системе. В частности, размер загрузочного раздела не может быть больше 7, 8 ГБ, а таблица раздела ограничена 2 терабайтами. Для получения дополнительных сведений о поддерживаемых Windows NT файловых системах см. пакет ресурсов Windows NT Resource Kit. К началу | Отправить отзыв Примечание. Это ЭКСПРЕСС-ПУБЛИКАЦИЯ, подготовленная непосредственно службой технической поддержки Майкрософт. Сведения, содержащиеся в данном документе, предоставлены в качестве отклика на возникшие проблемы. Из-за срочности в материалах могут быть опечатки, и в любое время и без уведомления в них могут быть внесены изменения. Чтобы получить дополнительные сведения, см. Условия использования. К началу | Отправить отзыв Свойства Код статьи: 100108 - Последний отзыв: 24 января 2013 г. - Revision: 2.0
|