Σύστημα αρχείων

Ένα **σύστημα αρχείων** (ΣΑ, file system ή filesystem ή FS) είναι μια μέθοδος για την αποθήκευση και την οργάνωση των δεδομένων των αρχείων που χρησιμοποιούνται σε ηλεκτρονικό υπολογιστή. Ουσιαστικά, οργανώνει αυτά τα αρχεία σε μια βάση δεδομένων με σκοπό την αποθήκευση, την οργάνωση, τη διαχείριση, και την ανάκτηση τους από το λειτουργικό σύστημα του υπολογιστή.

Τα συστήματα αρχείων χρησιμοποιούνται σε συσκευές αποθήκευσης δεδομένων, όπως οι σκληροί δίσκοι ή τα CD-ROM για να παρακολουθείται η φυσική θέση των αρχείων πάνω στο μέσο. Πέρα από αυτό, τα συστήματα αρχείων μπορούν να παρέχουν πρόσβαση σε δεδομένα σε ένα διακομιστή αρχείων, δρώντας ως πελάτες για ένα πρωτόκολλο δικτύου (π.χ. πελάτες NFS, πελάτες SMB ή πελάτες 9P), ή μπορεί να είναι εικονικά και να υπάρχουν μόνο ως τρόπος πρόσβασης για τα εικονικά δεδομένα (π.χ. procfs). Διαφέρουν από μια υπηρεσία καταλόγου ή μητρώου.

## Πλευρές των συστημάτων αρχείων
Τα περισσότερα συστήματα αρχείων κάνουν χρήση μιας συσκευής αποθήκευσης δεδομένων η οποία προσφέρει πρόσβαση σε έναν πίνακα φυσικών τομέων ορισμένου μεγέθους, κατά κανόνα μια δύναμη του 2 σε μέγεθος (512 bytes ή 1, 2, ή 4 KiB είναι οι πιο συχνές). Το σύστημα αρχείων είναι υπεύθυνο για να οργανώσει τους τομείς αυτούς σε αρχεία και καταλόγους, καθώς και για την παρακολούθηση του ποιοι τομείς ανήκουν σε ποιο αρχείο και ποιοι δεν χρησιμοποιούνται. Τα περισσότερα συστήματα αρχείων αντιστοιχούν τα δεδομένα σε μονάδες σταθερού μεγέθους («δέσμες» ή «μπλοκ») που περιέχουν ένα συγκεκριμένο αριθμό τομέων δίσκου (συνήθως 1-64) που είναι και το μικρότερο ποσό χώρου στο δίσκο που μπορεί να διατεθεί για να διατηρήσει ένα αρχείο.

Ωστόσο, τα συστήματα αρχείων δεν χρειάζεται να κάνουν χρήση μιας συσκευής αποθήκευσης. Ένα σύστημα αρχείων μπορεί να χρησιμοποιηθεί για να οργανώνει και να εκπροσωπεί την πρόσβαση σε οποιαδήποτε δεδομένα, είτε πρόκειται για αποθήκευση ή δημιουργούνται δυναμικά (π.χ., procfs).

### Ονόματα αρχείων
Ένα όνομα αρχείου είναι ένα όνομα που αποδίδεται σε ένα αρχείο προκειμένου να διασφαλιστεί ο τόπος αποθήκευσης στη μνήμη του υπολογιστή. Με αυτό το όνομα ένα αρχείο μπορεί να προσπελαστεί. Ανεξάρτητα αν ένα σύστημα αρχείων αναφέρεται σε μια συσκευή αποθήκευσης ή όχι, συνήθως έχει καταλόγους μέσα στους οποίους συνδέονται τα ονόματα των αρχείων με τα αρχεία, και, συνήθως αυτή η σύνδεση γίνεται με την αντιστοίχιση του ονόματος σε κάποιον δείκτη σε ένα πίνακα εκχώρησης αρχείων, όπως είναι ο FAT σε ένα αρχείο DOS σύστημα, ή ένα inode σε ένα σύστημα αρχείων τύπου Unix. Ο κατάλογος αυτός μπορεί να είναι επίπεδος, ή να επιτρέπει ιεραρχίες όπου κάθε κατάλογος να μπορεί να περιέχει άλλους υποκαταλόγους. Σε ορισμένα συστήματα αρχείων, τα ονόματα αρχείων είναι δομημένα, με ιδιαίτερη σύνταξη για τις επεκτάσεις των ονομάτων των αρχείων και τους αριθμούς έκδοσης. Σε άλλες περιπτώσεις, τα ονόματα αρχείων είναι απλές φράσεις και τα μεταδεδομένα κάθε αρχείου αποθηκεύονται αλλού.

