!! Οργάνωση Μαγνητικών Δίσκων
Η επιφάνεια ενός μαγνητικού δίσκου διαμερίζεται σε ομόκεντρους κύκλους ή τροχιές (tracks). Κάθε τροχιά χωρίζεται σε κυκλικά τόξα ή περιοχές που ονομάζονται τομείς (sectors). Κάθε τομέας έχει μέγεθος σταθερό, με άλλα λόγια περιέχει σταθερό αριθμό από bytes, ο οποίος κυμαίνεται από 512 bytes ως 32 ΚΒ ή και περισσότερο. Το σύνολο των δεδομένων που αποθηκεύονται σε ένα τομέα του δίσκου λέγεται ενότητα (block). ∆ύο ή περισσότεροι τομείς, σχηματίζουν την συστοιχία (cluster), που αποτελεί την μικρότερη μονάδα αποθήκευσης για τα δεδομένα ενός προγράμματος.
http://users.sch.gr/fergadis/images/OS/FileSystemInterface/disk.png
Όπως μπορούμε να δούμε και στο σχήμα, το μέγεθος των τομέων που ανήκουν σε διαφορετικές τροχιές δεν είναι το ίδιο.
http://users.sch.gr/fergadis/images/OS/FileSystemInterface/tracks.png
Οι τομείς που βρίσκονται κοντά στην εξωτερική τροχιά του δίσκου έχουν μεγαλύτερο μήκος απ’ ό,τι οι εσωτερικοί τομείς. Η ποσότητα όμως των δεδομένων που αποθηκεύεται σε κάθε τομέα είναι συνήθως σταθερή· άρα έχουμε μεγαλύτερη πυκνότητα αποθήκευσης όσο πλησιάζουμε προς το κέντρο του δίσκου.
Πάνω από την επιφάνεια του δίσκου και σε μικρή απόσταση από αυτόν (εκατομυριοστά του μέτρου) βρίσκεται η κεφαλή (head) ανάγνωσης/εγγραφής, η οποία φέρει τον ηλεκτρομαγνήτη για την ανάγνωση των 0 και 1 που είναι γραμμένα στην επιφάνεια του δίσκου. Οι κεφαλές μπορεί να είναι σταθερές ή κινούμενες. Στην περίπτωση των σταθερών κεφαλών, πάνω από την συστοιχία επιφάνεια του μαγνητικού δίσκου βρίσκονται πολλές κεφαλές, μια για κάθε τροχιά. Οι κινούμενες κεφαλές είναι οι πλέον διαδεδομένες σε μονάδες μαγνητικών δίσκων. Όταν οι κεφαλές είναι κινούμενες, σε κάθε επιφάνεια του μαγνητικού δίσκου αντιστοιχεί μια μοναδική κεφαλή.
# Αρχικά μετακινείται η κεφαλή πάνω από την τροχιά στην οποία υπάρχουν ή πρόκειται να γραφούν τα δεδομένα. Ο χρόνος που απαιτείται για τη μετακίνηση αυτή ονομάζεται χρόνος αναζήτησης (seek time).
# Στη συνέχεια, καθώς ο δίσκος περιστρέφεται συνεχώς, αναμένουμε να βρεθεί η κεφαλή ακριβώς πάνω από τον συγκεκριμένο τομέα και συστοιχία. Ο χρόνος που απαιτείται μέχρι να γίνει αυτό εξαρτάται από το ρυθμό περιστροφής του μαγνητικού δίσκου.
# Κατόπιν η κεφαλή διαβάζει ή γράφει τα δεδομένα σε συστοιχίες και τα μεταδίδει. Ο χρόνος ανάγνωσης ή εγγραφής εξαρτάται από την ταχύτητα ανάγνωσης/εγγραφής της κεφαλής, από την ταχύτητα των ηλεκτρονικών που υποστηρίζουν το δίσκο, από το πρωτόκολλο διαδρόμου κλπ.
http://users.sch.gr/fergadis/images/OS/FileSystemInterface/seek.png
Οι μαγνητικοί δίσκοι διακρίνονται σε σκληρούς δίσκους (hard disks) και σε εύκαμπτες δισκέτες (floppy disks).
!!! Σκληροί Δίσκοι
Στο σχήμα βλέπουμε μια τυπική διάταξη σκληρού δίσκου που αποτελείται από ομοαξονικούς μαγνητικούς δίσκους.
http://users.sch.gr/fergadis/images/OS/FileSystemInterface/hd.png
Οι αντίστοιχες τροχιές από κάθε δίσκο, ορίζουν ένα κύλινδρο (cylinder). Σε κάθε στιγμή, όλες οι κεφαλές είναι τοποθετημένες στις τροχιές που ανήκουν στον ίδιο κύλινδρο. Έτσι η διαδικασία προσπέλασης γίνεται ταχύτερα, καθώς όλες οι κεφαλές λειτουργούν ταυτόχρονα γράφοντας στην ίδια τροχιά, αλλά σε διαφορετικό μαγνητικό δίσκο. Τα διαδοχικά δεδομένα λοιπόν αποθηκεύονται σε τροχιές διαφορετικών μαγνητικών δίσκων που ανήκουν στον ίδιο κύλινδρο.
Για την προσπέλαση των δεδομένων στο σκληρό δίσκο, υπάρχει μια μοναδική διεύθυνση για κάθε τομέα, η οποία αποτελείται από τον αριθμό της κεφαλής (δηλαδή τον αριθμό δίσκου), τον αριθμό του κυλίνδρου ή τροχιάς στο δίσκο και τον αριθμό του τομέα μέσα στον κύλινδρο. Η χωρητικότητα (capacity) σε Kbytes (KB) ενός σκληρού δίσκου δίνεται από το γινόμενο:
>>center<<
@@σύνολο κεφαλών × αριθμός κυλίνδρων × αριθμός τομέων/κύλινδρο × ΚB/τομέα@@
>><<
Τα χαρακτηριστικά αυτά (κεφαλές, κύλινδροι, τομείς) αποτελούν τη γεωμετρία του σκληρού δίσκου. Η σύγχρονη τεχνολογία επιτρέπει την δημιουργία δίσκων με πυκνότερες τροχιές και πιο μικρούς τομείς ανά μονάδα πληροφορίας, άρα μεγαλύτερες χωρητικότητες.
!!! Μέγεθος Μπλοκ
Το μέγεθος του μπλοκ δεδομένων στο δίσκο είναι σημαντικός παράγοντας για την αξιοποίηση (ποσοστό χρήσης) και της ταχύτητας μεταφοράς δεδομένων.
* Μικρό μπλοκ:
->Θετικό: Πολύ καλή αξιοποίηση (δεν σπαταλάτε χώρος σε μικρού μεγέθους αρχεία).
->Αρνητικό: Πολλές αναγνώσεις μπλοκ για τα μεγάλα αρχεία (αργός ρυθμός μεταφοράς).
* Μεγάλο μπλοκ (τα αντίθετα με το μικρό)
->Θετικό: Τα μεγάλα αρχείο διαβάζονται με λιγότερες αναγνώσεις μπλοκ
->Αρνητικό: Κακή αξιοποίηση (τα μικρά αρχεία καταλαμβάνουν μεγάλο χώρο)
Δεδομένων των χαρακτηριστικών ενός δίσκου και του μεγέθους ενός αρχείου και του μεγέθους του, μπορούμε να βρούμε πόσο χρόνο χρειάζεται να διαβαστεί, καθώς επίσης, και το ρυθμό μεταφοράς του δίσκου:
>>center<<
@@Χρόνος ανάγνωσης αρχείου = χρόνος αναζήτησης + χρόνος περιστροφής + (μέγεθος αρχείου σε / bytes ανά τομέα) x χρόνος μετάδοσης@@
@@Ρυθμός μεταφοράς = μέγεθος μπλοκ (σε KB) / χρόνος ανάγνωσης ενός μπλοκ@@
>><<