Jump to content

Устанавливаемая файловая система

(Перенаправлено с IFSHLP.SYS )

Устанавливаемая файловая система ( IFS ) — это API файловой системы в MS-DOS / PC DOS 4.x, IBM OS/2 и Microsoft Windows , который позволяет операционной системе распознавать и загружать драйверы для файловых систем .

Когда IBM и Microsoft совместно разрабатывали OS/2, они поняли, что файловая система FAT не предлагает некоторых функций, которые требуются современным операционным системам, и Microsoft начала разработку высокопроизводительной файловой системы (HPFS) под кодовым названием Pinball .

Вместо того, чтобы кодировать его внутри ядра, как это было в FAT, Microsoft разработала API файловой системы на основе драйверов, который мог позволить им и другим разработчикам добавлять новые файловые системы в ядро ​​без необходимости его модификации.

Когда Microsoft прекратила работу над OS/2, IBM продолжила использовать интерфейс IFS, а Microsoft реализовала аналогичный интерфейс в Windows NT.

Реализации

[ редактировать ]

IFS предоставил базовый и мощный интерфейс для программирования файловых систем.Она была представлена ​​в 1989 году в OS/2 1.20 вместе с файловой системой HPFS.

Драйверы файловой системы выполняются в пространстве ядра ( кольцо 0 ) и разделены на четыре основные части: microIFS, miniIFS, IFS, помощники.

Требуется только IFS и сам код файловой системы, которые загружаются с помощью оператора « IFS =" в файле CONFIG.SYS .Это NE 16-битная динамически загружаемая библиотека . Независимо от того, является ли это 32-битной OS/2 (2.0 и новее), IFS всегда 16-битная (хотя неофициально вы можете сделать 32-битную IFS).

microIFS — это фрагмент кода, который загружает в память ядро ​​и miniIFS и переходит к выполнению ядра. Обычно он находится в загрузочной части файловой системы.

MiniIFS — это фрагмент кода, который вызывается ядром для загрузки первого оператора IFS, который появляется в файле CONFIG.SYS, поэтому первый оператор IFS должен указывать файловую систему загрузки, чтобы система могла загрузиться.

Помощники являются 16-битными (для OS/2 1.x) или 32-битными (для OS/2 2.x и выше), выполняются в пользовательском пространстве ( кольцо 3 ) и содержат код, используемый для типичного обслуживания файловой системы. и вызываются CHKDSK и FORMAT коммунальные услуги.

Эта схема из четырех частей позволяла разработчикам динамически добавлять новую загрузочную файловую систему, как это продемонстрировал драйвер ext2 для OS/2.

CD-ROM Драйвер файловой системы ( ISO 9660 ) был добавлен в OS/2 2.0, UDF был добавлен в OS/2 4.0, а JFS был добавлен в OS/2 4.5. ArcaOS , последняя версия OS/2, имеет ряд доступных драйверов файловой системы, включая FAT32. [1] Существовала также официальная 32-битная HPFS IFS под названием HPFS386 , которая улучшала производительность и добавляла некоторые функции, такие как кэш переменного размера и списки контроля доступа , и была доступна только в определенных версиях серверов OS/2.Файловая система FAT никогда не удалялась из ядра и официально никогда не была IFS, хотя существуют FAT IFS, в которые добавлены такие функции, как длинные имена файлов (LFN), FAT32 поддержка и т. д.

Сетевые протоколы обмена файлами, такие как NFS и SMB, также реализуются с использованием IFS, и интерфейс IFS никогда не менялся.

IFS в Windows 3.11 и 9x

[ редактировать ]

IFSHLP.SYS ( помощник устанавливаемой файловой системы ) — это драйвер устройства MS-DOS , который впервые был выпущен как часть Microsoft Windows для рабочих групп 3.11. Он обеспечивает собственный доступ к 32-разрядным файлам в расширенном режиме Windows 386 , минуя 16-разрядный API DOS и гарантируя, что никакой другой реального режима драйвер не перехватит вызовы INT 21h .

Аналогом IFSHLP.SYS в защищенном режиме является IFSMGR.386 в Windows 3.11 и IFSMGR.VXD в Windows 95 и Windows 98. [2] [3]

IFS в Windows NT

[ редактировать ]

IFS API является частью комплекта драйверов Windows .

Когда Microsoft прекратила разработку OS/2 и сосредоточилась на том, что тогда называлось OS/2 NT, они взяли с собой идеи IFS вместе с файловой системой HPFS.

Вместо схемы из четырех частей NT IFS была преобразована в схему из двух частей.microIFS и miniIFS были удалены из схемы. IFS и помощники остались прежними, но позже, в Windows NT 4.0, дефрагментации был добавлен помощник (DEFRAG).Оригинальный NTLDR от Microsoft был запрограммирован для загрузки ядра NT из FAT, HPFS или NTFS , но в последующих версиях поддержка HPFS была исключена. Все драйверы и помощники стали 32-битными исполняемыми файлами PE . Файловая система FAT была перенесена из ядра в IFS и была сильно оптимизирована по производительности с использованием возможностей 32-битной обработки (называемой FASTFAT ).

Исходная версия Windows NT 3.1 включала FAT, HPFS (Pinball) и недавно созданные драйверы NTFS, а также новый улучшенный драйвер файловой системы CD-ROM, который включал длинные имена файлов с использованием файловой системы Microsoft Joliet .

В Windows NT 3.51 добавлено пофайловое сжатие в NTFS и в интерфейс IFS.В Windows NT 4.0 HPFS была удалена. В Windows 2000 FASTFAT был обновлен для поддержки FAT32 и UDF добавлен .

Windows 2000 изменила интерфейс IFS, добавив шифрование для каждого файла.

Сетевые протоколы обмена файлами и антивирус также реализуются с использованием драйверов «фильтра файловой системы» IFS, которые перехватывают операции файлового ввода-вывода. [4]

Apple начала включать драйверы HFS+ только для чтения в для Mac OS X 10.6. версию Boot Camp [5] для использования в Windows XP , Windows Vista и Windows 7 .

Дальнейшее чтение

[ редактировать ]
  • Раджив Нагар (1997). Внутреннее устройство файловой системы Windows NT. Руководство разработчика . О'Рейли. ISBN  1-56592-249-2 .
  • Хелен Кастер (1994). Внутри файловой системы Windows NT . Майкрософт Пресс. ISBN  1-55615-660-Х .
  • Хелен Кастер (1993). Внутри Windows NT . Майкрософт Пресс. ISBN  1-55615-481-Х .

См. также

[ редактировать ]
[ редактировать ]

РайзерФС

[ редактировать ]
  • CBFS Storage — кроссплатформенная однофайловая виртуальная файловая система с шифрованием и сжатием.
  • CBFS Connect — SDK, который позволяет разработчикам создавать устанавливаемые виртуальные файловые системы для Windows в пользовательском режиме.
  • RomFS — примеры драйверов для Windows
  • WinFUSE — файловая система на основе .NET в структуре USERspace, которая использует SMB вместо IFS.
  • Dokany — лицензированная MIT платформа для файловых систем в пользовательском пространстве Windows, использующая отдельный драйвер ядра с доступными привязками .NET.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 6db2613492b5cfcb8f3d37a4027f93b8__1705837740
URL1:https://arc.ask3.ru/arc/aa/6d/b8/6db2613492b5cfcb8f3d37a4027f93b8.html
Заголовок, (Title) документа по адресу, URL1:
Installable File System - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)