Προγραμματισμός

Είναι παλιό σχέδιο πυρήνα Linux;

Είναι παλιό σχέδιο πυρήνα Linux;

Το Linux έχει σημειώσει μεγάλη πρόοδο με την πάροδο των ετών, προχωρώντας πολύ πέρα ​​από το σημείο που ήταν όταν ξεκίνησε. Αλλά ένας redditor αναρωτήθηκε πρόσφατα αν το Linux πάσχει από ξεπερασμένο σχεδιασμό πυρήνα. Έθεσε την ερώτησή του στο Linux subreddit και έλαβε μερικές ενδιαφέρουσες απαντήσεις.

Ο Ronis_BR ξεκίνησε το νήμα με αυτά τα σχόλια:

Είμαι χρήστης Linux από το 2004. Γνωρίζω πολλά για το πώς να χρησιμοποιήσω το σύστημα, αλλά δεν καταλαβαίνω πάρα πολύ για το τι βρίσκεται κάτω από την κουκούλα του πυρήνα. Στην πραγματικότητα, οι γνώσεις μου σταματούν να συντάσσω τον δικό μου πυρήνα.

Ωστόσο, θα ήθελα να ρωτήσω εδώ τους επιστήμονες υπολογιστών πόσο ξεπερασμένο είναι ο πυρήνας Linux σε σχέση με το σχεδιασμό του; Θέλω να πω, ξεκίνησε το 1992 και ορισμένα χαρακτηριστικά δεν άλλαξαν. Από την άλλη πλευρά, υποθέτω ότι η κατάσταση του σχεδιασμού του πυρήνα του OS (εάν υπάρχει ...) θα έπρεπε να έχει προχωρήσει πολύ.

Είναι δυνατόν να δηλώσουμε σε ποια σημεία ο σχεδιασμός του πυρήνα Linux είναι πιο προηγμένος σε σύγκριση με το σχεδιασμό των πυρήνων των Windows, macOS, FreeBSD; (Σημειώστε ότι εννοώ το σχεδιασμό, όχι ποιο είναι καλύτερο. Για παράδειγμα, το HURD έχει ένα υπέροχο σχέδιο, αλλά είναι αρκετά απλό να πούμε ότι το Linux είναι πολύ πιο προηγμένο σήμερα).

Περισσότερα στο Reddit

Οι συνάδελφοί του redditors Linux απάντησαν με τις σκέψεις τους σχετικά με το σχεδιασμό του πυρήνα:

ExoticMandibles: "" Ξεπερασμένο "; Όχι. Ο σχεδιασμός του πυρήνα Linux είναι καλά ενημερωμένος σχετικά με τον σύγχρονο σχεδιασμό του πυρήνα. Είναι απλώς ότι πρέπει να γίνουν επιλογές και το Linux πήγε με το παραδοσιακό.

Η ένταση στο σχεδιασμό του πυρήνα είναι μεταξύ "ασφάλειας / σταθερότητας" και "απόδοσης". Τα μικροπυρήνες προάγουν την ασφάλεια στο κόστος της απόδοσης. Εάν έχετε ένα μικροσκοπικό ελάχιστο μικροπυρήνιο, όπου ο πυρήνας διευκολύνει την ομιλία σε υλικό, διαχείριση μνήμης, IPC και λίγα άλλα, θα έχει μια σχετικά μικρή επιφάνεια API καθιστώντας δύσκολη την επίθεση. Και εάν έχετε ένα πρόγραμμα οδήγησης συστήματος αρχείων με λάθη / πρόγραμμα οδήγησης γραφικών / κ.λπ., το πρόγραμμα οδήγησης μπορεί να συντριβεί χωρίς να κατεβάσει τον πυρήνα και πιθανότατα να γίνει επανεκκίνηση χωρίς κίνδυνο. Ανώτερη σταθερότητα! Ανώτερη ασφάλεια! Ολα τα καλά πράγματα.

