Fájl

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2021. november 18-án felülvizsgált verziótól ; az ellenőrzések 8 szerkesztést igényelnek .

A fájl ( angol nyelvű  fájl ) egy elnevezett adatterület a tárolóeszközön , amely alapvető objektumként szolgál az operációs rendszerek adataival való interakcióhoz .

A fájlokkal való munkavégzés általában olyan fájlrendszerekkel valósul meg , amelyek a fájlokkal való munka megszervezését és az információhordozókon keresztüli absztrakciót biztosítják . Általában megkülönböztetik a végrehajtható fájlokat (programokat) és a tényleges adatfájlokat (például szövegfájlokat vagy médiatárolókat ). A fájlformátum  az adatok fájlon belüli rendszerezésének módja, amely lehetővé teszi, hogy a jelentésüknek megfelelően információkat írjon bele, és értelmezze a leírtakat. Sok operációs rendszer más erőforrásokat, például fájlokat azonosít és kezel; a fájl fogalmának legelterjedtebb használata a Unix-szerű operációs rendszerekre jellemző, amelyek a "minden fájl" ( eng.  everything is a file ) koncepciót valósítják meg . Ezekben nem csak a kötet adatterületei számítanak fájloknak , hanem különösen a fizikai eszközök ( portok vagy nyomtatók ), virtuális eszközök ( /dev/null , /dev/random , /dev/urandom és mások), adatok is. folyamok (például , nevű csövek ), hálózati erőforrások, socketek .

Történelem

A fájl szót először 1950-ben alkalmazták számítógépes tárolórendszerre. A Popular Science magazinban [1] megjelent egy RCA memória CRT memória hirdetése :

... számtalan számítás eredménye "egy irattárban" ( angolul  on file ) tárolható és újra fogadható. Ez a "fájlszekrény" ma már az RCA laborokban kifejlesztett memóriacsőben található. Elektromosan menti a számítógépre küldött számokat, és tárolja azokat, ugyanakkor megjegyzi az újakat – ezzel felgyorsítva az intelligens megoldásokat a matematika útvesztőiben.

1952-ben a fájl szót lyukkártyapaklinak nevezték . [2] A szófájl először magára a memóriaeszközre utalt, nem pedig annak tartalmára ( regiszterfájl ) . Például az IBM 305 gépben használt IBM 350 lemezeket lemezfájloknak nevezték [3] . Az olyan rendszerek, mint a Compatible Time-Sharing System , bevezették a fájlrendszer fogalmát, ahol több virtuális „memóriaeszköz” létezik egyetlen tárolóeszközön, így a „fájl” szó modern jelentését adja. A CTSS-ben a fájlnevek két részből álltak, az "elsődleges névből" és a "másodlagos névből" (ez utóbbi még ma is létezik fájlnévkiterjesztésként ) [4] [5] .

Fájlrendszer

A számítástechnika fejlődésével a fájlok a rendszerekben egyre többen lettek. A velük való munka megkönnyítése érdekében más adatokhoz hasonlóan struktúrákba szerveződtek (egyidejűleg jelentek meg a szimbolikus nevek). Eleinte egy egyszerű tömb volt , amely egy adott adathordozóhoz volt "csatolva". Jelenleg a fa -szerű szervezet, amely további hivatkozások (vagyis hivatkozások) beillesztésére és beillesztésére képes, a legelterjedtebbé vált . Ennek megfelelően a fájlnév elnyerte a fájl elérési út karakterét: a fájlrendszerfa azon csomópontjainak listája, amelyeket be kell járni, hogy eljusson hozzá.

Fájl operációs rendszer API-objektumként

Az operációs rendszer egy sor funkciót és struktúrát biztosít az alkalmazások számára a fájlokkal való munkavégzéshez. Az operációs rendszer képességei további korlátozásokat támasztanak a fájlrendszer korlátaival kapcsolatban. Az API szempontjából a fájl egy olyan objektum, amelyre ennek az API-nak a funkciói alkalmazhatók. API-szinten már nem számít, hogy a fájl fájlrendszer-objektumként létezik-e, vagy például egy I/O eszköz.

Fájl tulajdonságai

A fájlrendszertől függően egy fájl eltérő tulajdonságokkal rendelkezhet.

Fájlnév

A legtöbb fájlrendszerben a fájlnév jelzi, hogy melyik fájlt akarjuk elérni. A különböző fájlrendszerekben a fájlnév-korlátozások nagymértékben eltérőek: FAT16 és FAT12 esetén a fájlnév mérete 8,3 karakterre korlátozódik (8 a név és 3 a kiterjesztés ); más rendszereken a fájlnév általában 255 bájtra korlátozódik; NTFS - ben a név egyes operációs rendszereken 256 Unicode karakterre korlátozódik (a specifikáció szerint 32 768 karakter).

