File del computer - Computer file

Un file di computer è una risorsa del computer per la registrazione dei dati in un dispositivo di archiviazione del computer . Proprio come le parole possono essere scritte su carta, così i dati possono essere scritti su un file di computer. I file possono essere modificati e trasferiti tramite Internet su quel particolare sistema informatico.

Diversi tipi di file di computer sono progettati per scopi diversi. Un file può essere progettato per memorizzare un'immagine , un messaggio scritto, un video , un programma per computer o un'ampia varietà di altri tipi di dati. Alcuni file possono memorizzare più tipi di dati contemporaneamente.

Utilizzando programmi per computer, una persona può aprire, leggere, modificare, salvare e chiudere un file di computer. I file del computer possono essere riaperti, modificati e copiati un numero arbitrario di volte.

I file sono in genere organizzati in un file system , che tiene traccia delle posizioni dei file sul disco e consente l'accesso degli utenti.

Etimologia

Un file di schede perforate
I file del disco gemello di un sistema IBM 305

La parola "file" deriva dal latino filum ("un filo").

"File" è stato utilizzato nel contesto dell'archiviazione del computer già nel gennaio 1940. In Metodi per schede perforate nel calcolo scientifico , WJ Eckert ha dichiarato: "Il primo uso estensivo del primo Hollerith Tabulator in astronomia è stato fatto da Comrie . Lo ha usato per costruire una tabella da differenze successive e per aggiungere un gran numero di termini armonici". "Le tabelle delle funzioni sono costruite dalle loro differenze con grande efficienza, sia come tabelle stampate che come file di schede perforate ."

Nel febbraio 1950, in un annuncio pubblicitario della Radio Corporation of America (RCA) sulla rivista Popular Science che descriveva un nuovo tubo a vuoto "memoria" che aveva sviluppato, la RCA dichiarò: "i risultati di innumerevoli calcoli possono essere conservati 'in archivio' e tirati fuori di nuovo . Un simile "file" ora esiste in un "tubo di memoria" sviluppato presso i laboratori RCA. Elettronicamente conserva i dati inseriti nelle macchine calcolatrici, li tiene in memoria mentre ne memorizza di nuovi - accelera soluzioni intelligenti attraverso labirinti della matematica."

Nel 1952, "file" indicava, tra l'altro, le informazioni memorizzate su schede perforate .

All'inizio, l'hardware sottostante, piuttosto che il contenuto memorizzato su di esso, era denominato "file". Ad esempio, le unità disco IBM 350 erano denominate "file disco". L'introduzione, intorno al 1961, da parte del Burroughs MCP e del MIT Compatible Time-Sharing System del concetto di " file system " che gestisse più "file" virtuali su un dispositivo di archiviazione è l'origine della denotazione contemporanea della parola. Sebbene il " file di registro " contemporaneo dimostri il concetto iniziale di file, il suo utilizzo è notevolmente diminuito.

Contenuto del file

Nella maggior parte dei sistemi operativi moderni , i file sono organizzati in matrici unidimensionali di byte . Il formato di un file è definito dal suo contenuto poiché un file è esclusivamente un contenitore di dati, sebbene su alcune piattaforme il formato sia solitamente indicato dalla sua estensione del nome del file , specificando le regole per come i byte devono essere organizzati e interpretati in modo significativo. Ad esempio, i byte di un file di testo normale ( .txt in Windows) sono associati a caratteri ASCII o UTF-8 , mentre i byte di file immagine, video e audio vengono interpretati diversamente. La maggior parte dei tipi di file alloca anche alcuni byte per i metadati , il che consente a un file di trasportare alcune informazioni di base su se stesso.

Alcuni file system possono memorizzare dati specifici di file arbitrari (non interpretati dal file system) al di fuori del formato file, ma collegati al file, ad esempio attributi estesi o fork . Su altri file system questo può essere fatto tramite file sidecar o database specifici del software. Tutti questi metodi, tuttavia, sono più suscettibili alla perdita di metadati rispetto ai formati di file contenitore e archivio .

Dimensione del file