### Μεταδεδομένα
Πολλές πληροφορίες καταγραφής συνήθως συνοδεύουν κάθε αρχείο. Αυτές οι πληροφορίες μπορεί να είναι:
* το μέγεθος του αρχείου.
* οι ημερομηνίες δημιουργίας, προσπέλασης, τελευταίας τροποποίησης κλπ.
* ο τύπος του αρχείου (π.χ. αν το αρχείο είναι κατάλογος και όχι απλό αρχείο, ή με ποιο πρόγραμμα μπορεί να ανοιχτεί το αρχείο).
* άδειες χρήσης του αρχείου (ποιος μπορεί να το διαβάσει ή να το εκτελέσει).

## Είδη συστημάτων αρχείων

### Συστήματα αρχείων δίσκου
Τα συστήματα αρχείων δίσκου είναι συστήματα αρχείων ειδικά σχεδιασμένα για τη διαχείριση αρχείων σε δίσκους αποθήκευσης δεδομένων.

Ενδεικτικά συστήματα αρχείων δίσκου είναι τα FAT (FAT12, FAT16, FAT32, exFAT), NTFS, HFS και HFS+, HPFS, UFS, ext2, ext3, ext4, btrfs, ISO 9660, ODS-5, Veritas File System, ZFS και UDF.

### Συστήματα αρχείων μαγνητοταινίας
Τα συστήματα αρχείων μαγνητοταινίας είναι συστήματα αρχείων ειδικά σχεδιασμένα για τη διαχείριση αρχείων σε μαγνητοταινίες αποθήκευσης δεδομένων. Συνήθως είναι διαφορετικά από τα συστήματα αρχείων δίσκου καθώς στα δεδομένα μιας μαγνητοταινίας η προσπέλαση είναι σειριακή.

## Λειτουργικά συστήματα
Τα περισσότερα λειτουργικά συστήματα παρέχουν ένα σύστημα αρχείων, καθώς ένα σύστημα αρχείων αποτελεί αναπόσπαστο μέρος κάθε σύγχρονου λειτουργικού συστήματος. 

Τα λειτουργικά συστήματα των πρώτων μικροϋπολογιστών η μόνη πραγματική αποστολή τους ήταν η διαχείριση αρχείων - γεγονός που αντικατοπτρίζεται στα ονόματά τους (βλέπε DOS). Μερικά πρώιμα λειτουργικά συστήματα είχαν ένα ξεχωριστό συστατικό για το χειρισμό των συστημάτων αρχείων που το ονόμαζαν λειτουργικό σύστημα δίσκου. Σε κάποιους μικροϋπολογιστές, το λειτουργικό σύστημα δίσκου ήταν φορτωμένο χωριστά από το υπόλοιπο λειτουργικό σύστημα. Τα πρώτα λειτουργικά συστήματα, συνήθως υποστήριζαν μόνο ένα μητρικό, ανώνυμο σύστημα αρχείων. Για παράδειγμα το CP/M υποστήριζε μόνο το δικό του σύστημα αρχείων, το οποίο θα μπορούσαμε να το ονομάσουμε «CP/M σύστημα αρχείων" αλλά γενικά δεν έχει καμία επίσημη ονομασία.

## Δείτε επίσης
* Άδειες συστήματος αρχείων

## Εξωτερικοί σύνδεσμοι
* Λειτουργικά Συστήματα και Συστήματα Αρχείων 
* Πως είναι το σύστημα αρχείων του Linux;
* Τεχνικές και Εργαλεία Σύγκρισης Συστημάτων Αρχείων