Αρχική ΑΕΠΠ - Δομές Δεδομένων Λειτουργικά Συστήματα Δίκτυα Υπολογιστών ΙΙ Βάσεις Δεδομένων Παιδαγωγικά - Διδακτική
Εισαγωγή στα Λ.Σ. Βασικές Δομές Η/Υ Βασικές Δομές Λ.Σ
Διεργασίες Χρονοπρογραμματισμός Συγχρονισμός
Μονοπρογραμματισμός Εναλλαγή Εικονική Μνήμη Κατάτμηση
Η επιφάνεια ενός μαγνητικού δίσκου διαμερίζεται σε ομόκεντρους κύκλους ή τροχιές (tracks). Κάθε τροχιά χωρίζεται σε κυκλικά τόξα ή περιοχές που ονομάζονται τομείς (sectors). Κάθε τομέας έχει μέγεθος σταθερό, με άλλα λόγια περιέχει σταθερό αριθμό από bytes, ο οποίος κυμαίνεται από 512 bytes ως 32 ΚΒ ή και περισσότερο. Το σύνολο των δεδομένων που αποθηκεύονται σε ένα τομέα του δίσκου λέγεται ενότητα (block). ∆ύο ή περισσότεροι τομείς, σχηματίζουν την συστοιχία (cluster), που αποτελεί την μικρότερη μονάδα αποθήκευσης για τα δεδομένα ενός προγράμματος.
Όπως μπορούμε να δούμε και στο σχήμα, το μέγεθος των τομέων που ανήκουν σε διαφορετικές τροχιές δεν είναι το ίδιο. Οι τομείς που βρίσκονται κοντά στην εξωτερική τροχιά του δίσκου έχουν μεγαλύτερο μήκος απ’ ό,τι οι εσωτερικοί τομείς. Η ποσότητα όμως των δεδομένων που αποθηκεύεται σε κάθε τομέα είναι συνήθως σταθερή· άρα έχουμε μεγαλύτερη πυκνότητα αποθήκευσης όσο πλησιάζουμε προς το κέντρο του δίσκου.
Πάνω από την επιφάνεια του δίσκου και σε μικρή απόσταση από αυτόν (εκατομυριοστά του μέτρου) βρίσκεται η κεφαλή (head) ανάγνωσης/εγγραφής, η οποία φέρει τον ηλεκτρομαγνήτη για την ανάγνωση των 0 και 1 που είναι γραμμένα στην επιφάνεια του δίσκου. Οι κεφαλές μπορεί να είναι σταθερές ή κινούμενες. Στην περίπτωση των σταθερών κεφαλών, πάνω από την συστοιχία επιφάνεια του μαγνητικού δίσκου βρίσκονται πολλές κεφαλές, μια για κάθε τροχιά. Οι κινούμενες κεφαλές είναι οι πλέον διαδεδομένες σε μονάδες μαγνητικών δίσκων. Όταν οι κεφαλές είναι κινούμενες, σε κάθε επιφάνεια του μαγνητικού δίσκου αντιστοιχεί μια μοναδική κεφαλή.
Οι μαγνητικοί δίσκοι διακρίνονται σε σκληρούς δίσκους (hard disks) και σε εύκαμπτες δισκέτες (floppy disks).
Στο σχήμα βλέπουμε μια τυπική διάταξη σκληρού δίσκου που αποτελείται από ομοαξονικούς μαγνητικούς δίσκους.
Οι αντίστοιχες τροχιές από κάθε δίσκο, ορίζουν ένα κύλινδρο (cylinder). Σε κάθε στιγμή, όλες οι κεφαλές είναι τοποθετημένες στις τροχιές που ανήκουν στον ίδιο κύλινδρο. Έτσι η διαδικασία προσπέλασης γίνεται ταχύτερα, καθώς όλες οι κεφαλές λειτουργούν ταυτόχρονα γράφοντας στην ίδια τροχιά, αλλά σε διαφορετικό μαγνητικό δίσκο. Τα διαδοχικά δεδομένα λοιπόν αποθηκεύονται σε τροχιές διαφορετικών μαγνητικών δίσκων που ανήκουν στον ίδιο κύλινδρο.
Για την προσπέλαση των δεδομένων στο σκληρό δίσκο, υπάρχει μια μοναδική διεύθυνση για κάθε τομέα, η οποία αποτελείται από τον αριθμό της κεφαλής (δηλαδή τον αριθμό δίσκου), τον αριθμό του κυλίνδρου ή τροχιάς στο δίσκο και τον αριθμό του τομέα μέσα στον κύλινδρο. Η χωρητικότητα (capacity) σε Kbytes (KB) ενός σκληρού δίσκου δίνεται από το γινόμενο:
σύνολο κεφαλών × αριθμός κυλίνδρων × αριθμός τομέων/κύλινδρο × ΚB/τομέα
Τα χαρακτηριστικά αυτά (κεφαλές, κύλινδροι, τομείς) αποτελούν τη γεωμετρία του σκληρού δίσκου. Η σύγχρονη τεχνολογία επιτρέπει την δημιουργία δίσκων με πυκνότερες τροχιές και πιο μικρούς τομείς ανά μονάδα πληροφορίας, άρα μεγαλύτερες χωρητικότητες.
Το μέγεθος του μπλοκ δεδομένων στο δίσκο είναι σημαντικός παράγοντας για την αξιοποίηση (ποσοστό χρήσης) και της ταχύτητας μεταφοράς δεδομένων.
Δεδομένων των χαρακτηριστικών ενός δίσκου και του μεγέθους ενός αρχείου και του μεγέθους του, μπορούμε να βρούμε πόσο χρόνο χρειάζεται να διαβαστεί, καθώς επίσης, και το ρυθμό μεταφοράς του δίσκου.
Χρόνος ανάγνωσης αρχείου = χρόνος αναζήτησης + χρόνος περιστροφής + (μέγεθος αρχείου σε bytes / bytes ανά τομέα) x χρόνος μετάδοσης
Ρυθμός μεταφοράς = μέγεθος μπλοκ (σε KB) / χρόνος ανάγνωσης ενός μπλοκ
Στο βιβλίο του Tanenbaum και στις ασκήσεις του δίνει μόνο χρόνο αναζήτησης και χρόνο περιστροφής. Θεωρεί ότι ο χρόνος μετάδοσης ταυτίζεται με το χρόνο περιστροφής. Επίσης, θεωρεί ότι κατά μέσο όρο γίνεται μισή περιστροφή δίσκου μέχρι να βρεθεί το πρώτο μπλοκ του αρχείου. Έτσι, δίνει: χρόνο αναζήτησης, χρόνο περιστροφής, μέγεθος αρχείου και bytes ανά τομέα. Ο τύπος για το χρόνο ανάγνωσης αρχείου γίνεται:
Χρόνος ανάγνωσης αρχείου = χρόνος αναζήτησης + χρόνος περιστροφής/2 + (μέγεθος αρχείου σε bytes / bytes ανά τομέα) x χρόνος περιστροφής
Copyright 2008 - Άρης Φεργάδης