Μάθημα 2 ο ΟΡΓΑΝΩΣΗ ΣΥΣΤΗΜΑΤΟΣ ΑΡΧΕΙΩΝ
Εισαγωγή στη Διαχείριση Αρχείων Οι Η/Υ θα ήταν άχρηστοι, αν δεν μπορούσαν να αποθηκεύσουν τα δεδομένα που επεξεργάζονται για μελλοντική χρήση. Τα δεδομένα αποθηκεύονται σε αρχεία (files). Ένα αρχείο είναι ένα σύνολο δεδομένων (data set). Οι πληροφορίες που αντιπροσωπεύουν τα δεδομένα αυτά μπορεί να είναι στοιχεία, αριθμοί, κείμενα, ήχοι, εικόνες ή προγράμματα. Κάθε αρχείο είναι γνωστό με ένα μοναδικό όνομα αρχείου (filename). Έτσι, οι υπολογιστές μπορούν να αποθηκεύουν μόνιμα τις πληροφορίες μόνο σε αρχεία.
Σύστημα Αρχείων (File System) Τα Λ.Σ. δημιουργούν μια συγκεκριμένη «λογική» οργάνωσης των αρχείων που βρίσκονται στο δίσκο του συστήματος. Η οργάνωση αυτή ονομάζεται Σύστημα Αρχείων (File System). Το Σύστημα Αρχείων αποθηκεύει τις σχετικές πληροφορίες για κάθε αρχείο. Οι πληροφορίες αυτές είναι το όνομα του, το μέγεθός του, ποιοι έχουν δικαιώματα προσπέλασης και που βρίσκονται αποθηκευμένα τα πραγματικά δεδομένα του. Οι πληροφορίες φυλάγονται σε πίνακες για κάθε μέσο (ή τόμο) αποθήκευσης (Volume). Ένας τόμος (Volume) είναι μια μονάδα αποθήκευσης που αποτελείται από ελεύθερο χώρο σε έναν ή περισσότερους δίσκους και μπορεί να του αντιστοιχιστεί ένα γράμμα μονάδας δίσκου.
Χαρακτηριστικά των αρχείων Το Σύστημα Αρχείων του ΛΣ χρειάζεται διάφορες πληροφορίες για κάθε αρχείο, οι οποίες ονομάζονται χαρακτηριστικά (attributes - properties). Το βασικό χαρακτηριστικό του αρχείου είναι το όνομά του. Υπάρχουν όμως και άλλες απαραίτητες πληροφορίες, μερικές από τις οποίες μπορεί να είναι: Το μέγεθος του αρχείου Ο χρήστης που δημιούργησε το αρχείο Ο τύπος του αρχείου Ο τρέχων χρήστης-ιδιοκτήτης του Η ημερομηνία και ώρα δημιουργίας του αρχείου Η ημερομηνία και ώρα της τελευταίας πρόσβασης στο αρχείο Η ημερομηνία και ώρα της τελευταίας τροποποίησης των περιεχομένων του, κλπ.
Λειτουργίες των Αρχείων Οι κυριότερες λειτουργίες που παρέχονται από όλα τα ΛΣ είναι:
Λειτουργίες των Αρχείων
Κατάλογοι Συστήματος Αρχείων Στο σύστημα αρχείων ενός υπολογιστή, όπου τα αρχεία συνήθως είναι πάρα πολλά, υπάρχει η ανάγκη για λογική οργάνωσή τους ανάλογα με τη λειτουργικότητα και το «θέμα» τους. Έτσι, γίνεται κατανομή των αρχείων σε διαφορετικούς καταλόγους ή ευρετήρια (directories). Για να αναφερθεί ο χρήστης σε ένα αρχείο χρειάζεται το όνομα του αρχείου και τον κατάλογο όπου αυτό βρίσκεται. Οι κατάλογοι έχουν συμβολικά ονόματα ακριβώς όπως και τα αρχεία.
Πλεονεκτήματα οργάνωσης Η οργάνωση των αρχείων σε καταλόγους προσφέρει πολλά πλεονεκτήματα: 1. Το σύστημα αρχείων δεν κρατά μια μεγάλη λίστα από όλα τα αρχεία, αλλά πολλές μικρές. Έτσι η αναζήτηση π.χ. ενός αρχείου είναι πιο γρήγορη, αν γνωρίζουμε τον κατάλογο στον οποίο αυτό βρίσκεται. 2. Κάθε χρήστης του υπολογιστή μπορεί να κρατά τα αρχεία του σε διαφορετικό κατάλογο, στον οποίο μόνο αυτός έχει πρόσβαση. Έτσι, διευκολύνεται το έργο του συστήματος αρχείων ως προς τη διαχείριση των δικαιωμάτων πρόσβασης.
Πλεονεκτήματα οργάνωσης 3. Πολλά αρχεία μπορούν να έχουν το ίδιο όνομα, αρκεί να βρίσκονται σε διαφορετικό κατάλογο. Έτσι π.χ. κάθε χρήστης μπορεί να κρατά τα μηνύματα του ηλεκτρονικού ταχυδρομείου του σε ένα αρχείο με το όνομα «mailbox» χωρίς να ενδιαφέρεται αν και οι άλλοι χρήστες διαθέτουν τέτοιο αρχείο. 4. Τα αρχεία του ΛΣ μπορούν να διατηρούνται χωριστά από τα αρχεία των χρηστών και μόνο οι διαχειριστές του συστήματος (system administrators) να έχουν πρόσβαση σ αυτά.
Ευρετήριο ή Κατάλογος Αρχείων (Directory ή Folder) Ο συνήθης τρόπος οργάνωσης είναι η «Ιεραρχική Δομή». Τα Ευρετήρια ή Κατάλογοι περιέχουν τα Αρχεία. Περιλαμβάνει για κάθε Αρχείο το όνομα του, το μέγεθός του, τον ιδιοκτήτη του, τη θέση του στο δίσκο και κάποια ακόμα χρήσιμα στοιχεία. Στην κορυφή της Ιεραρχικής Δομής υπάρχει το βασικό ή ριζικό ευρετήριο (Root Directory) που περιέχει κάποια άλλα υπό-ευρετήρια (Subdirectories). Αυτά περιέχουν άλλα κ.ο.κ.. Έτσι δημιουργείται η εικόνα ενός «δένδρου», όπου τα κλαδιά αντιπροσωπεύουν καταλόγους και τα φύλλα αρχεία, αντεστραμμένο βέβαια, με τη ρίζα επάνω και τα κλαδιά κάτω.
Παράδειγμα Καταλόγων WinXP
Παράδειγμα Καταλόγων Win7
Λειτουργίες Καταλόγων Οι βασικές λειτουργίες που μπορεί να εκτελέσει κανείς σε έναν κατάλογο είναι:
Τι προσφέρει το Σύστημα Αρχείων Για την αξιοποίηση των αρχείων, το Σύστημα Αρχείων υποστηρίζει κάποιους μηχανισμούς σύμφωνα με τις παρακάτω κατηγορίες: Οργάνωση Γίνεται με τους καταλόγους που ομαδοποιούν τα αρχεία. Έλεγχος Προσπέλασης Καθορίζεται ο ιδιοκτήτης και τα δικαιώματά του σ αυτό. Εγγραφή, Ανάγνωση, Διαγραφή και Εκτέλεση. Φυσική Αποθήκευση Αναφέρεται στην πραγματική οργάνωση των αρχείων κατά την αποθήκευσή τους στα μαγνητικά ή οπτικά μέσα. Δυνατότητα επιλογής μέσου αποθήκευσης από τον χρήστη.
Μηχανισμοί Ονοματολογία Αναφέρεται στον τρόπο χρήσης των ονομάτων των αρχείων. Απαγορεύεται η χρήση των χαρακτήρων * \<>?/ : επειδή χρησιμοποιούνται από τα Windows για ειδικές χρήσεις. Η θέση ενός αρχείου χαρακτηρίζεται από το «μονοπάτι» (pathname) που οδηγεί σ αυτό. Π.χ. \My Documents\dimos\new.ppt Η χρήση του αρχείου χαρακτηρίζεται από μια «κατάληξη» ή «επέκταση» του ονόματός του, π.χ. run.bat, δηλαδή αρχείο που περιέχει εντολές του λειτουργικού συστήματος για ομαδική εκτέλεση. Test.doc, αρχείο κειμένου του MS-Word. Progr1.exe, αρχείο εκτελέσιμου προγράμματος.
Συνήθεις επεκτάσεις αρχείων
Μηχανισμοί (συνέχεια) Εκτέλεση Προγράμματος Αναζήτηση Αρχείου Δημιουργία Αρχείου Διαγραφή Αρχείου Αντιγραφή Αρχείου Μετονομασία Αρχείου Δημιουργία Καταλόγου Διαγραφή Καταλόγου Παραχώρηση δικαιωμάτων προσπέλασης Αφαίρεση δικαιωμάτων προσπέλασης
Χρήση του Συστήματος Αρχείων Ένα τυπικό σύγχρονο σύστημα Η/Υ περιλαμβάνει χιλιάδες αρχεία. Αρκετά τυχαίνει να έχουν το ίδιο όνομα. Πως λοιπόν μπορεί το Λ.Σ. να τα βρίσκει και να τα ξεχωρίζει; Κάθε Αρχείο έχει ένα και μόνο ένα Απόλυτο Όνομα, ενώ μπορεί να έχει πολλά Σχετικά ονόματα. Το Απόλυτο Όνομα (Absolute Pathname) είναι όλο το μονοπάτι που ακολουθούμε από τη ρίζα μέχρι το αρχείο, π.χ. το πλήρες όνομα του αρχείου F5 είναι το \D3\D4\F5. Το Απόλυτο Όνομα αρχίζει πάντα με \. Το Σχετικό Όνομα εξαρτάται από το που βρίσκεται αυτός που θέλει να το προσπελάσει. Είναι όλο το μονοπάτι από το σημείο που βρισκόμαστε μέχρι το σημείο που βρίσκεται το αρχείο.
Λογική Εικόνα του Συστήματος Αρχείων
Τύποι Αρχείων Τα Αρχεία σε ένα Λ.Σ. διαχωρίζονται σε διάφορες κατηγορίες ανάλογα με το περιεχόμενό ή τη χρήση τους. Αρχεία Δεδομένων (Data Files) Αρχεία Κειμένου (Text Files) Αρχεία Προγραμμάτων (Program Files) Αρχεία Συστήματος (System Files) Αρχεία Συσκευών (Device Files) Προσωρινά Αρχεία (Temporary Files) Αρχεία Εκτύπωσης (Spooler Files) Εφεδρικά Αρχεία (Backup Files) Αρχεία Δέσμης Εντολών (Batch Files)
Αποθήκευση των Δεδομένων Φυσική Οργάνωση του Δίσκου Τομείς και Ομάδες Δεδομένων (Blocks) Η οργάνωση γίνεται από το Λ.Σ. που γράφει σημάδια στο δίσκο ώστε να βρίσκει τις αποθηκευμένες πληροφορίες. Αυτό ονομάζεται Μορφοποίηση (Format) του δίσκου. Με τη Μορφοποίηση ο δίσκος χωρίζεται σε Ίχνη (Tracks) και Τομείς (Sectors). Η μαγνητική επιφάνεια του δίσκου διαμορφώνεται σε ομόκεντρους κύκλους που ονομάζονται Ίχνη. Κάθε Ίχνος χωρίζεται σε Τομείς και περιέχει τον ίδιο αριθμό Τομέων. Κάθε Τομέας μπορεί να αποθηκεύσει τον ίδιο αριθμό bytes.
Tracks and Sectors
Ομάδες Δεδομένων (Blocks) Οι πληροφορίες που αποθηκεύονται σε ένα τομέα αποτελούν μια Ομάδα Δεδομένων (Block). Το μέγεθος της ομάδας είναι χαρακτηριστικό και μπορεί να είναι 128, 256, 512 ή 1024 bytes. Το μέγεθος αυτό (block size) είναι σημαντικό γιατί αυτός είναι ο αριθμός των bytes που μεταφέρονται κάθε φορά που ο δίσκος εκτελεί μια εντολή ανάγνωσης (read) ή εγγραφής (write). Κάθε ομάδα δεδομένων του δίσκου κατέχει μια συγκεκριμένη θέση στο δίσκο και χαρακτηρίζεται από τη «διεύθυνση» της, δηλαδή μια τριάδα αριθμών: επιφάνεια, ίχνος, τομέας.
Χωρισμός δίσκου σε διαμερίσματα Η διαδικασία δημιουργίας των διαμερισμάτων (ή τόμων, volumes) λέγεται διαμερισμός (partitioning) και είναι ένας εικονικός διαχωρισμός του δίσκου σε δύο ή περισσότερα τμήματα. Όμως, όλα τα τμήματα δεν παύουν να είναι μέρος του ίδιου δίσκου. Αυτό σημαίνει πως, αν ο σκληρός δίσκος χαλάσει, τα δεδομένα όλων των διαμερισμάτων θα χαθούν. Η χρήση των διαμερισμάτων δίσκου είναι σημαντική για λόγους οργάνωσης, προστασίας και διαχωρισμού των δεδομένων μεταξύ τους και χρήσης περισσοτέρων του ενός Λειτουργικών Συστημάτων και Συστημάτων Αρχείων στον υπολογιστή μας.
Είδη συστημάτων αρχείων Για να μπορέσει να χρησιμοποιηθεί ένας δίσκος είναι απαραίτητη η διαδικασία μορφοποίησης. Η μορφοποίηση καθορίζει εκτός από τα βασικά χαρακτηριστικά (ίχνη, τομείς, κτλ) και τον τύπο του συστήματος αρχείων που θα χρησιμοποιηθεί. Ο τύπος αυτός καθορίζει πώς θα υλοποιηθεί η δομή αρχείων και τι δυνατότητες θα έχει. Τα επικρατέστερα συστήματα αρχείων που χρησιμοποιούν τα Windows είναι το FAT στις διάφορες εκδοχές του FAT12, FAT16, FAT32- και το NTFS. Στα λειτουργικά συστήματα που βασίζονται στο Unix (π.χ Linux) υπάρχουν αντίστοιχα συστήματα αρχείων όπως το UFS (Unix File System)
Απεικόνιση του τύπου του συστήματος αρχείων
FAT/FAT32 - File Allocation Table Το FAT αναπτύχθηκε από τη Microsoft το 1977. Είναι ιδανικό για μικρού μεγέθους δίσκους καθώς καταλαμβάνει λιγότερο χώρο για τις οργανωτικές του πληροφορίες από το NTFS. Επίσης το FAT (που υπάρχει σε διάφορες εκδόσεις όπως FAT12, FAT16, FAT32) είναι πιο εύκολα αναγνωρίσιμο από άλλα λειτουργικά συστήματα εκτός των Windows (όπως Unix, Mac OS, Linux, FreeBSD κ.λπ.). Το βασικό μειονέκτημα του FAT και του FAT32 είναι πως δεν μπορούν να διαχειριστούν αρχεία μεγαλύτερα των 2 GB και 4 GB αντίστοιχα, ενώ έχουν τον περιορισμό των 32GB στο μέγεθος των διαμερισμάτων (partitions) που μπορεί να διασπασθεί ο δίσκος.
NTFS - New Technology File System Το NTFS αναπτύχθηκε το 1993, ταυτόχρονα με την πρώτη έκδοση των Windows NT. Ο τύπος αυτός λύνει ουσιαστικά όλους τους περιορισμούς μεγέθους αρχείων και διαμερισμάτων που έχουν τα FAT. Έτσι, το μεγαλύτερο αρχείο που μπορεί να υποστηρίξει το NTFS έχει μέγεθος 1 Exabyte (1 δισεκατομμύριο Gigabytes), ενώ μπορεί να δημιουργήσει διαμέρισμα δίσκου μεγέθους 264 clusters. Στην πράξη, το μεγαλύτερο partition που υποστηρίζεται αυτή τη στιγμή είναι 256 Terabytes. Επίσης, τα Windows 7 μπορούν να αναγνωρίσουν ένα αρχείο με μέγεθος μέχρι 16 Terabytes, ενώ τα Windows 8 μέχρι 256 Terabytes.
NTFS - New Technology File System Το NTFS μπορεί επίσης να διαχειριστεί καλύτερα τον ελεύθερο χώρο σε σχέση με τα FAT και FAT32 και ο κατακερματισμός αρχείων (fragmentation) που θα δούμε παρακάτω, είναι μικρότερος. Επιπλέον, το NTFS παρέχει περισσότερες δυνατότητες και χαρακτηριστικά ασφαλείας όπως π.χ ορισμό δικαιωμάτων πρόσβασης και δυνατότητες κρυπτογράφησης και συμπίεσης.
Απεικόνιση του διαμερισμού των δίσκων σε ένα σύστημα υπολογιστή
Προσπέλαση Δίσκων Όταν ένα πρόγραμμα θέλει να διαβάσει ή να γράψει στο δίσκο, καλεί πάντα την αντίστοιχη ρουτίνα του Λ.Σ. Όλες οι απαιτήσεις καταλήγουν τελικά στο Λ.Σ. και αποτελούνται από τα παρακάτω στοιχεία: Εντολή (Read, Write, κλπ) Λογική Συσκευή (C:) Λογική Διεύθυνση Ομάδας Δεδομένων Φυσική Διεύθυνση Ομάδας Αριθμός Ομάδων Δεδομένων που θα μεταφερθούν Επειδή οι δίσκοι είναι σχετικά αργές συσκευές, ο χρόνος προσπέλασης του δίσκου είναι ο βασικότερος παράγοντας καθυστέρησης του υπολογιστή.
Κατακερματισμός Όταν δημιουργούνται αρχεία σε έναν καινούριο δίσκο, οι τομείς που καταλαμβάνονται είναι συνεχείς (γειτονικοί). Όταν κάποιο αρχείο σβήνεται, τότε οι τομείς που καταλάμβανε σημειώνονται ότι είναι ελεύθεροι. Το επόμενο αρχείο που θα δημιουργηθεί μπορεί να καταλάβει κάποιους από αυτούς τους ελεύθερους τομείς. Αν χρειάζεται λιγότερους, θα αφήσει ένα κενό απ αυτούς. Αν χρειάζεται περισσότερους, τότε θα τους πάρει όλους και θα συνεχίσει να καταλαμβάνει τομείς, όπου βρει ελεύθερους. Έτσι, το αρχείο δε θα είναι πλέον συνεχές, αλλά οι ομάδες δεδομένων του θα είναι σκορπισμένες σε διάφορα σημεία του δίσκου.
Κατακερματισμός (συνέχεια) Όταν λοιπόν ένας δίσκος έχει χρησιμοποιηθεί αρκετά, τα περισσότερα αρχεία του είναι διασκορπισμένα σε διάφορα σημεία του δίσκου. Το αποτέλεσμα είναι η Κεφαλή του Δίσκου να αναγκάζεται να μετακινείται πολύ πάνω στην επιφάνεια για να φθάσει στα σημεία που βρίσκονται σκόρπιες οι ομάδες δεδομένων. Αυτό καθυστερεί αρκετά την ταχύτητα πρόσβασης και μειώνει τη συνολική απόδοση του συστήματος. Η κατάσταση αυτή ονομάζεται Εξωτερικός Κατακερματισμός (External Fragmentation) του Δίσκου.
Αποκατακερματισμός Για να διορθωθεί το πρόβλημα, τα Λ.Σ. έχουν προγράμματα Αποκατακερματισμού (Defragmentation), που τακτοποιούν τις ομάδες (blocks) των αρχείων, έτσι ώστε να είναι γειτονικές. Η Κεφαλή του Δίσκου δηλαδή, αφού βρει την πρώτη ομάδα δεν ξαναμετακινείται, απλά διαβάζει και τις επόμενες που βρίσκονται στη σειρά.
Ασφάλεια Συστήματος Ακεραιότητα και Ασφάλεια Τα Συστήματα Η/Υ και κυρίως τα στοιχεία που αποθηκεύονται σ αυτά έχουν πολύ μεγάλη αξία για τους κατόχους τους. Η αξία αυτή μπορεί να είναι οικονομική, επαγγελματική ή ακόμα και συναισθηματική. Για το λόγο αυτό, τα Λ.Σ. συμπεριλαμβάνουν και δυνατότητες που εξασφαλίζουν ότι κάτι τέτοιο δεν μπορεί να συμβεί ή τουλάχιστον το κάνουν πιο δύσκολο να συμβεί. Οι δυνατότητες αυτές βελτιώνουν την Ακεραιότητα (Integrity) και την Ασφάλεια (Security) του Συστήματος. Με τον όρο Ακεραιότητα αναφερόμαστε στην προστασία των συστημάτων υπολογιστών και πληροφοριών από καταστροφή ή αλλοίωση.
Ασφάλεια (συνέχεια) Με τον όρο Ασφάλεια αναφερόμαστε στα μέτρα που προστατεύουν τα συστημάτων υπολογιστών και τις πληροφορίες από: Φυσικές Καταστροφές (πυρκαγιές, πλημμύρες, σεισμούς). Διακοπές ρεύματος. Βλάβες του Υλικού. Βλάβες από λανθασμένο ή σκόπιμο χειρισμό. Κλοπή ή Διαρροή εμπιστευτικών πληροφοριών. Ιούς και άλλα επιβλαβή προγράμματα.
Υποστήριξη της Ασφάλειας από το Λ.Σ. Τα σύγχρονα Λ.Σ. συμπεριλαμβάνουν κάποιες δυνατότητες για να μπορέσουν να υποστηρίξουν τις ανάγκες Ασφάλειας. Λήψη Εφεδρικών Αντιγράφων Προσπέλαση με χρήση συνθηματικών (passwords) Δικαιώματα προσπέλασης των αρχείων και των καταλόγων Τοίχος Προστασίας (Windows Firewall) Ενημερώσεις (Windows Update)
Ερωτήσεις Τι είναι Αρχείο και από τι αποτελείται; Τι είναι το Σύστημα Αρχείων; Περιγράψτε σύντομα την Ιεραρχική Δομή. Τι προσδιορίζει η επέκταση ενός αρχείου; Τι είναι το Απόλυτο Όνομα αρχείου; (Δώστε παράδειγμα) Σε τι χωρίζεται ο δίσκος με τη μορφοποίηση; Τι είναι Ομάδα Δεδομένων; Για ποιους λόγους το σύστημα αρχείων NTFS είναι προτιμότερο από το FAT; Τι είναι ο Κατακερματισμός (Fragmentation); Τι εννοούμε με τον όρο Ασφάλεια Συστήματος; Τι δυνατότητες περιλαμβάνουν τα σύγχρονα Λ.Σ για να μπορέσουν να υποστηρίξουν τις ανάγκες Ασφάλειας;