Το μειονέκτημα αυτής της προσέγγισης είναι η αιώνια, αναπόφευκτη επιβάρυνση όλων αυτών των IPC. Εάν το πρόγραμμά σας θέλει να φορτώσει δεδομένα από ένα αρχείο, πρέπει να ρωτήσει το πρόγραμμα οδήγησης συστήματος αρχείων, το οποίο σημαίνει ότι το IPC θα επεξεργαστεί έναν διακόπτη περιβάλλοντος διαδικασίας και δύο μεταβάσεις κουδουνίσματος. Στη συνέχεια, το πρόγραμμα οδήγησης συστήματος αρχείων ζητά από τον πυρήνα να μιλήσει με το υλικό, που σημαίνει δύο μεταβάσεις κουδουνίσματος. Στη συνέχεια, το πρόγραμμα οδήγησης συστήματος αρχείων στέλνει την απάντησή του, που σημαίνει περισσότερες μεταβάσεις δύο δακτυλίων IPC και έναν άλλο διακόπτη περιβάλλοντος. Συνολική επιβάρυνση: δύο διακόπτες περιβάλλοντος, δύο κλήσεις IPC και έξι μεταβάσεις κουδουνίσματος. Πολύ ακριβό!

Ένας μονολιθικός πυρήνας διπλώνει όλα τα προγράμματα οδήγησης συσκευών στον πυρήνα. Έτσι, ένα πρόγραμμα οδήγησης γραφικών με λάθη μπορεί να κατεβάσει τον πυρήνα, ή εάν έχει μια τρύπα ασφαλείας, θα μπορούσε ενδεχομένως να αξιοποιηθεί για να θέσει σε κίνδυνο το σύστημα. Αλλά! Εάν το πρόγραμμά σας χρειάζεται να φορτώσει κάτι από το δίσκο, καλεί τον πυρήνα, ο οποίος πραγματοποιεί μετάβαση δακτυλίου, μιλάει στο υλικό, υπολογίζει το αποτέλεσμα και επιστρέφει το αποτέλεσμα, κάνοντας μια άλλη μετάβαση δακτυλίου. Συνολική επιβάρυνση: δύο μεταβάσεις δακτυλίου. Πολύ φτηνότερο! Πολύ πιο γρήγορα!

Με λίγα λόγια, η προσέγγιση του μικροπυρήνα λέει "Ας σταματήσουμε την απόδοση για ανώτερη ασφάλεια και σταθερότητα". η μονολιθική προσέγγιση του πυρήνα λέει "ας διατηρήσουμε την απόδοση και απλώς διορθώστε τα προβλήματα ασφάλειας και σταθερότητας καθώς μεγαλώνουν." Ο κόσμος φαίνεται να αποδέχεται αν δεν προτιμά αυτήν την προσέγγιση.

ΥΣΤΕΡΟΓΡΑΦΟ. Τα Windows NT δεν ήταν ποτέ καθαρά μικροπυρήνα, αλλά ήταν για μικροκλωνικό για μεγάλο χρονικό διάστημα. Το NT 3.x είχε προγράμματα οδήγησης γραφικών ως διαδικασία χρήστη και ειλικρινά το NT 3.x ήταν εξαιρετικά σταθερό. Το NT 4.0 μετακίνησε προγράμματα οδήγησης γραφικών στον πυρήνα. ήταν λιγότερο σταθερό αλλά πολύ πιο καλό. Αυτή ήταν μια γενικά δημοφιλής κίνηση. "

F22 Ανάληψη: «Ένα πρακτικό όφελος για τη μονολιθική προσέγγιση του πυρήνα όπως ισχύει για το Linux είναι ότι ωθεί τους προμηθευτές υλικού να εισάγουν τα προγράμματα οδήγησης τους στον πυρήνα, επειδή λίγοι προμηθευτές υλικού θέλουν να συμβαδίζουν με τις αλλαγές της διεπαφής του πυρήνα από μόνες τους. Δεδομένου ότι η πλειοψηφία των προγραμμάτων οδήγησης είναι in-tree, οι διεπαφές μπορούν να αναδιαμορφώνονται συνεχώς χωρίς την ανάγκη υποστήριξης παλαιών API. Ο πυρήνας εγγυάται μόνο ότι δεν θα σπάσει το userpace, όχι το kernelspace (προγράμματα οδήγησης), και υπάρχει μεγάλη ανατροπή όταν πρόκειται για αυτές τις διεπαφές προγραμμάτων οδήγησης που ωθούν τους προμηθευτές να ευθυγραμμίσουν τους οδηγούς τους. Η Nvidia είναι ένας από τους λίγους πωλητές που μπορώ να σκεφτώ ότι έχει τους πόρους για να διατηρήσει το δικό του πρόγραμμα οδήγησης εκτός δέντρου βασισμένο εξ ολοκλήρου σε ιδιόκτητα στοιχεία.