A fájlrendszer-korlátozások mellett az operációs rendszer interfészek tovább korlátozzák a fájlokkal végzett munka során megengedett karakterkészletet.

MS-DOS esetén csak a latin nagybetűk és számok megengedettek a fájlnévben. Szóköz, kérdőjel, csillag, nagyobb mint és kisebb szimbólumok, függőleges sáv szimbólum nem megengedett. [6] Rendszerfüggvények hívásakor a kisbetűs vagy vegyes fájlneveket nagybetűssé alakítja a rendszer.

Windows esetén kis- és nagybetűk, számok, néhány írásjel, szóköz megengedett a fájlnévben. Szimbólumok >, <, |, ?, *, /, \, :, tilosak ".

Linux esetén (figyelembe véve a maszkolás lehetőségét) minden karakter megengedett, kivéve /a null karaktert .

A legtöbb operációs rendszer megköveteli, hogy a fájlnév egyedi legyen egyetlen könyvtárban, bár egyes rendszerek engedélyezik az azonos nevű fájlokat (például szalagos meghajtókkal végzett munka esetén).

Egyes fájlrendszereken lehetőség van névtelen fájlok létrehozására és használatára. Az ilyen fájlok mindig ideiglenesek. Fő előnyük, hogy létrehozásukkor nem lehet névütközés, és név szerint nem találhatóak meg a könyvtárukban. A többi teljes fájl.

Fájlnévkiterjesztés

A fájlnév kiterjesztése (gyakran: fájl kiterjesztése vagy kiterjesztése) független fájlattribútumként létezik az MS-DOS, DR-DOS, PC DOS, MS Windows operációs rendszerek által használt FAT16 , FAT32 , NTFS fájlrendszerekben, és a fájltípus. Lehetővé teszi a rendszer számára, hogy meghatározza, melyik alkalmazás nyissa meg a fájlt. Alapértelmezés szerint Windows és Mac OS operációs rendszereken a bővítmény rejtve van a felhasználó elől.

Más fájlrendszerekben a kiterjesztés egy konvenció, a név része, amelyet a név jobb szélső pontja választ el (utótag).

Fő attribútumok

Egyes fájlrendszerek, például az NTFS, attribútumokat biztosítanak (általában egy bittel kódolt igen/nem bináris érték). Sok modern operációs rendszerben az attribútumok alig, vagy egyáltalán nem befolyásolják a fájlokhoz való hozzáférést; ehhez bizonyos operációs rendszerekben és fájlrendszerekben hozzáférési jogok állnak rendelkezésre .

Attribútum neve Fordítás Jelentése Fájlrendszerek Operációs rendszer
Csak olvasható csak olvasásra a fájl nem szerkeszthető FAT32, FAT12, FAT16, NTFS, HPFS, VFAT DOS, OS/2 , Windows
Rendszer szisztémás operációs rendszer kritikus fájl FAT32, FAT12, FAT16, NTFS, HPFS, VFAT DOS, OS/2, Windows
Rejtett rejtett a fájl el van rejtve a megjelenítéstől, hacsak nincs kifejezetten másképp jelezve FAT32, FAT12, FAT16, NTFS, HPFS, VFAT DOS, OS/2, Windows
Archívum archiválás (archiválást igényel) a fájlt a biztonsági mentés után módosították, vagy a biztonsági mentési programok nem másolták át; amikor a fájl megváltozik, az operációs rendszer automatikusan beállítja ezt az attribútumot FAT32, FAT12, FAT16, NTFS, HPFS, VFAT DOS, OS/2, Windows
SUID Felhasználói azonosító beállítása a program futtatása a tulajdonos nevében ext2 Unix-szerű
SGID Csoportazonosító beállítása a program végrehajtása egy csoport nevében (könyvtáraknál: minden olyan fájl, amelyet egy beállított SGID-vel rendelkező könyvtárban hoztak létre, megkapja a megadott tulajdonosi csoportot) ext2 Unix-szerű
ragacsos bit ragacsos bit eleinte arra utasította a kernelt, hogy az elkészült programot ne rakja ki azonnal a memóriából, hanem csak egy idő után, hogy elkerülje a leggyakrabban használt programok állandó lemezről történő betöltését, jelenleg eltérően használják a különböző operációs rendszerekben ext2 Unix-szerű

Idő

Egy fájlhoz a létrehozás, az utolsó módosítás, az utolsó hozzáférés és egyebek időbélyegei határozhatók meg.

Fájltulajdonos és csoport

Egyes fájlrendszerek jelzik a fájl tulajdonosát és a tulajdonoscsoportot.

Engedélyek