In qualsiasi istante, un file potrebbe avere una dimensione, normalmente espressa come numero di byte , che indica la quantità di spazio di archiviazione associata al file. Nella maggior parte dei sistemi operativi moderni la dimensione può essere qualsiasi numero intero non negativo di byte fino a un limite di sistema. Molti sistemi operativi precedenti tenevano traccia solo del numero di blocchi o tracce occupate da un file su un dispositivo di archiviazione fisico. In tali sistemi, il software impiegava altri metodi per tenere traccia dell'esatto conteggio dei byte (ad esempio, CP/M utilizzava uno speciale carattere di controllo, Ctrl-Z , per segnalare la fine dei file di testo).

La definizione generale di un file non richiede che la sua dimensione abbia alcun significato reale, tuttavia, a meno che i dati all'interno del file non corrispondano ai dati all'interno di un pool di memoria persistente. Un caso speciale è un file a zero byte ; questi file possono essere file appena creati su cui non sono ancora stati scritti dati, o possono servire come una sorta di flag nel file system, o sono incidenti (risultati di operazioni del disco interrotte). Ad esempio, il file a cui punta il collegamento /bin/ls in un tipico sistema Unix-like probabilmente ha una dimensione definita che cambia raramente. Confronta questo con /dev/null che è anche un file, ma come file di caratteri speciali , la sua dimensione non è significativa.

Organizzazione dei dati in un file

Le informazioni in un file di computer possono consistere in pacchetti di informazioni più piccoli (spesso chiamati " record " o "linee") che sono individualmente differenti ma condividono alcuni tratti comuni. Ad esempio, un file di buste paga potrebbe contenere informazioni relative a tutti i dipendenti di un'azienda e ai loro dettagli sulla busta paga; ogni record nel file del libro paga riguarda un solo dipendente e tutti i record hanno la caratteristica comune di essere correlati al libro paga: questo è molto simile a inserire tutte le informazioni sul libro paga in uno specifico schedario in un ufficio che non ha un computer. Un file di testo può contenere righe di testo, corrispondenti a righe stampate su un pezzo di carta. In alternativa, un file può contenere un'immagine binaria arbitraria (un blob ) o può contenere un eseguibile .

Il modo in cui le informazioni sono raggruppate in un file dipende interamente da come è stato progettato. Ciò ha portato a una pletora di strutture di file più o meno standardizzate per tutti gli scopi immaginabili, dal più semplice al più complesso. La maggior parte dei file del computer viene utilizzata da programmi per computer che creano, modificano o eliminano i file per uso personale in base alle necessità. I programmatori che creano i programmi decidono quali file sono necessari, come devono essere utilizzati e (spesso) i loro nomi.

In alcuni casi, i programmi per computer manipolano file che vengono resi visibili all'utente del computer. Ad esempio, in un programma di elaborazione testi , l'utente manipola file di documenti che l'utente nomina personalmente. Sebbene il contenuto del file del documento sia organizzato in un formato comprensibile per il programma di elaborazione testi, l'utente è in grado di scegliere il nome e la posizione del file e fornire la maggior parte delle informazioni (come parole e testo) che verranno memorizzato nel file.

Molte applicazioni racchiudono tutti i loro file di dati in un unico file chiamato file di archivio , utilizzando marcatori interni per discernere i diversi tipi di informazioni contenute all'interno. I vantaggi del file di archivio sono di ridurre il numero di file per un trasferimento più semplice, per ridurre l'utilizzo dello spazio di archiviazione o semplicemente per organizzare i file obsoleti. Il file di archivio deve essere spesso decompresso prima del successivo utilizzo.

operazioni

Le operazioni di base che i programmi possono eseguire su un file sono:

  • Crea un nuovo file
  • Modificare i permessi di accesso e gli attributi di un file
  • Aprire un file, che rende disponibile il contenuto del file al programma
  • Leggere i dati da un file
  • Scrivere dati su un file
  • Elimina un file
  • Chiudere un file, terminando l'associazione tra esso e il programma
  • Tronca un file, accorciandolo a una dimensione specificata all'interno del file system senza riscrivere alcun contenuto

