Μονολιθικός πυρήνας
Ο μονολιθικός πυρήνας είναι είδος αρχιτεκτονικής λειτουργικού συστήματος όπου ολόκληρο το σύστημα λειτουργεί σε χώρο πυρήνα και είναι μόνο του στην κατάσταση επιβλέποντος. Το μονολιθικό μοντέλο διαφέρει από τις άλλες αρχιτεκτονικές λειτουργικών συστημάτων (όπως από την αρχιτεκτονική μικροπυρήνα),[1][2] δεδομένου ότι από μόνο του ορίζει μια εικονική διεπαφή υψηλού επιπέδου πάνω από το υλικό του υπολογιστή. Ένα σύνολο πρωτογενών κλήσεων ή κλήσεων συστήματος υλοποιεί όλες τις υπηρεσίες του λειτουργικού συστήματος, όπως η διαχείριση διεργασιών, ο ταυτοχρονισμός και η διαχείριση μνήμης. Οι οδηγοί συσκευών μπορούν να προστεθούν στον πυρήνα ως μονάδες.
Μονάδες που μπορούν να φορτωθούν
[Επεξεργασία | επεξεργασία κώδικα]Τα αρθρωτά λειτουργικά συστήματα όπως το OS-9 και τα πιο σύγχρονα μονολιθικά λειτουργικά συστήματα, όπως το OpenVMS, το Linux, το BSD, και παραλλαγές του UNIX όπως το SunOS, και το AIX, μαζί με το MULTICS, μπορούν να φορτώσουν δυναμικά (και να ξεφορτώσουν) εκτελέσιμες μονάδες κατά το χρόνο εκτέλεσης.
Αυτή η αρθρωτή δομή του λειτουργικού συστήματος είναι σε δυαδικό (εικόνα ή image) επίπεδο και όχι σε επίπεδο αρχιτεκτονικής. Τα αρθρωτά μονολιθικά λειτουργικά συστήματα, δεν πρέπει να συγχέονται με την αρθρωτή δομή σε αρχιτεκτονικό επίπεδο που ενυπάρχει σε λειτουργικά συστήματα μοντέλου διακομιστή-πελάτη (και τα παράγωγά τους, που μερικές φορές προωθούνται στην αγορά ως υβριδικοί πυρήνες) που χρησιμοποιούν μικροπυρήνες και διακομιστές (δεν πρέπει να συγχέονται με τις μονάδες ή τους δαίμονες, αγγλ. daemons).
Πρακτικά, η δυναμική φόρτωση μονάδων είναι απλώς ένας πιο ευέλικτος τρόπος χειρισμού της εικόνας του λειτουργικού συστήματος κατά τη διάρκεια εκτέλεσης - σε αντίθεση με το να γίνεται επανεκκίνηση με διαφορετική εικόνα λειτουργικού συστήματος. Οι μονάδες επιτρέπουν την εύκολη επέκταση των δυνατοτήτων των λειτουργικών συστημάτων όπως αυτή απαιτείται.[3] Οι δυναμικά φορτωμένες μονάδες έχουν μικρή επιβάρυνση σε σύγκριση με την κατασκευή της μονάδας μέσα στην εικόνα του λειτουργικού συστήματος.
Ωστόσο, σε ορισμένες περιπτώσεις, η φόρτωση των μονάδων δυναμικά (όπως απαιτείται) συμβάλλει στη διατήρηση του μεγέθους του κώδικα, που τρέχει στο χώρο πυρήνα, στο ελάχιστο. Για παράδειγμα, για την ελαχιστοποίηση του αποτυπώματος του λειτουργικού συστήματος για ενσωματωμένες συσκευές ή για χρήστες με περιορισμένους πόρους υλικού. Δηλαδή, μία μη φορτωμένη μονάδα δε χρειάζεται να αποθηκευτεί στη μνήμη τυχαίας προσπέλασης.
Παραδείγματα μονολιθικής αρχιτεκτονικής
[Επεξεργασία | επεξεργασία κώδικα]Δείτε επίσης
[Επεξεργασία | επεξεργασία κώδικα]- Exokernel
- Υβριδικός πυρήνας
- Πυρήνας (επιστήμη των υπολογιστών)
- Μικροπυρήνας
- Nanokernel
- Tanenbaum–Torvalds συζήτηση
Παραπομπές
[Επεξεργασία | επεξεργασία κώδικα]- ↑ «Modular system programming in Minix3» (PDF).
- ↑ «Server-Client, or layered structure» (PDF). The Design of PARAS Microkernel. Αρχειοθετήθηκε από το πρωτότυπο (PDF) στις 17 Ιουλίου 2010. Ανακτήθηκε στις 15 Ιουλίου 2009.
- ↑ «Kernel Definition».