GNU Hurd
![]() HURD Live CD | |
![]() | |
Υπευθ. ανάπτυξης | Εγχείρημα GNU |
---|---|
Τύπος | Πυρήνας (υπολογιστές) |
Πυρήνας | μικροπυρήνας |
Γραμμένο σε | Assembly, C |
Κατάσταση | Ενεργό |
Άδεια χρήσης | GNU GPL |
Ιστότοπος | |
https://www.gnu.org/software/hurd/ |
Ο GNU Hurd είναι η αντικατάσταση του πυρήνα Unix για το έργο GNU. Ο Hurd είναι μια συλλογή από διακομιστές που εκτελούνται πάνω στον μικροπυρήνα Mach με σκοπό την υλοποίηση συστημάτων αρχείων, δικτυακών πρωτοκόλλων, ελέγχου πρόσβασης αρχείων, και άλλα χαρακτηριστικά γνωρίσματα που υλοποιούνται από τον πυρήνα του Unix ή παρόμοιους πυρήνες (όπως ο πυρήνας Linux).
Αυτήν την περίοδο, ο Hurd μπορεί να εκτελείται σε μηχανές τύπου ΙΑ32. Πιθανότατα θα μεταφερθεί και σε άλλες αρχιτεκτονικές υλικού ή ακόμη και σε άλλους μικροπυρήνες μελλοντικά.
Χαρακτηριστικά γνωρίσματα του Hurd[Επεξεργασία | επεξεργασία κώδικα]
- Είναι ελεύθερο λογισμικό, δηλαδή οποιοσδήποτε μπορεί να τον χρησιμοποιήσει, να τον τροποποιήσει και να τον επαναδημοσιοποιήσει υπό τους όρους της GNU General Public License).
- Είναι συμβατός. Ο Hurd παρέχει ένα φιλικό περιβάλλον προγραμματισμού και χρηστών. Για όλες τις προθέσεις και τους σκοπούς χρήσεως, ο Hurd είναι ένας σύγχρονος συμβατός με το Unix πυρήνας. Χρησιμοποιεί τη βιβλιοθήκη GNU C, η ανάπτυξη της οποίας πλησιάζει πολύ τα πρότυπα ANSI/ISO, BSD, POSIX, Single Unix, SVID, και Χ/Open.
- Αντίθετα από όλο το υπόλοιπο δημοφιλές λογισμικό πυρήνων, ο Hurd έχει αντικειμενοστρεφή δομή που του επιτρέπει να εξελιχθεί χωρίς αλλαγή του σχεδιασμού του. Αυτή η δομή θα βοηθήσει τον Hurd να υποβληθεί σε σημαντικό επανασχεδιασμό και τροποποιήσεις δίχως να πρέπει να επαναγραφεί εξ ολοκλήρου.
- Η υλοποίηση του Hurd είναι πολυνηματική, έτσι ώστε να εκτελείται αποδοτικά και στους ενιαίους επεξεργαστές και στους συμμετρικούς πολυεπεξεργαστές. Οι διεπαφές του Hurd σχεδιάζονται ώστε να επιτρέπουν τις διαφανείς συστοιχίες δικτύων (collectives), αν και αυτό το χαρακτηριστικό δεν έχει υλοποιηθεί ακόμη.
- Είναι επεκτάσιμος. Κάθε μέρος του συστήματος σχεδιάζεται ώστε να υποστηρίζει μεμονωμένη τροποποίηση και επέκταση.
- Είναι δυνατό να αναπτυχθούν και να εξεταστούν νέα τμήματα του πυρήνα Hurd χωρίς να απαιτείται επανεκκίνηση της μηχανής (ακόμη και σε περίπτωση λάθους). Η εκτέλεση των δικών σας τμημάτων του πυρήνα δεν αναμιγνύεται με τους υπόλοιπους χρήστες, και για αυτό το λόγο δεν απαιτείται κανένα ειδικό προνόμιο. Ο μηχανισμός επέκτασης των πυρήνων σύμφωνα με τον σχεδιαστή του είναι ασφαλής εκ σχεδίου: είναι αδύνατο να επιβληθούν οι αλλαγές σας εις βάρος άλλων χρηστών εκτός αν τις εγκρίνουν ή είστε ο διαχειριστής του συστήματος.
Ονομασία[Επεξεργασία | επεξεργασία κώδικα]
Σύμφωνα με τον Thomas Bushnell, BSG, τον βασικό αρχιτέκτονα του Hurd:
«Η λέξη Hurd σημαίνει `Hird of Unix-Replacing Daemons'. Με τη σειρά της, η λέξη Hird σημαίνει `Hurd of Interfaces Representing Depth'. Έχουμε εδώ, από όσα γνωρίζω, το πρώτο λογισμικό που το όνομα του αποτελείται από ένα ζευγάρι αμοιβαία αναδρομικών αρκτικολέκτων.» [1]
Τρέχουσα κατάσταση του έργου[Επεξεργασία | επεξεργασία κώδικα]
Ο Hurd, μαζί με τον μικροπυρήνα GNU mach, τη βιβλιοθήκη GNU C και τα άλλα προγράμματα GNU και μη-GNU που ανήκουν στο σύστημα GNU, παρέχουν σήμερα ένα μάλλον πλήρες και χρησιμοποιήσιμο λειτουργικό σύστημα. Δεν είναι έτοιμο για παραγωγική χρήση, δεδομένου ότι υπάρχουν ακόμη πολλά σφάλματα και ελλείποντα χαρακτηριστικά. Εντούτοις, είναι μια καλή βάση για την περαιτέρω ανάπτυξη και τη χρήση μη-κρίσιμων εφαρμογών.
Το σύστημα GNU (αποκαλούμενο επίσης και GNU/Hurd) είναι ανεξάρτητο (μπορούν να μεταγλωττιστούν όλα τα μέρη του χρησιμοποιώντας το ίδιο το σύστημα GNU). Μπορούν να εκτελεστούν πολλαπλά στιγμιότυπα του Hurd παράλληλα, και να αποσφαλματωθούν ακόμη και οι κρίσιμοι διακομιστές ενός στιγμιοτύπου Hurd με τον gdb ενώ εκτελείται κάποιο άλλο στιγμιότυπο Hurd. Μπορεί να γίνει εκκίνηση του παραθυρικού συστήματος X, εφαρμογών που το χρησιμοποιούν, και προηγμένων εφαρμογών διακομιστών, όπως ο διακομιστής ιστού Apache.
Στην αρνητική πλευρά, η υποστήριξη για συσκευές χαρακτήρων (όπως οι κάρτες ήχου) και άλλο υλικό συνήθως λείπει. Αν και η διεπαφή POSIX παρέχεται, μερικές πρόσθετες διεπαφές όπως η διαμοιρασμένη μνήμη POSIX ή οι σημαφόροι είναι ακόμα υπό ανάπτυξη.
Τα παραπάνω ισχύουν για την τρέχουσα έκδοση υπό ανάπτυξη, και όχι για την τελευταία σταθερή έκδοση (0.2).