I file su un computer possono essere creati, spostati, modificati, ingranditi, ridotti ( troncati ) ed eliminati. Nella maggior parte dei casi, i programmi per computer eseguiti sul computer gestiscono queste operazioni, ma l'utente di un computer può anche manipolare i file se necessario. Ad esempio, i file Microsoft Word vengono normalmente creati e modificati dal programma Microsoft Word in risposta ai comandi dell'utente, ma l'utente può anche spostare, rinominare o eliminare questi file direttamente utilizzando un programma di gestione file come Esplora risorse (su computer Windows ) o da riga di comando (CLI).

Nei sistemi Unix-like , i programmi nello spazio utente non operano direttamente, a basso livello, su un file. Solo il kernel si occupa dei file e gestisce tutte le interazioni dello spazio utente con i file in modo trasparente per i programmi dello spazio utente. Il sistema operativo fornisce un livello di astrazione , il che significa che l'interazione con un file dallo spazio utente avviene semplicemente attraverso il suo nome file (anziché il suo inode ). Ad esempio, non eliminerà il file stesso, ma solo un collegamento al file. Possono esserci molti collegamenti a un file, ma quando vengono rimossi tutti, il kernel considera lo spazio di memoria del file libero da riallocare. Questo spazio libero è comunemente considerato un rischio per la sicurezza (a causa dell'esistenza di software di recupero file ). Qualsiasi programma di cancellazione sicura utilizza le funzioni kernel-space (sistema) per cancellare i dati del file. rm filename

Il file si sposta all'interno di un file system completo quasi immediatamente perché il contenuto dei dati non ha bisogno di essere riscritto. Solo i percorsi devono essere cambiati.

Metodi di spostamento

Esistono due implementazioni distinte degli spostamenti di file.

Quando si spostano file tra dispositivi o partizioni, alcuni software di gestione dei file eliminano singolarmente ogni file selezionato dalla directory di origine dopo essere stato trasferito, mentre altri software eliminano tutti i file contemporaneamente solo dopo che ogni file è stato trasferito.

Con il mvcomando ad esempio, il primo metodo viene utilizzato quando si selezionano file singolarmente, eventualmente con l'uso di caratteri jolly (esempio: mv -n sourcePath/* targetPath, mentre il secondo metodo viene utilizzato quando si selezionano intere directory (esempio: mv -n sourcePath targetPath).Microsoft Windows Explorer utilizza il primo metodo per la massa storage filemoves, ma quest'ultimo metodo utilizza Media Transfer Protocol , come descritto in Media Transfer Protocol § Comportamento di spostamento file .

Il primo metodo (cancellazione individuale dall'origine) ha il vantaggio che lo spazio viene liberato dal dispositivo o dalla partizione di origine immediatamente dopo l'inizio del trasferimento, ovvero al termine del primo file. Con quest'ultimo metodo, lo spazio viene liberato solo al termine del trasferimento dell'intera selezione.

Se un trasferimento di file incompleto con quest'ultimo metodo viene interrotto inaspettatamente, forse a causa di uno spegnimento imprevisto, un arresto del sistema o la disconnessione di un dispositivo, non sarà stato liberato spazio sul dispositivo o sulla partizione di origine. L'utente dovrebbe unire i file rimanenti dall'origine, incluso l'ultimo file scritto in modo incompleto (troncato).

Con il metodo di eliminazione individuale, inoltre, il software di spostamento dei file non ha bisogno di tenere traccia cumulativamente di tutti i file che hanno terminato il trasferimento nel caso in cui un utente interrompa manualmente il trasferimento dei file. Un file manager che utilizza quest'ultimo metodo (dopo l'eliminazione) dovrà eliminare solo i file dalla directory di origine che hanno già terminato il trasferimento.

Identificare e organizzare

File e cartelle disposti in una gerarchia

Nei moderni sistemi informatici, i file sono in genere accessibili utilizzando i nomi ( nomi di file ). In alcuni sistemi operativi, il nome è associato al file stesso. In altri, il file è anonimo ed è puntato da collegamenti che hanno nomi. In quest'ultimo caso, un utente può identificare il nome del collegamento con il file stesso, ma questo è un falso analogo, soprattutto quando esiste più di un collegamento allo stesso file.

