Soubor

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 18. listopadu 2021; kontroly vyžadují 8 úprav .

Soubor ( anglicky  file ) je pojmenovaná datová oblast na paměťovém médiu používaná jako základní objekt pro interakci s daty v operačních systémech .

Práce se soubory je obvykle realizována pomocí souborových systémů , které zajišťují organizaci práce se soubory a abstrakci přes informační nosiče . Obvykle se rozlišují spustitelné soubory (programy) a skutečné datové soubory (například textové soubory nebo kontejnery médií ). Formát souboru  je způsob organizace dat v souboru, který vám umožňuje zapisovat do něj informace v souladu s jeho významem a interpretovat to, co je zapsáno. Mnoho operačních systémů přirovnává jiné zdroje jako soubory a zachází s nimi; nejrozšířenější použití konceptu souboru je typické pro operační systémy typu Unix , které tento koncept implementují„vše je soubor“ ( angl.  všechno je soubor ). Za soubory jsou v nich považovány nejen datové oblasti na svazku , ale zejména fyzická zařízení ( porty nebo tiskárny ), virtuální zařízení ( /dev/null , /dev/random , /dev/urandom a další), data proudy (například pojmenované kanály ), síťové prostředky, zásuvky .

Historie

Slovo soubor bylo poprvé použito na počítačový úložný systém v roce 1950. Reklama na RCA paměti CRT paměti v časopise Popular Science [1] zněla:

... výsledky nesčetných výpočtů mohou být uloženy "v kartotéce" ( anglicky  on file ) a znovu přijaty. Tato "skříňka" nyní existuje v paměťové trubici vyvinuté v laboratořích RCA. Elektricky ukládá čísla odeslaná do počítače a uchovává je v úložišti, zároveň si zapamatuje nová – urychluje inteligentní řešení v labyrintech matematiky.

V roce 1952 se slovo soubor označovalo jako balíček děrných štítků . [2] Soubor word nejprve odkazoval na samotné paměťové zařízení, nikoli na jeho obsah ( soubor registru ). Například disky IBM 350 používané například ve stroji IBM 305 se nazývaly diskové soubory [3] . Systémy jako Compatible Time-Sharing System zavedly koncept souborového systému, kde na jednom úložném zařízení existuje více virtuálních „paměťových zařízení“, což dává slovu „soubor“ jeho moderní význam. Názvy souborů v CTSS se skládaly ze dvou částí, „primárního jména“ a „sekundárního jména“ (druhé dodnes existuje jako přípona souboru ) [4] [5] .

Systém souborů

S rozvojem výpočetní techniky bylo souborů v systémech stále více. Pro pohodlí práce s nimi se, stejně jako ostatní data, začaly organizovat do struktur (současně se objevily symbolické názvy). Nejprve to bylo jednoduché pole „připojené“ ke konkrétnímu paměťovému médiu. V současnosti se nejvíce rozšířila stromová organizace s možností připojovat a vkládat další odkazy (tedy odkazy) . V souladu s tím získal název souboru charakter cesty k souboru : seznam uzlů stromu systému souborů, které je třeba procházet, aby se k němu dostaly.

Soubor jako objekt API operačního systému

Operační systém poskytuje aplikacím sadu funkcí a struktur pro práci se soubory. Možnosti operačního systému ukládají další omezení na omezení systému souborů. Z pohledu API je soubor objekt, na který lze aplikovat funkce tohoto API. Na úrovni API již není důležité, zda soubor existuje jako objekt systému souborů nebo je například I/O zařízením.

Vlastnosti souboru

V závislosti na systému souborů může mít soubor jinou sadu vlastností.

Název souboru

Ve většině systémů souborů se název souboru používá k označení, ke kterému souboru se přistupuje. V různých souborových systémech se omezení názvu souboru značně liší: ve FAT16 a FAT12 je velikost názvu souboru omezena na 8,3 znaků (8 pro název a 3 pro příponu ); na jiných systémech je název souboru obvykle omezen na 255 bajtů; v NTFS je název v některých operačních systémech omezen na 256 znaků Unicode (32 768 znaků podle specifikace).