Υποψιάζομαι ότι αν οι οδηγοί ήταν τα δικά τους μικρά νησιά που χωρίζονταν από σταθερές διασυνδέσεις, ίσως να μην είχαμε τόσες εταιρείες πρόθυμες να ανοίξουν τον κωδικό τους. "

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

Αυτό είναι διαφορετικό από ένα "μικροπυρήνα" όπου τα διάφορα στοιχεία του πυρήνα και τα προγράμματα οδήγησης εκτελούνται ως ξεχωριστές εργασίες με ξεχωριστούς χώρους διευθύνσεων.

Όπως αναφέρθηκε, ο πυρήνας των Windows είναι βασικά μονολιθικός, αλλά τα προγράμματα οδήγησης εξακολουθούν να αναπτύσσονται ξεχωριστά. Το macOS χρησιμοποιεί ένα είδος υβριδικού πυρήνα που χρησιμοποιεί ένα μικροπυρήνα στον πυρήνα του, αλλά εξακολουθεί να έχει σχεδόν τα πάντα σε μία μόνο "εργασία", παρά το ότι σχεδόν όλα τα προγράμματα οδήγησης αναπτύχθηκαν / παρέχονται από την Apple. "

Πλάτος: «Οι άνθρωποι το υποστηρίζουν αυτό πριν από το 2004. Η συζήτηση Tanenbaum-Torvalds το 1999 1992 είναι ένα μεγάλο παράδειγμα των επιχειρημάτων μεταξύ των μικροπυρήνων και των μονολιθικών σχεδίων πυρήνα.

Είμαι προσωπικά μέρος του στρατοπέδου μικροπυρήνων. Είναι καθαρότερες, ασφαλέστερες και πιο φορητές. Από αυτή την άποψη, ο σχεδιασμός του πυρήνα ήταν ξεπερασμένος τη στιγμή που δημιουργήθηκε.

… Το Linux έχει ξεπεράσει πολλά από τα προβλήματα που έρχονται με μονολιθικά σχέδια πυρήνα. Έχει γίνει αρθρωτό, η αυστηρή πολιτική κώδικα του το έχει διατηρήσει σχετικά ασφαλές και δεν νομίζω ότι κάποιος θα αμφισβητούσε το πόσο φορητό είναι. "

Κάλτσες TEchnicolour: «Υπάρχει μόνο ένας σωστός τρόπος σχεδιασμού του πυρήνα και αυτός είναι ο τρόπος του TempleOS.

Γραμμένο σε HolyC, χωρίς δίκτυο, μόνο δακτύλιος-0. Όπως ήθελε ο Θεός. "

Σκανδάλουμπαμπο: «Η φύση της ανάπτυξης ενός συστήματος τόσο περίπλοκου όσο ο πυρήνας του Linux σημαίνει ότι θα είναι πάντα« ξεπερασμένο »σύμφωνα με άτομα που ήταν σε καρέκλες όταν σχεδιάστηκε για πρώτη φορά.

Αυτό το λειτουργικό σύστημα αντιπροσωπεύει πιθανώς δεκάδες εκατομμύρια ανθρώπινες ώρες εργασίας.

Μπορεί να αντικατασταθεί; Σίγουρος. Θα το κάνει; Οχι."

