Υλικό υπολογιστών

Γνώση Υπολογιστών >> Υλικό υπολογιστών >  >> Εξωτερικοί Σκληροί Δίσκοι

Πώς επικοινωνούν ένα λειτουργικό σύστημα στο CPU ότι θέλει δεδομένα πρόσβασης σε σκληρό δίσκο;

Το λειτουργικό σύστημα (OS) επικοινωνεί την επιθυμία του να αποκτήσει πρόσβαση σε δεδομένα σε σκληρό δίσκο προς την CPU μέσω μιας σειράς βημάτων που περιλαμβάνουν αλληλεπιδράσεις υλικού και λογισμικού. Εδώ είναι μια απλοποιημένη κατανομή:

1. Αίτημα λογισμικού: Το στοιχείο της εφαρμογής ή του συστατικού λειτουργικού συστήματος που χρειάζεται δεδομένα ξεκινά ένα αίτημα. Αυτό μπορεί να είναι ένα αρχείο που διαβάζεται, μια λειτουργία εγγραφής ή άλλη πρόσβαση δεδομένων. Αυτό το αίτημα μεταφράζεται σε μια κλήση συστήματος - ένα αίτημα στον πυρήνα του OS.

2. Παρέμβαση πυρήνα: Ο πυρήνας, ο πυρήνας του λειτουργικού συστήματος, λαμβάνει την κλήση του συστήματος. Επαληθεύει το αίτημα (π.χ., εξασφαλίζοντας ότι ο χρήστης έχει δικαιώματα πρόσβασης στο αρχείο), μεταφράζει το αίτημα σε οδηγίες χαμηλότερου επιπέδου και προετοιμάζει τις απαραίτητες παραμέτρους.

3. αλληλεπίδραση οδηγού συσκευής: Ο πυρήνας αλληλεπιδρά με τον κατάλληλο πρόγραμμα οδήγησης συσκευής. Ένα πρόγραμμα οδήγησης συσκευής είναι ένα στοιχείο λογισμικού που λειτουργεί ως ενδιάμεσος μεταξύ του πυρήνα OS και μιας συγκεκριμένης συσκευής υλικού (σε αυτή την περίπτωση, ο σκληρός δίσκος). Ο οδηγός κατανοεί τις λεπτομέρειες του τρόπου επικοινωνίας με τον ελεγκτή του σκληρού δίσκου.

4. DMA (άμεση πρόσβαση μνήμης): Βασικά, ο οδηγός χρησιμοποιεί συχνά το DMA για τη μεταφορά δεδομένων. Πρόκειται για μια λειτουργία υλικού που επιτρέπει στον ελεγκτή σκληρού δίσκου να μεταφέρει δεδομένα απευθείας προς και από τη μνήμη RAM του συστήματος, παρακάμπτοντας τη συμμετοχή της CPU σε κάθε μεταφορά byte. Αυτό είναι σημαντικά πιο αποτελεσματικό. Ο οδηγός δίνει εντολή στον ελεγκτή σκληρού δίσκου μέσω μιας σειράς εντολών που αποστέλλονται πάνω από ένα λεωφορείο (όπως το SATA ή το NVME). Αυτές οι εντολές καθορίζουν τη θέση στον σκληρό δίσκο (κύλινδρο, κεφαλή, τομέας - ή λογική διευθύνσεις μπλοκ σε σύγχρονες μονάδες δίσκου) και το ποσό των δεδομένων για μεταφορά.

5. Χειρισμός διακοπής: Μόλις ο σκληρός δίσκος ολοκληρώσει τη μεταφορά δεδομένων (ανάγνωση ή γραφή), στέλνει ένα σήμα διακοπής στη CPU. Αυτή η διακοπή σηματοδοτεί ότι η μεταφορά δεδομένων έχει ολοκληρωθεί και η CPU θα πρέπει να συνεχίσει την επεξεργασία.

6. Χειρισμός δεδομένων: Η CPU, που ανταποκρίνεται στη διακοπή, μεταβαίνει σε μια ειδική ρουτίνα υπηρεσίας (ISR) που σχετίζεται με το πρόγραμμα οδήγησης σκληρού δίσκου. Στη συνέχεια, ο οδηγός ενημερώνει τον πυρήνα ότι η λειτουργία είναι πλήρης. Ο πυρήνας, με τη σειρά του, καθιστά τα δεδομένα διαθέσιμα στην εφαρμογή που το ζήτησε αρχικά.

7. Χειρισμός σφαλμάτων: Σε όλη αυτή τη διαδικασία, υπάρχουν μηχανισμοί χειρισμού σφαλμάτων. Ο ελεγκτής σκληρού δίσκου, ο οδηγός και ο πυρήνας έχουν όλους τρόπους ανίχνευσης και χειρισμού σφαλμάτων (π.χ. κακοί τομείς, αποσυνδέσεις καλωδίων, σφάλματα ανάγνωσης).

Συνοπτικά, το λειτουργικό σύστημα δεν μιλά άμεσα με τον σκληρό δίσκο. Χρησιμοποιεί μια στρώση προσέγγιση:Η εφαρμογή -> Kernel -> DERVERARD DERVERING -> Ελεγκτής υλικού -> σκληρός δίσκος. Το DMA είναι το κλειδί για την αποτελεσματική μεταφορά δεδομένων, ελαχιστοποιώντας τη συμμετοχή της CPU στην πραγματική κίνηση των δεδομένων. Διακόπτει την ολοκλήρωση του σήματος και τα σφάλματα στη CPU, επιτρέποντάς του να διαχειρίζεται ταυτόχρονα πολλαπλές εργασίες.

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα