Fișier ( fișier în limba engleză ) este o zonă de date numită pe un mediu de stocare utilizat ca obiect de bază pentru interacțiunea cu datele din sistemele de operare .
Lucrul cu fișiere este de obicei implementat folosind sisteme de fișiere care asigură organizarea muncii cu fișiere și abstracție prin purtători de informații . De obicei, se disting fișierele executabile (programe) și fișierele de date reale (de exemplu, fișiere text sau containere media ). Un format de fișier este o modalitate de organizare a datelor într-un fișier, permițându-vă să scrieți informații în el în conformitate cu semnificația acestuia și să interpretați ceea ce este scris. Multe sisteme de operare echivalează și tratează alte resurse ca fișierele; cea mai răspândită utilizare a conceptului de fișier este tipică pentru sistemele de operare asemănătoare Unix care implementează conceptul de „totul este un fișier” ( de exemplu , totul este un fișier ). În ele, nu numai zonele de date de pe volum sunt considerate fișiere , ci și, în special, dispozitivele fizice ( porturi sau imprimante ), dispozitivele virtuale ( /dev/null , /dev/random , /dev/urandom și altele), date fluxuri (de exemplu, conducte numite ), resurse de rețea, socluri .
Fișierul Word a fost aplicat pentru prima dată unui sistem de stocare computerizat în 1950. O reclamă pentru memoria CRT cu memorie RCA în revista Popular Science [1] spunea:
... rezultatele nenumăratelor calcule pot fi păstrate „într-un cabinet de fișiere” ( în engleză pe dosar ) și primite din nou. Acest „cabinet de fișiere” există acum într-un tub de memorie dezvoltat la laboratoarele RCA. Salvează electric numerele trimise pe computer și le păstrează în depozit, memorând în același timp altele noi - grăbind soluțiile inteligente în labirinturile matematicii.
În 1952, fișierul cuvânt a fost referit la un pachet de cărți perforate . [2] La început, fișierul cuvânt se referea la dispozitivul de memorie în sine, și nu la conținutul acestuia ( fișier de înregistrare ). De exemplu, discurile IBM 350 utilizate, de exemplu, în mașina IBM 305 , au fost numite fișiere de disc [3] . Sisteme precum Sistemul compatibil de partajare a timpului au introdus conceptul de sistem de fișiere, în care există mai multe „dispozitive de memorie” virtuale pe un singur dispozitiv de stocare, dând cuvântului „fișier” sensul său modern. Numele de fișiere din CTSS constau din două părți, „nume principal” și „nume secundar” (cel din urmă există și astăzi ca extensie de nume de fișier ) [4] [5] .
Odată cu dezvoltarea tehnologiei de calcul, fișierele din sisteme au devenit din ce în ce mai multe. Pentru comoditatea de a lucra cu ei, ele, ca și alte date, au început să fie organizate în structuri (numele simbolice au apărut în același timp). La început a fost o matrice simplă , „atașată” unui anumit mediu de stocare. În prezent, organizația de tip arbore cu capacitatea de a monta și introduce link-uri suplimentare (adică link-uri) a devenit cea mai răspândită . În consecință, numele fișierului a dobândit caracterul unei căi de fișier : o listă a nodurilor arborelui sistemului de fișiere care trebuie parcurse pentru a ajunge la el.
Sistemul de operare oferă aplicațiilor un set de funcții și structuri pentru lucrul cu fișierele. Capacitățile sistemului de operare impun restricții suplimentare asupra limitărilor sistemului de fișiere. Din punctul de vedere al API-ului , un fișier este un obiect căruia i se pot aplica funcțiile acestui API. La nivel de API, nu mai este important dacă fișierul există ca obiect de sistem de fișiere sau este, de exemplu, un dispozitiv I/O.
În funcție de sistemul de fișiere, un fișier poate avea un set diferit de proprietăți.
În majoritatea sistemelor de fișiere, numele fișierului este folosit pentru a indica ce fișier este accesat. În diferite sisteme de fișiere, restricțiile de nume de fișiere variază foarte mult: în FAT16 și FAT12 , dimensiunea unui nume de fișier este limitată la 8,3 caractere (8 pentru nume și 3 pentru extensie ); pe alte sisteme, numele fișierului este de obicei limitat la 255 de octeți; în NTFS , numele este limitat pe unele sisteme de operare la 256 de caractere Unicode (32.768 de caractere conform specificației).
Pe lângă restricțiile sistemului de fișiere, interfețele sistemului de operare limitează și mai mult setul de caractere care este permis atunci când lucrați cu fișiere.
Pentru MS-DOS , în numele fișierului sunt permise numai litere mari și numere latine. Spațiul, semnul de întrebare, asteriscul, simbolurile mai mari și mai mici decât simbolurile barei verticale nu sunt permise. [6] Când apelați funcții de sistem, numele fișierelor în litere mici sau mixte sunt convertite în majuscule.
Pentru Windows , sunt permise litere mari și mici, cifre, unele semne de punctuație, spațiul în numele fișierului. Simbolurile >, <, |, ?, *, /, \, :, sunt interzise ".
Pentru Linux (ținând cont de posibilitatea mascării), toate caracterele sunt permise, cu excepția /caracterului nul .
Majoritatea sistemelor de operare necesită ca un nume de fișier să fie unic într-un singur director, deși unele sisteme permit fișiere cu același nume (de exemplu, când se lucrează cu unități de bandă).
Pe unele sisteme de fișiere, este posibil să creați și să utilizați fișiere fără nume. Astfel de fișiere sunt întotdeauna temporare. Principalele lor avantaje sunt că, atunci când sunt create, nu poate exista niciun conflict de nume și nu pot fi găsite în directorul lor după nume. Restul sunt fișiere complete.
Extensia numelui de fișier (adesea: extensie sau extensie de fișier) ca atribut independent de fișier există în sistemele de fișiere FAT16 , FAT32 , NTFS utilizate de sistemele de operare MS-DOS, DR-DOS, PC DOS, MS Windows și este utilizată pentru a determina tip fișier. Acesta permite sistemului să determine ce aplicație ar trebui să deschidă fișierul. În mod implicit, pe sistemele de operare Windows și Mac OS , extensia este ascunsă utilizatorului.
În alte sisteme de fișiere, extensia este o convenție, parte a numelui, separată prin punctul din dreapta în nume (sufix).
Unele sisteme de fișiere, cum ar fi NTFS, oferă atribute (de obicei, o valoare binară da/nu codificată cu un bit). În multe sisteme de operare moderne, atributele nu au niciun efect asupra capacității de a accesa fișiere; pentru aceasta, în unele sisteme de operare și sisteme de fișiere, există drepturi de acces .
Numele atributului | Traducere | Sens | Sisteme de fișiere | Sisteme de operare |
---|---|---|---|---|
Numai citire | doar pentru lectură | fișierul nu poate fi editat | FAT32, FAT12, FAT16, NTFS, HPFS, VFAT | DOS, OS/2 , Windows |
Sistem | sistemică | fișier critic al sistemului de operare | FAT32, FAT12, FAT16, NTFS, HPFS, VFAT | DOS, OS/2, Windows |
Ascuns | ascuns | fișierul este ascuns de afișare, dacă nu se indică în mod explicit altfel | FAT32, FAT12, FAT16, NTFS, HPFS, VFAT | DOS, OS/2, Windows |
Arhiva | arhivare (care necesită arhivare) | fișierul a fost modificat după backup sau nu a fost copiat de programele de backup; când fișierul se schimbă, sistemul de operare setează automat acest atribut | FAT32, FAT12, FAT16, NTFS, HPFS, VFAT | DOS, OS/2, Windows |
SUID | Setarea unui ID de utilizator | rulează programul în numele proprietarului | ext2 | asemănător Unix-ului |
SGID | Setare ID grup | executarea programului în numele unui grup (pentru directoare: orice fișier creat într-un director cu un SGID setat va primi grupul de proprietar specificat) | ext2 | asemănător Unix-ului |
bit lipicios | bit lipicios | a instruit inițial kernel-ului să nu descarce imediat programul finalizat din memorie, ci numai după un timp, pentru a evita încărcarea constantă de pe disc a programelor cele mai frecvent utilizate, în prezent este utilizat diferit în diferite sisteme de operare | ext2 | asemănător Unix-ului |
Pentru un fișier, pot fi definite marcaje temporale ale creării, ultimei modificări, ultimul acces și altele.
Unele sisteme de fișiere oferă o indicație despre proprietarul fișierului și grupul de proprietari.
Unele sisteme de fișiere oferă posibilitatea de a restricționa accesul utilizatorilor la conținutul unui fișier. În sistemele de operare asemănătoare Unix, anterior, în general, se distingeau trei tipuri de permisiuni pentru fișiere: scriere, citire și execuție. Fiecare drept este stabilit separat pentru proprietar, pentru grup și pentru toți ceilalți. Un ACL permite o separare mai granulară atât a drepturilor, cât și a utilizatorilor.
În sistemele de operare Windows NT , când se lucrează cu sistemul de fișiere NTFS, drepturile de acces sunt setate explicit pentru utilizatori sau grupuri sau sunt moștenite de la obiectele părinte. Drepturile includ dreptul de a citi, scrie, executa, șterge, modifica atributele și proprietarul, de a crea și șterge subfolderele (pentru foldere) și permisiuni de citire și altele precum POSIX. Fiecare drept poate fi specificat ca o permisiune sau o interdicție. Deny are prioritate asupra permisiunii, spre deosebire de POSIX.
În mod convențional, se pot distinge două tipuri de operații cu un fișier - cele asociate cu deschiderea acestuia și cele efectuate fără deschiderea acestuia. Operațiile de primul tip sunt de obicei folosite pentru a citi și scrie informații sau pentru a pregăti citirea sau scrierea. Operațiile de al doilea tip sunt efectuate pe un fișier ca „obiect” al sistemului de fișiere, în care fișierul este cel mai mic element de structurare.
Este posibil ca unele operațiuni să nu fie disponibile, în funcție de sistemul de operare.
De obicei, se disting entitățile suplimentare asociate cu lucrul cu un fișier:
Operațiile care nu necesită deschiderea unui fișier operează pe caracteristicile sale „externe” - dimensiune, nume, poziție în arborele de directoare . Cu astfel de operațiuni, este imposibil să accesați conținutul fișierului, fișierul este unitatea minimă de divizare a informațiilor.
Operațiuni posibile cu fișierele: crearea, ștergerea, redenumirea, copierea, mutarea într-un alt sistem de fișiere, crearea unei legături simbolice sau hard link , obținerea și modificarea atributelor.
În funcție de sistemul de fișiere, mediul de stocare, sistemul de operare, este posibil ca unele operațiuni să nu fie disponibile.
În funcție de modul de organizare, fișierele sunt împărțite în fișiere cu acces aleatoriu și fișiere cu acces secvenţial .
Diferite sisteme de operare și sisteme de fișiere pot implementa diferite tipuri de fișiere, iar implementarea diferitelor tipuri poate diferi.
În sistemul de operare Unix , procesele (se găsesc de obicei în /proc) și dispozitivele ( /dev) sunt reprezentate ca un tip special de fișier, care permite utilizarea unor operațiuni de fișier pentru a manipula aceste obiecte.
În unele sisteme de fișiere (cum ar fi sistemul de fișiere VMS ), fișierele sunt versiuni, permițând deschiderea versiunilor mai vechi ale unui anumit fișier. În sistemul de fișiere Mac OS ( HFS ), fișierele au două „fluxuri”: un flux de date (unde este stocat conținutul fișierului) și un flux de resurse, care stochează informații despre programul destinat să deschidă fișierul dat și, eventual, câteva informații pentru acel program. În NTFS , un fișier poate conține, pe lângă cel principal, câte fluxuri denumite se dorește.
Dicționare și enciclopedii | |
---|---|
În cataloagele bibliografice |
ale sistemelor de operare | Aspecte|||||
---|---|---|---|---|---|
| |||||
Tipuri |
| ||||
Nucleu |
| ||||
Managementul proceselor |
| ||||
Gestionarea și adresarea memoriei |
| ||||
Instrumente de încărcare și inițializare | |||||
coajă | |||||
Alte | |||||
Categorie Wikimedia Commons Wikibooks Wiktionar |