I file (oi collegamenti ai file) possono trovarsi nelle directory. Tuttavia, più in generale, una directory può contenere un elenco di file o un elenco di collegamenti ai file. All'interno di questa definizione, è di fondamentale importanza che il termine "file" includa le directory. Ciò consente l'esistenza di gerarchie di directory, cioè directory contenenti sottodirectory. Un nome che fa riferimento a un file all'interno di una directory deve essere in genere univoco. In altre parole, non devono esserci nomi identici all'interno di una directory. Tuttavia, in alcuni sistemi operativi, un nome può includere una specifica di tipo, il che significa che una directory può contenere un nome identico per più di un tipo di oggetto, ad esempio una directory e un file.

Negli ambienti in cui un file è denominato, il nome di un file e il percorso della directory del file devono identificarlo in modo univoco tra tutti gli altri file nel sistema informatico: non possono esserci due file con lo stesso nome e percorso. Laddove un file è anonimo, i riferimenti ad esso denominati esisteranno all'interno di uno spazio dei nomi. Nella maggior parte dei casi, qualsiasi nome all'interno dello spazio dei nomi farà riferimento esattamente a zero oa un file. Tuttavia, qualsiasi file può essere rappresentato all'interno di qualsiasi spazio dei nomi da zero, uno o più nomi.

Qualsiasi stringa di caratteri può essere un nome ben formato per un file o un collegamento a seconda del contesto dell'applicazione. Il fatto che un nome sia ben formato o meno dipende dal tipo di sistema informatico utilizzato. Primi computer consentite solo poche lettere o cifre in nome di un file, ma i computer moderni permettono nomi lunghi (alcuni fino a 255 caratteri) che contengono praticamente qualsiasi combinazione di Unicode lettere o cifre Unicode, rendendo più facile per capire la funzione di un file a prima vista. Alcuni sistemi informatici consentono ai nomi dei file di contenere spazi; altri no. La distinzione tra maiuscole e minuscole dei nomi di file è determinata dal file system . I file system Unix di solito fanno distinzione tra maiuscole e minuscole e consentono alle applicazioni a livello di utente di creare file i cui nomi differiscono solo nel caso dei caratteri. Microsoft Windows supporta più file system, ciascuno con criteri diversi per quanto riguarda la distinzione tra maiuscole e minuscole. Il file system FAT comune può avere più file i cui nomi differiscono solo nel caso in cui l'utente utilizzi un editor di dischi per modificare i nomi dei file nelle voci della directory . Le applicazioni utente, tuttavia, di solito non consentono all'utente di creare più file con lo stesso nome ma diversi nel caso.

