Yüklenebilir Dosya Sistemi - Installable File System

Yüklenebilir dosya sistemi ( IFS ) bir olduğu dosya sistemi API içinde MS-DOS / PC DOS 4.x, IBM OS / 2 ve Microsoft Windows sağlayan işletim sistemini tanımak ve yük sürücüleri için dosya sistemleri .

Tarih

Ne zaman IBM ve Microsoft işbirliği gelişmekte OS / 2, onlar fark FAT dosya sistemi , modern işletim sistemleri gerektirecektir özellikleri bazı teklif etmedi ve Microsoft geliştirmeye başladık Yüksek Performanslı Dosya Sistemi kod adı (HPFS), Pinball .

Microsoft, onu çekirdek içinde kodlamak yerine, FAT'ın olduğu gibi, kendilerinin ve diğer geliştiricilerin değiştirmeye gerek kalmadan çekirdeğe yeni dosya sistemleri eklemelerine olanak tanıyan "sürücü tabanlı" bir dosya sistemi API'si geliştirdi.

Microsoft, OS / 2 üzerinde çalışmayı bıraktığında, IBM IFS arayüzünü kullanmaya devam etti ve Microsoft, Windows NT'de benzer bir arayüz uyguladı.

Uygulamalar

DOS 4.x'te IFS

OS / 2'de IFS

IFS, dosya sistemlerini programlamak için temel ve güçlü bir arayüz sağladı. 1989'da OS / 2 1.20'de HPFS dosya sistemi ile birlikte tanıtıldı.

Dosya sistemi sürücüleri çekirdek alanında ( 0 halkası ) yürütülür ve dört ana parçaya ayrılır: microIFS, miniIFS, IFS, yardımcılar.

Yalnızca IFS ve dosya sistemi kodunun kendisi gereklidir ve CONFIG.SYS dosyasındaki bir " IFS =" ifadesiyle yüklenir. Bu bir olan NE 16 bit dinamik olarak yüklenen kütüphane . Olursa olsun eğer bir 32 bit OS / 2 (2.0 ve daha yeni), IFS her zaman 16 bit (extraofficially bir 32 bit IFS yapabilirsiniz rağmen).

MicroIFS, belleğe çekirdeği ve miniIFS'i yükleyen ve çekirdek yürütmesine atlayan bir kod parçasıdır. Genellikle dosya sisteminin önyükleme kısmındadır.

MiniIFS, çekirdek tarafından CONFIG.SYS dosyasında görünen ilk IFS ifadesini yüklemek için çağrılan bir kod parçasıdır, bu nedenle sistemin önyükleyebilmesi için ilk IFS ifadesinin önyüklemenin dosya sistemi olması gerekir.

Yardımcılar 16 bit (OS / 2 1.x için) veya 32 bittir (OS / 2 2.x ve üstü için), kullanıcı alanında yürütülür ( halka 3 ) ve tipik dosya sistemi bakımı için kullanılan kodu içerir ve tarafından çağrılır CHKDSK ve FORMAT yardımcı programlar.

Bu dört parçalı şema, geliştiricilerin OS / 2 için ext2 sürücüsünün de gösterdiği gibi dinamik olarak yeni bir önyüklenebilir dosya sistemi eklemelerine izin verdi .

