Virtuální souborový systém - Virtual file system

Systém virtuální soubor ( VFS ), nebo virtuální filesystem switch je abstraktní vrstvu nad konkrétnější souborového systému . Účelem VFS je umožnit klientským aplikacím jednotný přístup k různým typům konkrétních souborových systémů. VFS lze například použít k transparentnímu přístupu k místním a síťovým úložným zařízením, aniž by si klientská aplikace všimla rozdílu. Lze jej použít k překlenutí rozdílů v souborových systémech Windows , klasický Mac OS / macOS a Unix , takže aplikace mohou přistupovat k souborům na místních souborových systémech těchto typů, aniž by museli vědět, k jakému typu souborového systému přistupují.

VFS určuje rozhraní (nebo „smlouvu“) mezi jádrem a konkrétním souborovým systémem. Proto je snadné přidat podporu pro nové typy souborových systémů do jádra jednoduše splněním smlouvy. Podmínky smlouvy se mohou od vydání k vydání nekompatibilně měnit, což by vyžadovalo, aby byla podpora konkrétního systému souborů překompilována a případně upravena před překompilací, aby mohla fungovat s novým vydáním operačního systému; nebo dodavatel operačního systému může ve smlouvě provádět pouze zpětně kompatibilní změny, aby konkrétní podpora systému souborů vytvořená pro dané vydání operačního systému fungovala s budoucími verzemi operačního systému.

Implementace

Pozice vrstvy VFS v různých částech zásobníku úložiště jádra Linuxu .

Jeden z prvních mechanismů virtuálního souborového systému na unixových systémech byl představen společností Sun Microsystems v SunOS 2.0 v roce 1985. Umožňoval systémovým voláním Unix transparentně přistupovat k místním souborovým systémům UFS a vzdáleným souborovým systémům NFS . Z tohoto důvodu dodavatelé Unixu, kteří licencovali kód NFS od společnosti Sun, často kopírovali design VFS společnosti Sun. Mohly být do něj zapojeny i jiné souborové systémy: došlo k implementaci souborového systému MS-DOS FAT vyvinutého ve společnosti Sun, který byl zapojen do systému SunOS VFS, přestože nebyl dodáván jako produkt až do verze SunOS 4.1. Implementace SunOS byla základem mechanismu VFS v System V Release 4 .

John Heidemann vyvinul stohovací VFS pod SunOS 4.0 pro experimentální souborový systém Ficus . Tento návrh zajišťoval opětovné použití kódu mezi typy souborových systémů s odlišnou, ale podobnou sémantikou ( např . Šifrovací souborový systém by mohl znovu použít veškerý kód pro správu pojmenování a správy úložiště nekódujícího souborového systému). Heidemann upravil tuto práci pro použití v 4.4BSD jako součást výzkumu své diplomové práce ; potomci tohoto kódu podporují implementace systému souborů v moderních derivátech BSD včetně macOS .

Mezi další unixové virtuální souborové systémy patří File System Switch v System V Release 3 , Generic File System v Ultrixu a VFS v Linuxu . V OS/2 a Microsoft Windows se mechanismus virtuálního systému souborů nazývá Instalovatelný systém souborů .

Mechanismus Filesystem v uživatelském prostoru (FUSE) umožňuje, aby se kód uživatelské země připojil k mechanismu virtuálního systému souborů v systémech Linux, NetBSD , FreeBSD , OpenSolaris a macOS.

V systému Microsoft Windows lze virtuální souborové systémy implementovat také prostřednictvím rozšíření oboru názvů userland Shell ; nicméně nepodporují rozhraní pro programování aplikací pro přístup k aplikacím nejnižší úrovně v systému Windows, takže ne všechny aplikace budou mít přístup k souborovým systémům, které jsou implementovány jako rozšíření jmenného prostoru. KIO a GVfs / GIO poskytují podobné mechanismy v desktopových prostředích KDE a GNOME (v uvedeném pořadí), s podobnými omezeními, i když je lze použít k použití technik FUSE, a proto se hladce integrují do systému.

Virtuální souborové systémy s jedním souborem

Někdy Virtual File System odkazuje na soubor nebo skupinu souborů (ne nutně uvnitř konkrétního systému souborů), které fungují jako spravovatelný kontejner, který by měl poskytovat funkce konkrétního systému souborů pomocí softwaru. Příklady takových kontejnerů jsou úložiště CBFS nebo virtuální systém souborů s jedním souborem v emulátoru, jako je PCTask nebo takzvaný WinUAE , Oracle VirtualBox , Virtual PC od Microsoftu , VMware .

Hlavní výhodou tohoto typu systému souborů je centralizace a snadné odstranění. Jednosložkový virtuální souborový systém může zahrnovat všechny základní funkce očekávané od jakéhokoli souborového systému (virtuálního nebo jiného), ale přístup k vnitřní struktuře těchto souborových systémů je často omezen na programy speciálně napsané pro využití virtualizace jednoho souboru souborový systém (namísto implementace prostřednictvím ovladače umožňujícího univerzální přístup). Další hlavní nevýhodou je, že výkon je ve srovnání s jinými virtuálními souborovými systémy relativně nízký. Nízký výkon je většinou způsoben náklady na míchání virtuálních souborů při zápisu nebo mazání dat z virtuálního systému souborů.

Implementace virtuálních souborových systémů s jedním souborem

Přímé příklady virtuálních souborových systémů s jedním souborem zahrnují emulátory, jako jsou PCTask a WinUAE, které zapouzdřují nejen data souborového systému, ale také emulované rozložení disku. Díky tomu je snadné zacházet s instalací operačního systému jako s jakýmkoli jiným softwarem - přenášet jej pomocí vyměnitelného média nebo přes síť.

PCTask

Amiga emulator PCTask emulován Intel PC 8088 stroj na bázi taktovaný na 4,77 MHz (a pozdější 80486 SX taktovaný na 25 MHz). Uživatelé PCTask mohli na souborovém systému Amiga vytvořit soubor velké velikosti a tento soubor by byl virtuálně přístupný z emulátoru, jako by to byl skutečný pevný disk počítače. Soubor lze formátovat pomocí souborového systému FAT16 pro ukládání běžných souborů MS-DOS nebo Windows.

WinUAE

UAE pro Windows , WinUAE , umožňuje velké jednotlivé soubory v systému Windows, které mají být považovány za souborových systémech Amiga. Ve WinUAE se tento soubor nazývá pevný soubor .

Spojené arabské emiráty by také mohly považovat adresář na hostitelském souborovém systému ( Windows , Linux , macOS , AmigaOS ) za souborový systém Amiga.

Viz také

  • 9P (protokol)-protokol  distribuovaného systému souborů, který se mapuje přímo na vrstvu VFS plánu 9, čímž je přístup k systému souborů transparentní
  • Syntetický souborový systém  -hierarchické rozhraní k nesouborovým objektům, které vypadají, jako by to byly běžné soubory ve stromu souborového systému založeného na disku

Poznámky

  1. ^ Emulace na AmigaPorovnání mezi PCX a PCTask, emulátory PC Amiga.
  2. ^ Viz takéTento článekvysvětluje, jak to funguje PCTask.
  3. ^ Nápověda o WinUAE(viz část Hardfile).
  4. ^ Nápověda o WinUAE(viz část Přidat adresář)

Reference

externí odkazy