La maggior parte dei computer organizza i file in gerarchie utilizzando cartelle, directory o cataloghi. Il concetto è lo stesso indipendentemente dalla terminologia utilizzata. Ogni cartella può contenere un numero arbitrario di file e può contenere anche altre cartelle. Queste altre cartelle sono chiamate sottocartelle. Le sottocartelle possono contenere ancora più file e cartelle e così via, costruendo così una struttura ad albero in cui una "cartella principale" (o "cartella radice" - il nome varia da un sistema operativo all'altro) può contenere un numero qualsiasi di livelli di altre cartelle e file. Le cartelle possono essere nominate proprio come i file (ad eccezione della cartella radice, che spesso non ha un nome). L'uso delle cartelle semplifica l'organizzazione dei file in modo logico.

Quando un computer consente l'uso di cartelle, ogni file e cartella ha non solo un nome proprio, ma anche un percorso, che identifica la cartella o le cartelle in cui risiede un file o una cartella. Nel percorso, viene utilizzato un tipo di carattere speciale, ad esempio una barra, per separare i nomi dei file e delle cartelle. Ad esempio, nell'illustrazione mostrata in questo articolo, il percorso /Payroll/Salaries/Managers identifica in modo univoco un file chiamato Managers in una cartella chiamata Salaries , che a sua volta è contenuta in una cartella chiamata Payroll . I nomi delle cartelle e dei file sono separati da barre in questo esempio; la cartella principale o principale non ha nome, quindi il percorso inizia con una barra (se la cartella principale avesse un nome, precederebbe questa prima barra).

Molti sistemi informatici utilizzano estensioni nei nomi di file per identificare ciò che contengono, noto anche come tipo di file. Sui computer Windows, le estensioni sono costituite da un punto (punto) alla fine del nome di un file, seguito da alcune lettere per identificare il tipo di file. Un'estensione di .txt identifica un file di testo; un doc estensione identifica qualsiasi tipo di documento o di documenti, comunemente in Microsoft Word formato di file ; e così via . Anche quando le estensioni vengono utilizzate in un sistema informatico, il grado in cui il sistema informatico le riconosce e le tiene conto può variare; in alcuni sistemi sono obbligatori, mentre in altri vengono completamente ignorati se presentati.

Protezione

Molti sistemi informatici moderni forniscono metodi per proteggere i file da danni accidentali e intenzionali. I computer che consentono a più utenti di implementare le autorizzazioni sui file per controllare chi può o meno modificare, eliminare o creare file e cartelle. Ad esempio, a un determinato utente può essere concesso solo il permesso di leggere un file o una cartella, ma non di modificarlo o eliminarlo; oppure un utente può ricevere il permesso di leggere e modificare file o cartelle, ma non di eseguirli. Le autorizzazioni possono essere utilizzate anche per consentire solo a determinati utenti di vedere il contenuto di un file o di una cartella. Le autorizzazioni proteggono da manomissioni o distruzione non autorizzate delle informazioni nei file e mantengono riservate le informazioni private da utenti non autorizzati.

Un altro meccanismo di protezione implementato in molti computer è un flag di sola lettura. Quando questo flag è attivato per un file (che può essere eseguito da un programma per computer o da un utente umano), il file può essere esaminato, ma non può essere modificato. Questo flag è utile per informazioni critiche che non devono essere modificate o cancellate, come file speciali che vengono utilizzati solo da parti interne del sistema informatico. Alcuni sistemi includono anche un flag nascosto per rendere invisibili determinati file; questo flag viene utilizzato dal sistema informatico per nascondere i file di sistema essenziali che gli utenti non dovrebbero modificare.

Magazzinaggio

Qualsiasi file che abbia uno scopo utile deve avere qualche manifestazione fisica. Cioè, un file (un concetto astratto) in un vero sistema informatico deve avere un vero analogo fisico se deve esistere.

In termini fisici, la maggior parte dei file del computer sono archiviati su un qualche tipo di dispositivo di archiviazione dati. Ad esempio, la maggior parte dei sistemi operativi archivia i file su un disco rigido . I dischi rigidi sono stati la forma onnipresente di archiviazione non volatile sin dai primi anni '60. Laddove i file contengano solo informazioni temporanee, possono essere archiviati nella RAM . I file del computer possono essere archiviati anche su altri supporti in alcuni casi, come nastri magnetici , compact disc , Digital Versatile Disc , unità Zip , unità flash USB , ecc. Anche l'uso di unità a stato solido sta iniziando a competere con l'unità disco rigido.

Nei sistemi operativi simili a Unix, molti file non hanno un dispositivo di archiviazione fisico associato. Esempi sono /dev/null e la maggior parte dei file nelle directory /dev , /proc e /sys . Questi sono file virtuali: esistono come oggetti all'interno del kernel del sistema operativo.

Come visto da un programma utente in esecuzione, i file sono generalmente rappresentati da un blocco di controllo file o da un handle di file . Un blocco di controllo file (FCB) è un'area di memoria che viene manipolata per stabilire un nome file ecc. e quindi passata al sistema operativo come parametro; era usato dai vecchi sistemi operativi IBM e dai primi sistemi operativi per PC, inclusi CP/M e le prime versioni di MS-DOS . Un handle di file è generalmente un tipo di dati opaco o un numero intero; è stato introdotto intorno al 1961 dal Burroughs MCP basato su ALGOL in esecuzione sul Burroughs B5000 ma ora è onnipresente.

Corruzione dei file

Foto di un bambino
File JPEG originale
File JPEG danneggiato, con un singolo bit capovolto (trasformato da 0 a 1 o viceversa)
Mentre c'è una corruzione visibile sul secondo file, si può ancora capire come poteva essere l'immagine originale.

Quando si dice che un file è corrotto, è perché il suo contenuto è stato salvato sul computer in modo tale da non poter essere letto correttamente, né da un essere umano né da un software. A seconda dell'entità del danno, il file originale a volte può essere recuperato , o almeno parzialmente compreso. Un file può essere creato corrotto o può essere corrotto in un secondo momento tramite sovrascrittura.

Ci sono molti modi in cui un file può essere danneggiato. Più comunemente, il problema si verifica durante la scrittura del file su un disco . Ad esempio, se un programma di modifica delle immagini si arresta in modo anomalo durante il salvataggio di un'immagine, quel file potrebbe essere danneggiato perché il programma non è stato in grado di salvarlo interamente. Il programma stesso potrebbe avvisare l'utente che si è verificato un errore, consentendo un altro tentativo di salvataggio del file. Alcuni altri esempi di motivi per cui i file vengono danneggiati includono:

Sebbene il danneggiamento dei file di solito avvenga accidentalmente, può anche essere fatto apposta , per ingannare qualcun altro facendogli credere che un compito fosse pronto in una data precedente, guadagnando potenzialmente tempo per completare tale compito. Esistono servizi che forniscono la corruzione dei file su richiesta, che essenzialmente riempiono un determinato file con dati casuali in modo che non possa essere aperto o letto, ma sembra comunque legittimo.

Una delle contromisure più efficaci per la corruzione involontaria dei file è il backup di file importanti. Nel caso in cui un file importante venga danneggiato, l'utente può semplicemente sostituirlo con la versione di backup.

Backup

Quando i file del computer contengono informazioni estremamente importanti, viene utilizzato un processo di backup per proteggersi da disastri che potrebbero distruggere i file. Eseguire il backup dei file significa semplicemente fare copie dei file in una posizione separata in modo che possano essere ripristinati se succede qualcosa al computer o se vengono eliminati accidentalmente.

Esistono molti modi per eseguire il backup dei file. La maggior parte dei sistemi informatici fornisce programmi di utilità per assistere nel processo di backup, che può richiedere molto tempo se ci sono molti file da salvaguardare. I file vengono spesso copiati su supporti rimovibili come CD scrivibili o nastri a cartuccia. La copia di file su un altro disco rigido nello stesso computer protegge dal guasto di un disco, ma se è necessario proteggere dal guasto o dalla distruzione dell'intero computer, le copie dei file devono essere eseguite su un altro supporto che può essere rimosso da computer e conservati in un luogo sicuro e distante.

Il metodo di backup nonno-padre-figlio esegue automaticamente tre backup; il file del nonno è la copia più vecchia del file e il figlio è la copia corrente.

File system e gestori di file

Il modo in cui un computer organizza, nomina, archivia e manipola i file è indicato globalmente come file system . La maggior parte dei computer ha almeno un file system. Alcuni computer consentono l'utilizzo di diversi file system. Ad esempio, sui computer MS Windows più recenti, sono supportati i vecchi file system di tipo FAT di MS-DOS e le vecchie versioni di Windows, oltre al file system NTFS che è il normale file system per le versioni recenti di Windows. Ogni sistema ha i suoi vantaggi e svantaggi. FAT standard consente solo nomi di file di otto caratteri (più un'estensione di tre caratteri) senza spazi, ad esempio, mentre NTFS consente nomi molto più lunghi che possono contenere spazi. Puoi chiamare un file " Registrazioni buste paga " in NTFS, ma in FAT saresti limitato a qualcosa come payroll.dat (a meno che tu non stia usando VFAT , un'estensione FAT che consente nomi di file lunghi).

I programmi di gestione file sono programmi di utilità che consentono agli utenti di manipolare direttamente i file. Consentono di spostare, creare, eliminare e rinominare file e cartelle, anche se in realtà non consentono di leggere il contenuto di un file o di memorizzare informazioni al suo interno. Ogni sistema informatico fornisce almeno un programma di gestione file per il proprio file system nativo. Ad esempio, File Explorer (precedentemente Windows Explorer) è comunemente usato nei sistemi operativi Microsoft Windows e Nautilus è comune in diverse distribuzioni di Linux.

Guarda anche

Riferimenti

link esterno