Egyes fájlrendszerek lehetővé teszik a felhasználók hozzáférésének korlátozását a fájl tartalmához. A Unix-szerű operációs rendszerekben korábban általában háromféle engedélyt különítettek el a fájlok számára: írási, olvasási és végrehajtási. Mindegyik jog külön van beállítva a tulajdonos, a csoport és mindenki más számára. Az ACL lehetővé teszi a jogok és a felhasználók részletesebb elkülönítését.

Windows NT operációs rendszerekben, amikor NTFS fájlrendszerrel dolgozik, a hozzáférési jogok kifejezetten a felhasználók vagy csoportok számára vannak beállítva, vagy a szülőobjektumoktól öröklődnek. A jogok magukban foglalják az olvasási, írási, végrehajtási, törlési, attribútumok és tulajdonosok megváltoztatásának jogát, almappák létrehozását és törlését (mappákhoz), valamint olvasási engedélyeket és egyebeket, például a POSIX-ben. Minden jog megadható engedélyként vagy tilalomként. A megtagadás elsőbbséget élvez az engedéllyel szemben, ellentétben a POSIX-szel.

Fájlműveletek

Hagyományosan kétféle műveletet különböztethetünk meg egy fájllal - a megnyitáshoz kapcsolódó és a megnyitás nélkül végrehajtott műveletet. Az első típusú műveleteket általában információ olvasására és írására, illetve az olvasásra vagy írásra való felkészülésre használják. A második típusú műveleteket egy fájlon, mint a fájlrendszer "objektumán" hajtják végre, amelyben a fájl a strukturálás legkisebb eleme.

Fájl megnyitásával kapcsolatos műveletek

Az operációs rendszertől függően előfordulhat, hogy egyes műveletek nem érhetők el.

Általában a fájlokkal való munkavégzéshez kapcsolódó további entitásokat különböztetnek meg:

Tevékenységek

A fájl megnyitásához nem kapcsolódó műveletek

A fájl megnyitását nem igénylő műveletek a „külső” jellemzői alapján működnek – méret, név, pozíció a könyvtárfában . Ilyen műveletekkel lehetetlen hozzáférni a fájl tartalmához, a fájl az információmegosztás minimális egysége.

Lehetséges fájlműveletek: létrehozás, törlés, átnevezés, másolás, áthelyezés egy másik fájlrendszerre, szimbolikus hivatkozás vagy merev hivatkozás létrehozása , attribútumok lekérése és módosítása.

A fájlrendszertől, adathordozótól és operációs rendszertől függően előfordulhat, hogy egyes műveletek nem érhetők el.

Fájltípusok

A szervezés módja szerint a fájlok véletlen hozzáférésű és szekvenciális hozzáférésű fájlokra vannak osztva .

A különböző operációs rendszerek és fájlrendszerek különböző típusú fájlokat valósíthatnak meg, és a különböző típusok megvalósítása eltérő lehet.

Megvalósítási jellemzők

A Unix operációs rendszerben a folyamatok (általában a /proc) és az eszközök ( /dev) egy speciális fájltípusként jelennek meg, amely lehetővé teszi bizonyos fájlműveletek használatát ezen objektumok kezeléséhez.

Egyes fájlrendszerekben (például a VMS fájlrendszerben ) a fájlok verziószámmal vannak ellátva, ami lehetővé teszi egy adott fájl régebbi verzióinak megnyitását. A Mac OS fájlrendszerben ( HFS ) a fájloknak két "folyamuk" van: egy adatfolyam (ahol a fájl tartalma tárolódik) és egy erőforrás adatfolyam, amely az adott fájl megnyitására szánt programról tárol információkat, esetleg néhány információ a programról. Az NTFS -ben egy fájl a fő fájlon kívül tetszőleges számú elnevezett adatfolyamot is tartalmazhat.

Lásd még

Jegyzetek

  1. Bonnier Corporation. Népszerű Tudomány . - Bonnier Corporation , 1950. - S. 96 -. Archiválva : 2022. január 9. a Wayback Machine -nél
  2. Robert S. Casey et al. Lyukkártyák: Alkalmazásuk a tudományban és az iparban , 1952.
  3. Martin H. Weik. Ballistic Research Laboratories Report #1115. 1961. március pp. 314-331 Archiválva : 2016. október 21., a Wayback Machine -nél
  4. Fernando J. Corbató et al. " Kísérleti időmegosztási rendszer archiválva 2009. szeptember 6-án a Wayback Machine -nél ." 1962. május 3
  5. Jerome H. Saltzer CTSS műszaki megjegyzések archiválva 2006. szeptember 13-án a Wayback Machine -nél . MIT-LCS-TR016 projekt
  6. A FAT, HPFS és NTFS fájlrendszerek áttekintése . Letöltve: 2008. október 22. Az eredetiből archiválva : 2008. május 8..