Kromě omezení souborového systému rozhraní operačního systému dále omezují znakovou sadu, která je povolena při práci se soubory.

V systému MS-DOS jsou v názvu souboru povolena pouze velká písmena latinky a číslice. Mezera, otazník, hvězdička, symboly větší a menší než, symbol svislé čáry nejsou povoleny. [6] Při volání systémových funkcí jsou názvy souborů psané malými nebo smíšenými písmeny převedeny na velká písmena.

V systému Windows jsou v názvu souboru povolena velká a malá písmena, čísla, některá interpunkční znaménka a mezera. Symboly >, <, |, ?, *, /, \, :jsou zakázány ".

Pro Linux (s ohledem na možnost maskování) jsou povoleny všechny znaky kromě /znaku null .

Většina operačních systémů vyžaduje, aby byl název souboru jedinečný v jednom adresáři, i když některé systémy umožňují soubory se stejným názvem (například při práci s páskovými jednotkami).

Na některých souborových systémech je možné vytvářet a používat nepojmenované soubory. Takové soubory jsou vždy dočasné. Jejich hlavní výhodou je, že po vytvoření nemůže dojít ke konfliktu jmen a nelze je najít ve svém adresáři podle jména. Zbytek jsou kompletní soubory.

Přípona názvu souboru

Přípona názvu souboru (často: přípona souboru nebo přípona) jako nezávislý atribut souboru existuje v souborových systémech FAT16 , FAT32 , NTFS používaných operačními systémy MS-DOS, DR-DOS, PC DOS, MS Windows a používá se k určení typ souboru. Umožňuje systému určit, která aplikace má soubor otevřít. Ve výchozím nastavení je v operačních systémech Windows a Mac OS rozšíření před uživatelem skryto.

V jiných souborových systémech je přípona konvence, část názvu, oddělená tečkou zcela vpravo v názvu (příponou).

Hlavní atributy

Některé systémy souborů, jako je NTFS, poskytují atributy (obvykle binární hodnotu ano/ne kódovanou jedním bitem). V mnoha moderních operačních systémech mají atributy malý nebo žádný vliv na možnost přístupu k souborům, proto v některých operačních systémech a souborových systémech existují přístupová práva .

Název atributu Překlad Význam Souborové systémy Operační systémy
Pouze ke čtení pouze na čtení soubor není povoleno upravovat FAT32, FAT12, FAT16, NTFS, HPFS, VFAT DOS, OS/2 , Windows
Systém systémové kritický soubor operačního systému FAT32, FAT12, FAT16, NTFS, HPFS, VFAT DOS, OS/2, Windows
Skrytý skrytý pokud není výslovně uvedeno jinak, soubor se nezobrazuje FAT32, FAT12, FAT16, NTFS, HPFS, VFAT DOS, OS/2, Windows
Archiv archivní (vyžadující archivaci) soubor byl po zálohování změněn nebo nebyl zkopírován zálohovacími programy; když se soubor změní, OS automaticky nastaví tento atribut FAT32, FAT12, FAT16, NTFS, HPFS, VFAT DOS, OS/2, Windows
SUID Nastavení ID uživatele spuštění programu jménem vlastníka ext2 Unixové
SGID Nastavení ID skupiny spuštění programu jménem skupiny (pro adresáře: každý soubor vytvořený v adresáři s nastaveným SGID získá zadanou skupinu vlastníků) ext2 Unixové
lepkavý kousek lepkavý kousek původně instruoval jádro, aby nevytahovalo dokončený program z paměti okamžitě, ale až po nějaké době, aby se zabránilo neustálému načítání nejčastěji používaných programů z disku, v současné době se v různých operačních systémech používá odlišně ext2 Unixové

Čas

Pro soubor lze definovat časová razítka vytvoření, poslední úpravy, posledního přístupu a další.

Vlastník souboru a skupina

Některé systémy souborů poskytují označení vlastníka souboru a skupiny vlastníků.

Oprávnění