Γκράμπελ: «Σε καθαρούς πρακτικούς όρους, δεν κάνει πια μεγάλη διαφορά. Πίσω στην ημέρα, το HURD ήταν πολύ ωραίο με τα συστήματα αρχείων του χώρου χρήσης και άλλα. Αλλά το Linux από τότε απέκτησε το μεγαλύτερο μέρος αυτής της λειτουργικότητας. Εάν θέλετε να γράψετε ένα σύστημα αρχείων, ένα πρόγραμμα οδήγησης usb ή μια συσκευή εισόδου στο χώρο του χρήστη, μπορείτε, χωρίς να χρειάζεται να κάνετε hack τον πυρήνα. Μπορείτε τώρα να επιδιορθώσετε ακόμη και τον πυρήνα κατά το χρόνο εκτέλεσης, αν θέλετε πραγματικά.

Η φιλοσοφία του Linux απλώς να μην γράφει προγράμματα οδήγησης με λάθη που καταρρέουν τον πυρήνα, αντί να το καταστήσει εξαιρετικά ισχυρό ενάντια σε άσχημα προγράμματα οδήγησης φαίνεται επίσης να λειτουργεί αρκετά καλά στον πραγματικό κόσμο. Πιθανότατα πρέπει να ευχαριστήσουμε το USB για αυτό, δεδομένου ότι το υλικό που είναι αυτο-περιγραφικό αφαίρεσε την ανάγκη σύνταξης ενός νέου προγράμματος οδήγησης για κάθε νέο gadget που συνδέετε στον υπολογιστή.

Έτσι, ολόκληρη η συζήτηση για το σχεδιασμό είναι τώρα ακόμη πιο ακαδημαϊκή από ό, τι στο παρελθόν, καθώς δεν έχουν απομείνει πολλά χαρακτηριστικά που θα κερδίζατε μόνο με αλλαγές στο σχεδιασμό και που δεν θα μπορούσατε να εφαρμόσετε σε έναν μονολιθικό πυρήνα. "

KugelKurt: «Αν και μεγάλο μέρος της συζήτησης εδώ αφορά μικροπύρηνα έναντι μονολιθικού πυρήνα, η πιο πρόσφατη έρευνα πήγε σε γλώσσες προγραμματισμού.

Εάν ξεκινήσατε έναν εντελώς νέο πυρήνα σήμερα, οι πιθανότητες είναι ότι δεν θα γράφονταν στα C. Τα έργα Singularity και Midori της Microsoft διερεύνησαν τη σκοπιμότητα των C # / διαχειριζόμενων πυρήνων κώδικα.

Το πιο γνωστό μη ερευνητικό λειτουργικό σύστημα χωρίς πυρήνα C είναι πιθανώς το Haiku που είναι γραμμένο στο C ++. "

OmniaVincitVeritas: «Ήταν ξεπερασμένο όταν δημιουργήθηκε για πρώτη φορά και παραμένει έτσι. Όμως, όπως γνωρίζουμε, η τεχνική πρόοδος σχεδόν ποτέ δεν λειτουργεί, έτσι ώστε η τεχνικά / επιστημονικά ανώτερη λύση να φτάσει στην κορυφή βραχυπρόθεσμα. τόσα πολλά άλλα πράγματα επηρεάζουν και την επιτυχία.

Εάν συνέβαινε, θα χρησιμοποιούσαμε 100% ασφαλή μικροπυρήνα γραμμένα στο Haskell. Οι εταιρείες ασφαλείας δεν θα υπήρχαν. Θα είχα ένα υβρίδιο μονόκερου / πόνυ που τρέχει στο φως του ήλιου. "

Daemonpenguin: «Υπάρχουν μερικές έννοιες που μπορεί, θεωρητικά, να παρέχουν καλύτερα σχέδια πυρήνα. Υπάρχει ένας πυρήνας Rust, για παράδειγμα, ο οποίος μπορεί να παρακάμψει έναν αριθμό διανυσμάτων επίθεσης στη μνήμη. Οι μικροπυρήνες έχουν, θεωρητικά, μερικές πολύ καλές σχεδιαστικές επιλογές που τις καθιστούν φορητές, αξιόπιστες και ενδεχομένως αυτορυθμιζόμενες.

Ωστόσο, το θέμα είναι ότι είναι περισσότερο θεωρία παρά πρακτική. Ανεξάρτητα από το πόσο καλή είναι μια θεωρία, οι άνθρωποι θα παίρνουν σχεδόν πάντα αυτό που είναι πρακτικό (δηλ. Να εργάζεται τώρα) πάνω από έναν καλύτερο σχεδιασμό. Ο πυρήνας του Linux έχει τόσο μεγάλη υποστήριξη υλικού και τόσες πολλές εταιρείες χρηματοδοτούν την ανάπτυξη που είναι απίθανο άλλοι πυρήνες (ανεξάρτητα από τις εκπληκτικές σχεδιαστικές επιλογές τους) να καλύψουν τη διαφορά.

Το MINIX, για παράδειγμα, έχει συμπαγή σχεδίαση και μερικά εκπληκτικά χαρακτηριστικά, αλλά έχει πολύ λίγη υποστήριξη υλικού, ώστε σχεδόν κανείς να μην αναπτύσσει την πλατφόρμα. "

Περισσότερα στο Reddit

Οι κριτικές DistroWatch 4MLinux 21.0

Το Linux προσφέρει πολλά διαφορετικά είδη διανομών. Μερικά συνδυάζονται με περισσότερο λογισμικό και άλλα με λιγότερα. Το 4MLinux απευθύνεται σε όσους προτιμούν μια ελαφριά διανομή. Ένας συγγραφέας στο DistroWatch έχει μια πλήρη κριτική για το 4MLinux 21.0.

Οι εκθέσεις του Joshua Allen Holm για το DistroWatch:

Το 4MLinux είναι μια ελαφριά διανομή Linux σχεδιασμένη να παρέχει τέσσερις βασικούς τομείς λειτουργικότητας. Με μόνο το λογισμικό που είναι διαθέσιμο στο ISO, το 4MLinux παρέχει μια μεγάλη ποικιλία εφαρμογών για την εκτέλεση συντήρησης συστήματος. αναπαραγωγή πολλών τύπων αρχείων πολυμέσων. προσφέροντας ένα miniserver για την παροχή ενός βασικού διακομιστή ιστού. και έχει μια αξιοπρεπή επιλογή παιχνιδιών, τα οποία η διανομή τοποθετεί σε μια κατηγορία που αποκαλεί μυστήριο. Αυτές οι τέσσερις συναρτήσεις παρέχουν τη βάση του ονόματος της διανομής. Τέσσερα πράγματα που ξεκινούν με "M", έτσι 4MLinux.

Η εκκίνηση του 4MLinux από μια μονάδα flash είναι μια γρήγορη διαδικασία. Συνδέθηκα γρήγορα και αυτόματα ως root και θα μπορούσα να αρχίσω να δουλεύω στο περιβάλλον της επιφάνειας εργασίας. Για την επιφάνεια εργασίας, το 4MLinux χρησιμοποιεί JVM σε συνδυασμό με ένα πρόγραμμα εκκίνησης Wbar στο πάνω μέρος της οθόνης που παρέχει συντομεύσεις σε μεγάλα προγράμματα. Επιπλέον, υπάρχει το IDesk για τη διαχείριση της επιφάνειας εργασίας και το Conky για την παροχή βασικών πληροφοριών κατάστασης συστήματος. Τα Wbar, IDesk και Conky μπορούν όλα να απενεργοποιηθούν, αλλά το σύστημα είναι ήδη πολύ ελαφρύ όταν βρίσκονται στην προεπιλεγμένη, ενεργοποιημένη κατάσταση.

Εκτός αυτού, το 4MLinux διαθέτει μια αξιοπρεπή επιλογή λογισμικού. Στο μενού εφαρμογών JVM υπάρχουν συντομεύσεις για τερματικό, εφαρμογές Διαδικτύου, συντήρηση, πολυμέσα, miniserver και μυστήριο. Το υπομενού Διαδίκτυο περιέχει συνδέσμους για περιήγηση στο Web, HexChat για IRC, Sylpheed για e-mail, Μετάδοση για Bittorrent, uGet για λήψη, ένα βοηθητικό πρόγραμμα για κοινή χρήση αρχείων μέσω Bluetooth, το GNOME PPP για συνδέσεις στο Internet μέσω τηλεφώνου και μια επιλογή για ενεργοποιήστε και απενεργοποιήστε το Tor.