OS / 2 2.0'a CD-ROM dosya sistemi sürücüsü ( ISO 9660 ), OS / 2 4.0'a UDF ve OS / 2 4.5'e JFS eklendi. OS / 2'nin en son paketi olan ArcaOS , FAT32 de dahil olmak üzere bir dizi dosya sistemi sürücüsüne sahiptir. Ayrıca, performansı artıran ve değişken boyutlu önbellek ve Erişim Kontrol Listeleri gibi bazı özellikler ekleyen ve yalnızca belirli OS / 2 sunucu sürümlerinde mevcut olan HPFS386 adlı resmi bir 32 bit HPFS IFS de vardı . Uzun dosya adları (LFN'ler), FAT32 desteği vb. Gibi özellikler ekleyen FAT IFS olmasına rağmen, FAT dosya sistemi çekirdekten asla kaldırılmadı ve resmi olarak hiçbir zaman bir IFS olmadı .

NFS ve SMB gibi ağ dosya paylaşım protokolleri de IFS kullanılarak uygulanır ve IFS arayüzü hiçbir zaman değişmedi.

Windows 3.11 ve 9x'te IFS

IFSHLP.SYS ( Yüklenebilir Dosya Sistemi Yardımcısı), ilk olarak Microsoft Windows 3.11'in bir parçası olarak piyasaya sürülen bir MS-DOS aygıt sürücüsüdür . Bu yerli sağlayan 32-bit dosya erişimi de Mod Enhanced Windows 386 16 bitlik DOS API atlayarak ve başka hiçbir sağlayarak gerçek mod sürücüsü yakaladığını INT 21h aramaları.

IFSHLP.SYS'nin korumalı mod karşılığı, Windows 3.11'de IFSMGR.386 ve Windows 95 ve Windows 98'de IFSMGR.VXD'dir .

Windows NT'de IFS

IFS API, Windows Sürücü Kitinin bir parçasıdır .

Microsoft, OS / 2'yi geliştirmeyi bırakıp daha sonra OS / 2 NT olarak adlandırılan şeye yoğunlaştığında, HPFS dosya sistemi ile birlikte IFS fikirlerini de aldılar.

Dört parçalı bir şema olmak yerine, NT IFS iki parçalı bir şema olarak yeniden tasarlandı. microIFS ve miniIFS şemadan çıkarıldı. IFS ve yardımcıları aynı kalır, ancak daha sonra Windows NT 4.0'da bir birleştirme yardımcısı (DEFRAG) eklendi. Microsoft'un orijinal NTLDR FAT, NT çekirdeği yükleme için kodlandı HPFS veya NTFS , ancak daha sonraki sürümler HPFS desteği düştü. Tüm sürücüler ve yardımcılar 32 bit PE yürütülebilir dosyalar haline geldi . FAT dosya sistemi, Çekirdekten bir IFS'ye taşındı ve 32 bit işleme yeteneklerinden ( FASTFAT olarak adlandırılıyor ) yararlanılarak performans için büyük ölçüde optimize edildi .

Orijinal Windows NT 3.1, FAT, HPFS (Pinball) ve yeni oluşturulan NTFS sürücülerinin yanı sıra Microsoft Joliet dosya sistemini kullanarak uzun dosya adlarını içeren yeni ve geliştirilmiş bir CD-ROM dosya sistemi sürücüsünü bir araya getirdi.

Windows NT 3.51, NTFS'ye ve IFS arabirimine dosya başına sıkıştırma ekledi. Windows NT 4.0'da HPFS kaldırıldı. Windows 2000'de FASTFAT, FAT32'yi destekleyecek şekilde güncellendi ve UDF eklendi.

Windows 2000, dosya başına şifreleme eklemek için IFS arayüzünü değiştirdi.

Ağ dosya paylaşım protokolleri ve antivirüs de IFS kullanılarak uygulanır.

Apple , Windows XP , Windows Vista ve Windows 7'de kullanılmak üzere Mac OS X 10.6'nın Boot Camp sürümünde salt okunur HFS + sürücülerini dahil etmeye başladı .

daha fazla okuma

  • Rajeev Nagar. Windows NT Dosya Sistemi Dahili, Bir Geliştirici Kılavuzu . O'Reilly. ISBN   1-56592-249-2 .
  • Helen Custer. Windows NT Dosya Sisteminin İçinde . Microsoft Press. ISBN   1-55615-660-X .
  • Helen Custer. Windows NT'nin içinde . Microsoft Press. ISBN   1-55615-481-X .

Ayrıca bakınız

Referanslar

Dış bağlantılar

ext2 / ext3 / ext4

ReiserFS

HFS

OS / 2

Diğer

  • CBFS Depolama - şifreleme ve sıkıştırmaya sahip çapraz platformlu tek dosyalı sanal dosya sistemi
  • CBFS Connect - geliştiricilerin kullanıcı modunda Windows için kurulabilir sanal dosya sistemleri oluşturmasına olanak tanıyan SDK
  • RomFS - Windows sürücü örnekleri
  • WinFUSE - IFS yerine SMB kullanan USErspace çerçevesindeki .NET tabanlı bir Dosya Sistemi
  • Dokany - ayrı bir çekirdek sürücüsü kullanan Windows kullanıcı alanındaki dosya sistemleri için MIT lisanslı bir çerçeve ve kullanılabilir .NET bağlamaları