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 .
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] .
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á.
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.
A fájlrendszertől függően egy fájl eltérő tulajdonságokkal rendelkezhet.
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.
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).
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ű |
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.
Egyes fájlrendszerek jelzik a fájl tulajdonosát és a tulajdonoscsoportot.
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.
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.
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:
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.
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.
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.
Szótárak és enciklopédiák | |
---|---|
Bibliográfiai katalógusokban |
Az operációs rendszerek szempontjai | |||||
---|---|---|---|---|---|
| |||||
Típusok |
| ||||
Sejtmag |
| ||||
Folyamatmenedzsment _ |
| ||||
Memóriakezelés és címzés | |||||
Betöltési és inicializálási eszközök | |||||
Héj | |||||
Egyéb | |||||
Kategória Wikimedia Commons Wikikönyvek Wikiszótár |