Το 4MLinux παρέχει μεγάλο λογισμικό σε ένα μικρό πακέτο. Για συντήρηση συστήματος είναι καλή επιλογή να έχετε στη διάθεσή σας. Για τα πολυμέσα, το miniserver και το μυστήριο παρέχει μια χρήσιμη επιλογή λογισμικού, αλλά υπάρχουν και άλλες διανομές που εστιάζουν σε μία μόνο από αυτές τις εργασίες και το κάνουν καλύτερα με την εστίαση. Αυτό δεν σημαίνει ότι το 4MLinux είναι κακό, αλλά προσπαθεί να κάνει πάρα πολλά διαφορετικά πράγματα ταυτόχρονα. Για να είμαι απόλυτα ειλικρινής, νομίζω ότι το 4MLinux θα ήταν μια ισχυρότερη προσφορά εάν ήταν 3MLinux και έριχνε εντελώς το μυστήριο. Ίσως να περιλαμβάνει μόνο πασιέντζα ή κάποιο άλλο ελαφρύ παιχνίδι που θα έχετε ως εκτροπή κατά την εκτέλεση εργασιών συντήρησης και να χρησιμοποιήσετε τον ελεύθερο χώρο αφαιρώντας τα παιχνίδια για να συμπεριλάβετε ορισμένες από τις προαιρετικές εφαρμογές επέκτασης από προεπιλογή.

Περισσότερα στο DistroWatch

Το LinuxInsider αξιολογεί την Ultimate Edition 5.4

Το Ultimate Edition, από την άλλη πλευρά, βρίσκεται στο αντίθετο άκρο του φάσματος από το 4MLinux. Το UE είναι σίγουρα μια απόλαυση του μινιμαλιστή, καθώς είναι γεμάτο με λογισμικό. Ένας συγγραφέας στο LinuxInsider έχει μια πλήρη κριτική του Ultimate Edition 5.4.

Ο Jack M. Germain αναφέρει για LinuxInsider:

Δεν ήμουν ενθουσιασμένος με τις αρχικές εμπειρίες μου στην εξοικείωση με την Ultimate Edition 5.4. Βρήκα μια ενοχλητική λίστα πραγμάτων με λάθος.

Με πολλά χρόνια επανεξέτασης των διανομών Linux κάτω από τη ζώνη μου, έχω παρατηρήσει μια σταθερή σύνδεση μεταξύ των πρώτων εντυπώσεων του ιστότοπου ενός διανομέα και των διαρκών εντυπώσεων της απόδοσης ενός διανομέα. Ας πούμε απλώς ότι η αποδιοργανωμένη κατάσταση του ιστότοπου, σε αυτήν την περίπτωση, ισχύει στην τελευταία κυκλοφορία αυτής της διανομής.

Ένα μικρό παράδειγμα: Δεν βρήκα καμία λίστα με τις ελάχιστες απαιτήσεις εγκατάστασης για υλικό. Αυτό αποδείχθηκε απογοητευτικό. Χάσαμε χρόνο προσπαθώντας να φορτώσω το Ultimate Linux σε πολλούς υπολογιστές που γερνούν. Μερικά από τα ζητήματα αφορούσαν μνήμη και χώρο αποθήκευσης. Άλλα ζητήματα αφορούσαν ανεπάρκειες στην κάρτα γραφικών.

Η Ultimate Edition στοχεύει τους νεοεισερχόμενους Linux, αλλά όσοι το δοκιμάζουν μπορεί να χρειαστούν λίγο περισσότερη εξοικείωση με το Linux για να ξεπεράσουν μερικά από τα προβλήματα κατά τη λειτουργία αυτού του όχι τόσο απόλυτου Linux OS.

Περισσότερα στο LinuxInsider

Χάσατε μια ενημέρωση; Ελέγξτε την αρχική σελίδα Eye On Open για να ενημερωθείτε για τις τελευταίες ειδήσεις σχετικά με το open source και το Linux.