1. στρώμα αφαίρεσης υλικού (HAL): Το λειτουργικό σύστημα περιλαμβάνει ένα HAL που βρίσκεται μεταξύ του λογισμικού εφαρμογής και του υλικού. Αυτό το στρώμα παρουσιάζει μια τυποποιημένη διεπαφή στις εφαρμογές, ανεξάρτητα από τα συγκεκριμένα στοιχεία υλικού που χρησιμοποιούνται. Οι εφαρμογές υποβάλλουν αιτήματα στο λειτουργικό σύστημα μέσω αυτής της τυποποιημένης διεπαφής και το λειτουργικό σύστημα μεταφράζει αυτά τα αιτήματα στις συγκεκριμένες οδηγίες που απαιτούνται για τον έλεγχο του συγκεκριμένου υλικού. Αυτό σημαίνει ότι μια εφαρμογή γραμμένη για έναν τύπο σκληρού δίσκου, για παράδειγμα, θα λειτουργήσει με άλλο τύπο χωρίς τροποποίηση, εφόσον το λειτουργικό σύστημα έχει οδηγούς και για τους δύο.
2. Οδηγοί συσκευών: Αυτές είναι εξειδικευμένες ενότητες λογισμικού που λειτουργούν ως μεταφραστές μεταξύ του λειτουργικού συστήματος και των μεμονωμένων συσκευών υλικού (εκτυπωτές, πληκτρολόγια, κάρτες γραφικών κλπ.). Κάθε πρόγραμμα οδήγησης κατανοεί τις συγκεκριμένες ιδιορρυθμίες και τις εντολές ενός συγκεκριμένου τύπου συσκευής. Το λειτουργικό σύστημα χρησιμοποιεί αυτούς τους οδηγούς για να επικοινωνήσει με το υλικό, προστατεύοντας την εφαρμογή από την πολυπλοκότητα των ειδικών πρωτοκόλλων επικοινωνίας.
3. Virtualization: Το λειτουργικό σύστημα δημιουργεί ένα εικονικό περιβάλλον για εφαρμογές, παρουσιάζοντάς τους μια απλοποιημένη άποψη των πόρων του συστήματος. Αυτό περιλαμβάνει την εικονική μνήμη, η οποία διαχειρίζεται τον τρόπο με τον οποίο οι εφαρμογές έχουν πρόσβαση σε RAM και εικονικούς επεξεργαστές, οι οποίοι επιτρέπουν σε πολλαπλές εφαρμογές να μοιράζονται φαινομενικά την ισχύ επεξεργασίας της CPU. Αυτή η αφαίρεση εμποδίζει τις εφαρμογές να παρεμβαίνουν μεταξύ τους ή να έχουν άμεση πρόσβαση και διεφθαρμένο υλικό.
4. Διακοπές και χειρισμός εξαιρέσεων: Όταν οι συσκευές υλικού χρειάζονται προσοχή (π.χ. ένα πλήκτρο, μια άφιξη πακέτων δικτύου), ενεργοποιούν τις διακοπές. Το OS παρακολουθεί αυτές τις διακοπές, προσδιορίζει την πηγή και στη συνέχεια χειρίζεται κατάλληλα το συμβάν. Αυτό εμποδίζει τις εφαρμογές από την ανάγκη να διαρκέσει συνεχώς το υλικό για τις αλλαγές, τη βελτίωση της αποτελεσματικότητας και της σταθερότητας. Το λειτουργικό σύστημα διαχειρίζεται επίσης εξαιρέσεις (σφάλματα) που προκύπτουν από αποτυχίες υλικού ή λογισμικού, αποτρέποντας τις συντριβές του συστήματος και την απώλεια δεδομένων.
5. Σύστημα αρχείων: Το λειτουργικό σύστημα διαχειρίζεται αρχεία και αποθήκευση, παρέχοντας έναν συνεπή και φορητή τρόπο για τις εφαρμογές για πρόσβαση και χειρισμό δεδομένων σε διάφορες συσκευές αποθήκευσης (σκληρούς δίσκους, SSD, μονάδες USB). Οι εφαρμογές δεν χρειάζεται να γνωρίζουν τις λεπτομέρειες χαμηλού επιπέδου σχετικά με τον τρόπο με τον οποίο τα δεδομένα αποθηκεύονται φυσικά στο δίσκο. Απλώς αλληλεπιδρούν με το σύστημα αρχείων.
Συνοπτικά, το λειτουργικό σύστημα λειτουργεί ως buffer, απλοποιώντας την πρόσβαση του υλικού και τη διαχείριση πόρων για εφαρμογές. Αυτή η αφαίρεση παρέχει πολλά οφέλη:
* Φορητότητα: Οι εφαρμογές μπορούν να εκτελούνται σε διαφορετικές πλατφόρμες υλικού χωρίς τροποποίηση, εφόσον το λειτουργικό σύστημα είναι διαθέσιμο σε αυτές τις πλατφόρμες.
* σταθερότητα: Το OS προστατεύει τις εφαρμογές από αποτυχίες και ασυνέπειες υλικού.
* Ασφάλεια: Το OS ελέγχει την πρόσβαση σε πόρους υλικού, εμποδίζοντας τις εφαρμογές να παρεμβαίνουν μεταξύ τους ή να έχουν πρόσβαση σε μη εξουσιοδοτημένους πόρους.
* Αποδοτικότητα: Το λειτουργικό σύστημα διαχειρίζεται αποτελεσματικά τους πόρους του υλικού, εξασφαλίζοντας ότι οι εφαρμογές έχουν πρόσβαση στους πόρους που χρειάζονται.
Χωρίς λειτουργικό σύστημα, οι εφαρμογές θα πρέπει να γράφονται με οικεία γνώση κάθε στοιχείου υλικού και τις συγκεκριμένες εντολές του, καθιστώντας την ανάπτυξη πολύ πιο περίπλοκη, χρονοβόρα και επιρρεπή σε σφάλματα. Το λειτουργικό σύστημα εξαλείφει αυτό το βάρος, επιτρέποντας στους προγραμματιστές να επικεντρωθούν στη λειτουργικότητα της εφαρμογής και όχι στις αλληλεπιδράσεις υλικού χαμηλού επιπέδου.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα