Кіріспе
Файл жүйесі API
Жұктелетін файл жүйесі (Installable File System, IFS) – MS DOS/PC DOS 4.x, IBM OS/2 және Microsoft Windows операциялық жүйелерінде файл жүйелеріне арналған драйверлерді тануға және жүктеуге мүмкіндік беретін файл жүйесі API.
The Installable File System (IFS) is a filesystem API in MS DOS/PC DOS 4. x, IBM OS/2 and Microsoft Windows that enables the operating system to recognize and load drivers for file systems.
Тарих
IBM және Microsoft OS/2 жүйесін бірлесіп жасап жатқанда, FAT файлдық жүйесінің қазіргі заманғы операциялық жүйелерге қажетті кейбір мүмкіндіктері жоқ екенін түсінді. Сондықтан Microsoft жоғары өнімділік файлдық жүйесін (HPFS) әзірлеуді бастады, оның құпия коды Pinball деп аталды. FAT сияқты ядроның ішінде кодтаудың орнына, Microsoft "драйверге негізделген" файлдық жүйе API-ін жасады, бұл оларға және басқа да әзірлеушілерге ядроны өзгертусіз жаңа файлдық жүйелерді қосуға мүмкіндік берді. Microsoft OS/2 жұмысын тоқтатқаннан кейін IBM IFS интерфейсін пайдалануын жалғастырды, ал Microsoft Windows NT жүйесінде осыған ұқсас интерфейсті енгізді.
OS/2 жүйесіндегі IFS
IFS файлдық жүйелерді бағдарламалау үшін негізгі және қуатты интерфейс ұсынды. Ол 1989 жылы OS/2 1.20 нұсқасында HPFS файлдық жүйесімен бірге енгізілді. Файлдық жүйе драйверлері ядролық кеңістікте (сақина 0) орындалады және төрт негізгі бөлікке бөлінеді: microIFS, miniIFS, IFS және көмекшілер. Тек IFS және файлдық жүйе кодын қана қолдану қажет, олар CONFIG.SYS файлындағы "IFS=" операторы арқылы жүктеледі. Бұл 16 биттік динамикалық түрде жүктелетін NE кітапханасы. OS/2 32 биттік болса да (2.0 және одан кейінгі нұсқалары), IFS әрқашан 16 биттік болады (дегенмен, ресми емес жолмен 32 биттік IFS жасауға болады). MicroIFS – жадқа ядроны және miniIFS-ті жүктеуге және ядроны орындауға секіріп өтетін код бөлігі. Ол әдетте файлдық жүйенің жүктелу бөлігінде орналасқан. MiniIFS – ядро CONFIG.SYS файлында кездесетін бірінші IFS операторын жүктеу үшін шақыратын код бөлігі. Сондықтан, жүйе жүктелуі үшін бірінші IFS операторы жүктелуге тиіс файлдық жүйе болуы керек. Көмекшілер 16 биттік (OS/2 1.x үшін) немесе 32 биттік (OS/2 2.x және одан жоғары нұсқалары үшін) болып келеді, пайдаланушы кеңістігінде (сақина 3) орындалады және әдеттегі файлдық жүйе күтімін қамтамасыз ететін кодты қамтиды, сондай-ақ CHKDSK және FORMAT утилиталары оларды шақырады. Бұл төрт бөліктен тұратын схема әзірлеушілерге OS/2 үшін ext2 драйверінде көрсетілгендей, жаңа жүктелетін файлдық жүйені динамикалық түрде қосуға мүмкіндік берді. CD-ROM файлдық жүйе драйвері (ISO 9660) OS/2 2.0 нұсқасында, UDF – OS/2 4.0 нұсқасында, ал JFS – OS/2 4.5 нұсқасында қосылды. ArcaOS, OS/2-нің соңғы жинағы, FAT32-ні қоса алғанда, бірнеше файлдық жүйе драйверлерін ұсынады. HPFS386 деп аталатын ресми 32 биттік HPFS IFS болды, ол өнімділікті жақсартты және өзгермелі өлшемді кэш және Access Control Lists сияқты жаңа мүмкіндіктерді қосты, ол тек белгілі бір OS/2 серверлік нұсқаларында қол жетімді болды. FAT файлдық жүйесі ешқашан ядродан алынып тасталған жоқ және ресми түрде IFS болған емес, бірақ FAT IFS ұзақ файл атауларын (LFN), FAT32 қолдауын және т.б. сияқты мүмкіндіктерді қосты. NFS және SMB сияқты желілік файлды бөлісу протоколдары да IFS арқылы іске асырылады, ал IFS интерфейсі өзгерген жоқ.
Windows 3.11 және 9x-тегі IFS
IFSHLP. SYS (Installable File System Helper) – MS-DOS құрылғы драйвері, ол алғаш рет Microsoft Windows for Workgroups 3.11 құрамында жарық көрді. Ол Windows 386 Enhanced Mode режимінде 32 биттік файлдарға тікелей қол жеткізуді қамтамасыз етеді, 16 биттік DOS API-ді айналып өтеді және басқа да нақты режимдегі драйверлердің INT 21h шақыруларын кесіп алмауын қамтамасыз етеді. IFSHLP. SYS-тың қорғалған режимдегі баламасы Windows 3.11-де IFSMGR.386, ал Windows 95 және Windows 98-де IFSMGR.VXD болып табылады.
Windows NT-дегі IFS
IFS API Windows драйверлер жиынтығының бір бөлігі болып табылады. Microsoft OS/2 әзірлеуді тоқтатып, сол кезде OS/2 NT деп аталатын нәрсеге назар аударғанда, олар IFS идеяларын HPFS файлдық жүйесімен бірге алды. Төрт бөлімнен тұратын схеманың орнына, NT IFS екі бөлімнен тұратын схема ретінде қайта құрылды. microIFS және miniIFS схемадан алынып тасталды. IFS және көмекшілер өзгеріссіз қалды, бірақ кейін Windows NT 4.0 нұсқасында фрагментацияны жоюға арналған көмекші құрал (DEFRAG) қосылды. Microsoft-тың бастапқы NTLDR NT ядросын FAT, HPFS немесе NTFS-тен жүктеу үшін жасалған, бірақ кейінгі нұсқалары HPFS қолдауын тоқтатты. Барлық драйверлер мен көмекшілер 32 биттік PE атқарылатын файлдарына айналды. FAT файлдық жүйесі ядродан IFS-ке көшірілді және 32 биттік өңдеу мүмкіндіктерін пайдаланып, өнімділігі үшін жақсартылды (FASTFAT деп аталды). Windows NT 3.1 бастапқы нұсқасында FAT, HPFS (Pinball) және жаңа құрылған NTFS драйверлері, сондай-ақ Microsoft Joliet файлдық жүйесін қолдана отырып, ұзақ файл атауларын қолдайтын жаңа және жақсартылған CD ROM файлдық жүйесі драйвері болды. Windows NT 3.51 NTFS және IFS интерфейсіне файлдарды қысу мүмкіндігін қосты. Windows NT 4.0 нұсқасында HPFS алынып тасталды. Windows 2000 нұсқасында FASTFAT FAT32 қолдауын қоса жаңартылды және UDF қосылды. Windows 2000 IFS интерфейсін файл бойынша шифрлауды қосу үшін өзгертті. Желілік файлдарды бөлісу протоколдары және антивирустар файлдық I/O операцияларын ұстап алатын IFS "файлдық жүйе сүзгісі" драйверлерін пайдалана отырып іске асырылады. Apple Mac OS X 10.6 нұсқасындағы Boot Camp-ке Windows XP, Windows Vista және Windows 7-де пайдалану үшін тек оқуға арналған HFS+ драйверлерін қоса бастады.