Unixový souborový systém - Unix filesystem


v Unix a operační systémy inspirovaný tím, souborový systém je považována za centrální součást operačního systému.[1] Byla to také jedna z prvních částí systému, kterou navrhl a implementoval Ken Thompson v první experimentální verzi Unixu, datováno 1969.[2]
Stejně jako v jiných operačních systémech poskytuje souborový systém ukládání a vyhledávání informací a jednu z několika forem meziprocesová komunikace v tom, že mnoho malých programů, které tradičně tvoří unixový systém, může ukládat informace do souborů, aby je mohly číst jiné programy, i když potrubí doplnil ji v této roli počínaje Třetí edice. Souborový systém také poskytuje přístup k dalším zdrojům prostřednictvím tzv soubory zařízení to jsou vstupní body do terminály, tiskaři, a myši.
Zbytek tohoto článku používá Unix jako druhové jméno odkazovat jak na původní operační systém Unix, tak na jeho mnoho dělníci.
Zásady
Souborový systém se jeví jako jeden zakořeněný strom adresářů.[1] Místo řešení samostatných svazků, jako je diskové oddíly, vyměnitelné médium a sdílení v síti jako samostatné stromy (jak je to provedeno v DOS a Okna: každý řídit má písmeno jednotky, které označuje kořen stromu stromu systému souborů), takové svazky mohou být jízdní v adresáři, což způsobí, že se stromový systém souborového systému zobrazí jako adresář ve větším stromu.[1] Kořen celého stromu je označen /
.
V originále Bell Labs Unix bylo obvyklé nastavení dvou disků, kde první disk obsahoval spouštěcí programy, zatímco druhý obsahoval soubory a programy uživatelů. Tento druhý disk byl připojen k prázdnému adresáři s názvem usr
na prvním disku, což způsobí, že se dva disky zobrazí jako jeden souborový systém a obsah druhého disku bude viditelný na / usr
.
Unixové adresáře ne obsahovat soubory. Místo toho obsahují názvy souborů spárovaných s odkazy na tzv inody, které zase obsahují soubor i jeho metadata (vlastník, oprávnění, čas posledního přístupu atd., ale bez jména). Více názvů v systému souborů může odkazovat na stejný soubor, funkci nazvanou a pevný odkaz.[1] Matematické vlastnosti pevných odkazů činí souborový systém omezeným typem směrovaný acyklický graf, Ačkoliv adresáře stále tvoří strom, protože obvykle nemusí být pevně propojeny. (Jak se původně předpokládalo v roce 1969, souborový systém Unix by se ve skutečnosti používal jako obecný graf s pevnými odkazy na adresáře poskytující navigaci, místo názvů cest.[2])
Typy souborů
Původní souborový systém Unix podporoval tři typy souborů: běžné soubory, adresáře a „speciální soubory“, také nazývané soubory zařízení.[1] The Distribuce softwaru Berkeley (BSD) a Systém V každý přidal typ souboru, pro který se má použít meziprocesová komunikace: Přidáno BSD zásuvky,[3] zatímco byl přidán Systém V. Soubory FIFO.
BSD také přidáno symbolické odkazy (často nazývané „symbolické odkazy“) do rozsahu typů souborů, což jsou soubory, které odkazují na jiné soubory, a doplňují pevné odkazy.[3] Symlinks byly modelovány podle podobné funkce v Multics,[4] a liší se od pevných odkazů v tom, že mohou zahrnovat souborové systémy a že jejich existence je nezávislá na cílovém objektu. Jiné systémy Unix mohou podporovat další typy souborů.[5]
Konvenční rozložení adresáře
Existují určité konvence pro vyhledání některých druhů souborů, jako jsou programy, systémové konfigurační soubory a uživatelské soubory. domovské adresáře. Ty byly poprvé zdokumentovány v hier (7)
manuálová stránka od té doby Verze 7 Unix;[6] následující verze, deriváty a klony mají obvykle podobnou manuálovou stránku.[7][8][9][10][11][12]
Podrobnosti o rozvržení adresáře se časem měnily. Ačkoli rozložení systému souborů není součástí Single UNIX Specification, existuje několik pokusů o jeho standardizaci (části), například Systém V Binární rozhraní aplikace, Standard Intel Binary Compatibility Standard společné prostředí operačního systému a Linux Foundation je Standard hierarchie souborového systému (FHS).[13]
Zde je obecný přehled běžných umístění souborů v operačním systému Unix:
Adresář nebo soubor | Popis |
---|---|
/ | Lomítko / samotný znak označuje kořen stromu souborového systému. |
| Stojany pro binární soubory a obsahuje určité základní nástroje, například je nebo str , které jsou potřebné k připojení / usr , pokud se jedná o samostatný souborový systém, nebo pro spuštění v režimu pro jednoho uživatele (pro správu), když / usr nelze namontovat. V systému V.4 se jedná o symbolický odkaz na / usr / bin . Jinak musí být na samotném kořenovém souborovém systému. |
Obsahuje všechny soubory potřebné pro úspěšný proces bootování. v Výzkum Unixu, toto byl spíše jeden soubor než adresář.[14] V dnešní době obvykle na samotném kořenovém souborovém systému, pokud systém, bootloader atd. Nevyžadují jinak. | |
Stojany pro zařízení. Obsahuje reprezentace souborů periferních zařízení a pseudo zařízení. Viz také: Linux Assigned Names and Numbers Authority. Musí být v samotném kořenovém souborovém systému. | |
| Obsahuje systémové konfigurační soubory a systémové databáze; název znamená a tak dále.[14] Původně také obsahoval „nástroje pro nebezpečnou údržbu“, jako např inic ,[6] ale ty byly obvykle přesunuty do / sbin nebo jinde. Musí být v samotném kořenovém souborovém systému. |
| Obsahuje domovské adresáře uživatelů v systému Linux a některých dalších systémech. V původní verzi Unixu byly domácí adresáře / usr namísto.[15] Některé systémy stále používají nebo používaly různá umístění: Operační Systém Mac má domovské adresáře v / Uživatelé , vložily je starší verze BSD / u , FreeBSD má / usr / home . |
| Původně základní knihovny: C knihovny, ale ne Fortran ty.[14] V moderních systémech obsahuje sdílené knihovny potřebné pro programy v systému Windows /zásobník , a možná zaváděcí modul jádra nebo ovladače zařízení. Linuxové distribuce mohou mít varianty / lib32 a / lib64 pro podporu více architektur. |
| Výchozí bod připojení pro vyměnitelná zařízení, jako jsou USB flash disky, přehrávače médií atd. Zdravým rozumem je samotný adresář, jehož podadresáře jsou připojovací body, na samotném kořenovém oddílu. |
| Stojany pro připojit. Prázdný adresář běžně používaný správci systému jako dočasný bod připojení. Zdravým rozumem je samotný adresář, jehož podadresáře jsou přípojné body, na samotném kořenovém oddílu. |
| Obsahuje lokálně nainstalovaný software. Vznikl v Systém V, který má správce balíčků který nainstaluje software do tohoto adresáře (jeden podadresář na balíček).[16] |
| procfs virtuální souborový systém zobrazující informace o procesy jako soubory. |
| Domovský adresář pro superuživatel vykořenit - tj. správce systému. Domovský adresář tohoto účtu je obvykle v počátečním souborovém systému, a proto není v adresáři / home (což může být přípojným bodem pro jiný souborový systém) pro případ, že je třeba provést specifickou údržbu, během které nejsou k dispozici jiné souborové systémy. Takový případ může nastat, například pokud jednotka pevného disku trpí fyzickými poruchami a nebude ji možné správně připojit. Podle konvence je tento adresář v kořenovém oddílu samotném; v každém případě ano ne odkaz na * / home / root nebo něco podobného. |
| Stojany pro „binární soubory systému (nebo superuživatele) "a obsahuje základní nástroje, jako je inic , obvykle potřebné ke spuštění, údržbě a obnovení systému. Musí být na kořenovém oddílu samotném. |
| Data serveru (data pro služby poskytované systémem). |
| V některých Linuxové distribuce, obsahuje a sysfs virtuální souborový systém, obsahující informace týkající se hardwaru a operačního systému. Na systémech BSD obvykle symbolický odkaz na zdroje jádra v / usr / src / sys . |
| Místo pro dočasné soubory, u nichž se neočekává, že přežijí restart. Mnoho systémů tento adresář vymaže při spuštění nebo použití tmpfs implementovat to. |
| Unix jádro ve výzkumu Unix a Systém V.[14] S přidáním virtuální paměť podpora 3BSD, toto bylo přejmenováno / vmunix . |
| „Systém souborů uživatelů“: původně adresář obsahující domovské adresáře uživatelů,[15] ale již ve třetím vydání Výzkum Unixu, ca. 1973, znovu použito k rozdělení programů operačního systému na dva disky (jeden z nich 256K disk s pevnou hlavou), aby se základní příkazy objevily v /zásobník nebo / usr / bin .[17] Nyní obsahuje spustitelné soubory, knihovny a sdílené prostředky, které nejsou kritické pro systém, jako je Systém X Window, KDE, Perl atd. Ve starších systémech Unix se domovské adresáře uživatelů mohou stále zobrazovat / usr vedle adresářů obsahujících programy, i když do roku 1984 to záviselo místní zvyky.[14] |
| Ukládá záhlaví vývoje použitá v celém systému. Soubory záhlaví jsou většinou používány #zahrnout směrnice v C jazyk, což je historicky způsob, jakým byl zvolen název tohoto adresáře. |
| Ukládá potřebné knihovny a datové soubory pro programy uložené uvnitř / usr nebo jinde. |
| Pozastavuje programy, které mají být spouštěny jinými programy než přímo uživateli. Např Poslat mail spustitelný soubor lze nalézt v tomto adresáři.[18] Není přítomen na FHS do roku 2011;[19] Distribuce Linuxu tradičně přesunuly obsah tohoto adresáře do / usr / lib , kde také pobývali v 4.3BSD. |
| Připomíná / usr ve struktuře, ale její podadresáře se používají pro doplňky, které nejsou součástí distribuce operačního systému, jako jsou vlastní programy nebo soubory z BSD Sběr portů. Obvykle má podadresáře jako / usr / local / lib nebo / usr / local / bin . |
| Data programu nezávislá na architektuře. Na Linuxu a moderních derivátech BSD má tento adresář podadresáře jako např muž pro stránky, která se dříve objevovala přímo pod / usr ve starších verzích. |
| Stojany pro proměnná. Místo pro soubory, které se mohou často měnit - zejména pokud jde o velikost, například e-mail odeslaný uživatelům v systému nebo ID procesu zamknout soubory. |
| Obsahuje soubory systémového protokolu. |
| Místo, kde je uložena veškerá příchozí pošta. Uživatelé (jiní než vykořenit ) mají přístup pouze k vlastní poště. Tento adresář je často symbolický odkaz na / var / cívka / mail . |
| Cívka adresář. Obsahuje tiskové úlohy, zařazování pošty a další úlohy ve frontě. |
| Místo, kde se nachází nekompilovaný zdrojový kód některých programů. |
| The / var / tmp adresář je místo pro dočasné soubory, které by měly být zachovány mezi restartováním systému. |
Viz také
- Btrfs
- ext2
- ext3
- ext4
- Standard hierarchie souborového systému
- KLADIVO
- JFS (souborový systém)
- Systém souborů Unix
- Systém souborů Veritas
- ZFS
Reference
- Tento článek včlení materiál z Citizendium článek "Unixový souborový systém ", který je licencován pod Creative Commons Attribution-ShareAlike 3.0 Unported License ale ne pod GFDL.
- ^ A b C d E Ritchie, D.M.; Thompson, K. (Červenec 1978). "Systém sdílení času UNIX". Bell System Tech. J. 57 (6): 1905–1929. CiteSeerX 10.1.1.112.595. doi:10.1002 / j.1538-7305.1978.tb02136.x.
- ^ A b Ritchie, Dennis M. (1979). Vývoj unixového systému sdílení času. Metodika jazykového designu a programování Konf.
- ^ A b Leffler, Samuel J.; McKusick, Marshall Kirk; Karels, Michael J.; Quarterman, John S. (Říjen 1989). Návrh a implementace operačního systému 4.3BSD UNIX. Addison-Wesley. ISBN 978-0-201-06196-3.
- ^ McKusick, Marshall Kirk; et al. „Rychlý souborový systém pro Unix“ (PDF). Freebsd.org. CSRG, UC Berkeley. Citováno 16. listopadu 2016.
- ^ Linux Programátor Manuál - Systémová volání –
- ^ A b Verze 7 Unix Programátor Manuál –
- ^ FreeBSD ruzne informace Manuál –
- ^ OpenBSD ruzne informace Manuál –
- ^ "hier (7) manuálová stránka pro 2.9.1 BSD".
- ^ "hier (7) manuálová stránka pro ULTRIX 4.2".
- ^ "hier (7) manuálová stránka pro SunOS 4.1.3".
- ^ Linux Programátor Manuál - Přehled, konvence a různé –
- ^ George Kraft IV (1. listopadu 2000). „Kam nainstalovat mé produkty v systému Linux?“. Linux Journal. Citováno 13. listopadu 2014.
- ^ A b C d E Kernighan, Brian W.; Pike, Robe (1984). Programovací prostředí UNIX. Prentice-Hall. str.63–65. Bibcode:1984upe..book ..... K..
- ^ A b Ritchie, Dennis. „Unix Notes from 1972“. Citováno 14. ledna 2018.
- ^ Binární rozhraní aplikace System V Vydání 4.1 (1997-03-18)
- ^ M. D. McIlroy (1987). Čtenář Research Unix: anotované výňatky z Programmer's Manual, 1971–1986. CSTR 139, Bell Labs.
- ^ "Kapitola 7. sendmail". UNICOS / mp Správa síťových zařízení. Cray. Citováno 14. září 2013.
- ^ „revize fhs-spec 44“.