"Institute of Educational Policy" Books
4.3 Μέρη λειτουργικού συστήματος
Το ΛΣ είναι ένα πρόγραμμα γραμμένο συχνά σε διάφορες γλώσσες προγραμματισμού. Πάντα όμως ένα μέρος του (συνήθως μικρό) είναι γραμμένο στη γλώσσα μηχανής που κατανοεί η ΚΜΕ του υπολογιστή στον οποίο θα εγκατασταθεί το λειτουργικό αυτό σύστημα.
Πυρήνας Εάν το λειτουργικό σύστημα είναι ένας ενδιάμεσος μεταξύ του χρήστη και του υλικού, ο πυρήνας (Kernel) είναι το μέρος εκείνο που βρίσκεται πλησιέστερα στο υλικό. Επιτελεί δηλαδή τον ρόλο του ενδιάμεσου "κρίκου" μεταξύ του υλικού και του υπόλοιπου λειτουργικού συστήματος. Επειδή εξαρτάται από το υλικό, ένα μέρος του έχει γραφεί στη γλώσσα μηχανής που κατανοεί η ΚΜΕ του υπολογιστή. Είναι το πρόγραμμα που φορτώνεται πρώτο, όταν ξεκινάει η λειτουργία του υπολογιστικού συστήματος. Επίσης, με ειδικούς μηχανισμούς (σηματοφορείς, ουρές μηνυμάτων) -που δεν είναι σκόπιμο να αναλυθούν στο παρόν κεφάλαιο- ρυθμίζει την επικοινωνία και το συγχρονισμό μεταξύ των διεργασιών, τις οποίες και διανέμει στον ή στους κατάλληλους επεξεργαστές. Άλλωστε ο πυρήνας ονομάζεται και "ελεγκτής της κυκλοφορίας". Για παράδειγμα, αν δύο διεργασίες πρέπει να χρησιμοποιήσουν τον ίδιο πόρο -π.χ. να διαβάσουν ένα κοινό αρχείο- θα πρέπει να συντονίσουν την εκτέλεσή τους για να αποτραπεί εμπλοκή του συστήματος. Η διαχείριση και επικοινωνία των διεργασιών είναι απαραίτητη, ώστε όλα τα προγράμματα να εκτελούνται και να τρέχουν "δίκαια". Είναι ανεπιθύμητο το πρόγραμμα ενός χρήστη να εκτελείται με τρόπο που να παραμελούνται τα προγράμματα των άλλων χρηστών, οι οποίοι θα πρέπει να περιμένουν. Αντίθετα, κάποια προγράμματα -όπως π.χ. ο έλεγχος επικοινωνιών δικτύου- απαιτείται να εκτελούνται συχνότερα ή κατά προτεραιότητα από άλλα. Τα ζητήματα αυτά τα αντιμετωπίζει ο πυρήνας του λειτουργικού.
Στο σημείο αυτό αξίζει να αναφερθεί ότι η διεργασία (task) ενός συστήματος και η επεξεργασία (process) είναι έννοιες παρόμοιες. Και οι δύο έννοιες υποδηλώνουν μια ακολουθία από ενέργειες, που πρέπει να εκτελεστούν προκειμένου να ολοκληρωθεί μια λειτουργία. Όμως η διεργασία είναι ευρύτερη, καθώς αφορά ενέργειες του συστήματος που εμπλέκουν στοιχεία όπως περιβάλλον εκτέλεσης, επικοινωνία και άλλες συνθετότερες παραμέτρους, ενώ με την επεξεργασία αναφερόμαστε κυρίως σε τμήματα προγράμματος. Μια διεργασία μπορεί να είναι έτοιμη για εκτέλεση, να βρίσκεται σε φάση εκτέλεσης ή να έχει παρακωλυθεί η εκτέλεσή της.
Προστασία - Ασφάλεια Κατά την εκτέλεση των διαφόρων επεξεργασιών το λειτουργικό σύστημα θα πρέπει να μεριμνά συνεχώς ώστε να μην κινδυνεύει μια επεξεργασία να αλλοιώσει τη λειτουργία ή τα δεδομένα μιας άλλης. Γι’ αυτό το σκοπό ένα μέρος του λειτουργικού συστήματος ασχολείται με την προστασία και ασφάλεια των επεξεργασιών. Πρόκειται για ένα μηχανισμό ελέγχου της πρόσβασης προγραμμάτων, επεξεργασιών και χρηστών στους πόρους του συστήματος. Για την υλοποίηση αυτού του μηχανισμού ελέγχου υπάρχουν πολλές πολιτικές. Κάθε λειτουργικό σύστημα υιοθετεί μια συγκεκριμένη πολιτική, την οποία υλοποιούν οι μηχανισμοί προστασίας - ασφάλειας που διαθέτει. Το Λειτουργικό Σύστημα ανάλογα με το ρόλο που επιτελεί κάθε τμήμα του διακρίνεται στα παρακάτω μέρη.