Fişier

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită pe 18 noiembrie 2021; verificările necesită 8 modificări .

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 .

Istorie

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] .

Sistem de fișiere

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.

Fișier ca obiect API al sistemului de operare

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.

Proprietăți fișier

În funcție de sistemul de fișiere, un fișier poate avea un set diferit de proprietăți.

Nume fișier

Î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 fișierului

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).

Atributele principale

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

Ora

Pentru un fișier, pot fi definite marcaje temporale ale creării, ultimei modificări, ultimul acces și altele.

Proprietarul și grupul fișierului

Unele sisteme de fișiere oferă o indicație despre proprietarul fișierului și grupul de proprietari.

Permisiuni

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.

Operațiuni cu fișiere

Î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.

Operațiuni legate de deschiderea unui fișier

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țiuni

Operații care nu au legătură cu deschiderea unui 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.

Tipuri de fișiere

Î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.

Caracteristici de implementare

Î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.

Vezi și

Note

  1. Corporația Bonnier. Știința Populară . - Bonnier Corporation , 1950. - S. 96 -. Arhivat pe 9 ianuarie 2022 la Wayback Machine
  2. Robert S. Casey, et al. Cărți perforate: aplicațiile lor în știință și industrie , 1952.
  3. Martin H. Weik. Raportul laboratoarelor de cercetare balistică #1115. martie 1961. pp. 314-331 Arhivat 21 octombrie 2016 la Wayback Machine
  4. Fernando J. Corbató și colab. „ Un sistem experimental de partajare a timpului arhivat pe 6 septembrie 2009 la Wayback Machine ”. 3 mai 1962
  5. Jerome H. Saltzer CTSS Technical Notes Arhivat 13 septembrie 2006 la Wayback Machine . Proiectul MIT-LCS-TR016
  6. Prezentare generală a sistemelor de fișiere FAT, HPFS și NTFS . Consultat la 22 octombrie 2008. Arhivat din original pe 8 mai 2008.