Některé systémy souborů poskytují možnost omezit přístup uživatelů k obsahu souboru. V operačních systémech podobných Unixu se dříve obecně rozlišovaly tři typy oprávnění pro soubory: zápis, čtení a spouštění. Každé právo je nastaveno zvlášť pro vlastníka, pro skupinu a pro všechny ostatní. ACL umožňuje podrobnější oddělení práv a uživatelů.

V operačních systémech Windows NT jsou při práci se systémem souborů NTFS přístupová práva nastavena explicitně pro uživatele nebo skupiny nebo jsou zděděna z nadřazených objektů. Práva zahrnují právo číst, zapisovat, spouštět, mazat, měnit atributy a vlastníka, vytvářet a mazat podsložky (pro složky) a oprávnění ke čtení a další jako v POSIX. Každé právo může být specifikováno jako povolení nebo zákaz. Deny má na rozdíl od POSIX přednost před oprávněním.

Operace se soubory

Obvykle lze rozlišit dva typy operací se souborem – operace spojené s jeho otevřením a operace prováděné bez jeho otevření. Operace prvního typu se obvykle používají ke čtení a zápisu informací nebo k přípravě na čtení nebo zápis. Operace druhého typu se provádějí na souboru jako na „objektu“ souborového systému, ve kterém je soubor nejmenším prvkem strukturování.

Operace související s otevřením souboru

Některé operace nemusí být dostupné v závislosti na operačním systému.

Obvykle se rozlišují další entity spojené s prací se souborem:

Operace

Operace nesouvisející s otevřením souboru

Operace, které nevyžadují otevření souboru, pracují s jeho "externími" vlastnostmi - velikost, název, pozice v adresářovém stromu . Při takovýchto operacích je nemožný přístup k obsahu souboru, soubor je minimální jednotkou dělení informací.

Možné operace se soubory: vytvoření, odstranění, přejmenování, kopírování, přesun do jiného systému souborů, vytvoření symbolického odkazu nebo pevného odkazu , získání a změna atributů.

V závislosti na systému souborů, paměťovém médiu, operačním systému nemusí být některé operace dostupné.

Typy souborů

Podle způsobu organizace se soubory dělí na soubory s náhodným přístupem a soubory se sekvenčním přístupem .

Různé operační systémy a systémy souborů mohou implementovat různé typy souborů a implementace různých typů se může lišit.

Funkce implementace

V operačním systému Unix jsou procesy (obvykle nalezené v /proc) a zařízení ( /dev) reprezentovány jako speciální typ souboru, který umožňuje použití některých souborových operací k manipulaci s těmito objekty.

V některých souborových systémech (jako je souborový systém VMS ) jsou soubory verzovány, což umožňuje otevření starších verzí daného souboru. V souborovém systému Mac OS ( HFS ) mají soubory dva „streamy“: datový tok (kde je uložen obsah souboru) a zdrojový tok, který uchovává informace o programu určeném k otevření daného souboru, popř. nějaké informace k tomuto programu. V NTFS může soubor kromě hlavního obsahovat libovolný počet pojmenovaných streamů.

Viz také

Poznámky

  1. Bonnier Corporation. Populární věda . - Bonnier Corporation , 1950. - S. 96 -. Archivováno 9. ledna 2022 na Wayback Machine
  2. Robert S. Casey a kol. Děrné štítky: Jejich aplikace ve vědě a průmyslu , 1952.
  3. Martin H. Weik. Zpráva balistických výzkumných laboratoří č. 1115. března 1961. str. 314-331 Archivováno 21. října 2016 na Wayback Machine
  4. Fernando J. Corbató a kol. " Experimentální systém sdílení času archivován 6. září 2009 na Wayback Machine ." 3. května 1962
  5. Technické poznámky Jerome H. Saltzera CTSS Archivovány 13. září 2006 na Wayback Machine . Projekt MIT-LCS-TR016
  6. Přehled souborových systémů FAT, HPFS a NTFS . Získáno 22. října 2008. Archivováno z originálu 8. května 2008.