Το Linux δεν είναι μόνο το Linux 8 κομμάτια του λογισμικού που συνθέτουν τα συστήματα Linux
Οι διανομές Linux δεν είναι μόνο ο πυρήνας του Linux. Όλα περιέχουν άλλο κρίσιμο λογισμικό, όπως το bootloader Grub, το κέλυφος Bash, τα βοηθήματα του κελύφους GNU, οι δαίμονες, ο γραφικός διακομιστής X.org, το περιβάλλον επιφάνειας εργασίας και πολλά άλλα.
Όλα αυτά τα διαφορετικά προγράμματα αναπτύσσονται από διαφορετικές, ανεξάρτητες αναπτυξιακές ομάδες. Συνδυάζονται με διανομές Linux, όπου χτίζουν το ένα πάνω στο άλλο για να δημιουργήσουν ένα ολοκληρωμένο λειτουργικό σύστημα "Linux". Αυτό δεν συμβαίνει με τα Windows, το οποίο αναπτύσσεται εξ ολοκλήρου από τη Microsoft.
Bootloader
Όταν ενεργοποιείτε τον υπολογιστή σας, το BIOS του υπολογιστή σας ή το firmware του UEFI φορτώνει το λογισμικό από τη συσκευή εκκίνησης. Το πρώτο πρόγραμμα που φορτώνει με οποιοδήποτε λειτουργικό σύστημα είναι ο φορτωτής εκκίνησης. Με το Linux, αυτό είναι γενικά ο εκκινητής εκκίνησης Grub.
Αν έχετε εγκαταστήσει πολλά λειτουργικά συστήματα, το Grub παρέχει ένα μενού που σας επιτρέπει να επιλέξετε μεταξύ τους - για παράδειγμα, εάν έχετε εγκατεστημένο το Linux σε διαμόρφωση διπλής εκκίνησης, μπορείτε να επιλέξετε είτε το Linux είτε τα Windows κατά την εκκίνηση.
Το Grub ενδέχεται να εκκινήσει το σύστημα του Linux σχεδόν αμέσως αν έχετε εγκαταστήσει μόνο ένα λειτουργικό σύστημα, αλλά είναι ακόμα εκεί. Το Grub χειρίζεται τη διαδικασία εκκίνησης του Linux, εκδίδοντας επιλογές γραμμής εντολών και επιτρέποντάς σας να εκκινήσετε το Linux με άλλους τρόπους για σκοπούς αντιμετώπισης προβλημάτων. Χωρίς φορτωτή εκκίνησης, μια διανομή Linux απλά δεν θα εκκινήσει.
Ο πυρήνας του Linux
Το ακριβές κομμάτι των μπότες Grub του λογισμικού είναι ο πυρήνας του Linux. Αυτό είναι το μέρος του συστήματος που ονομάζεται πραγματικά "Linux". Ο πυρήνας είναι ο πυρήνας του συστήματος. Διαχειρίζεται τη CPU, τη μνήμη και τις συσκευές εισόδου / εξόδου, όπως το πληκτρολόγιο, τα ποντίκια και τις οθόνες. Καθώς ο πυρήνας μιλάει απευθείας στο υλικό, πολλά προγράμματα οδήγησης υλικού είναι μέρος του πυρήνα του Linux και τρέχουν μέσα σε αυτόν.
Το υπόλοιπο λογισμικό τρέχει πάνω από τον πυρήνα. Ο πυρήνας είναι το λογισμικό του χαμηλότερου επιπέδου, το οποίο διασυνδέεται με το υλικό. Παρέχει ένα στρώμα αφαίρεσης πάνω από το υλικό, το οποίο ασχολείται με όλα τα διαφορετικά quirks υλικού, έτσι ώστε το υπόλοιπο σύστημα να μπορεί να τους φροντίζει όσο το δυνατόν λιγότερο. Τα Windows χρησιμοποιούν τον πυρήνα των Windows NT και το Linux χρησιμοποιεί τον πυρήνα του Linux.
Δαίμονες
Οι δαίμονες είναι ουσιαστικά βασικές διαδικασίες. Ξεκινούν συχνά ως μέρος της διαδικασίας εκκίνησης, επομένως είναι ένα από τα επόμενα πράγματα που φορτώνουν μετά τον πυρήνα και προτού να δείτε την οθόνη γραφικής σύνδεσης. Τα Windows αναφέρονται σε διαδικασίες όπως "υπηρεσίες", ενώ τα συστήματα που μοιάζουν με UNIX αναφέρονται ως "δαίμονες".
Για παράδειγμα, το crond, το οποίο διαχειρίζεται προγραμματισμένες εργασίες, είναι ένας δαίμονας - το d στο τέλος σημαίνει "δαίμονας". Το syslogd είναι ένας άλλος δαίμονας που παραδοσιακά διαχειρίζεται το αρχείο καταγραφής του συστήματος σας. Οι διακομιστές, όπως ο διακομιστής sshd, λειτουργούν ως δαίμονες στο παρασκήνιο. Αυτό εξασφαλίζει ότι εκτελούνται πάντα και ακούνε για απομακρυσμένες συνδέσεις.
Οι δαίμονες είναι ουσιαστικά μόνο διεργασίες υποβάθρου, αλλά είναι διαδικασίες σε επίπεδο συστήματος που γενικά δεν παρατηρείτε.
Η Shell
Τα περισσότερα συστήματα Linux χρησιμοποιούν το κέλυφος Bash από προεπιλογή. Ένα κέλυφος παρέχει διεπαφή επεξεργαστή εντολών, επιτρέποντάς σας να ελέγχετε τον υπολογιστή σας πληκτρολογώντας εντολές σε μια διεπαφή κειμένου. Τα κελύφη μπορούν επίσης να εκτελούν δέσμες ενεργειών κελύφους, τα οποία είναι μια συλλογή εντολών και λειτουργιών που εκτελούνται με τη σειρά που καθορίζεται στη δέσμη ενεργειών.
Ακόμη και αν χρησιμοποιείτε απλά μια γραφική επιφάνεια εργασίας, εκτελούνται κελύφη και χρησιμοποιούνται στο παρασκήνιο. Όταν ανοίγετε ένα παράθυρο τερματικού, θα δείτε μια προτροπή κελύφους.
Shell Utilities
Το κέλυφος παρέχει κάποιες βασικές ενσωματωμένες εντολές, αλλά οι περισσότερες εντολές του κελύφους που χρησιμοποιούν οι χρήστες Linux δεν είναι ενσωματωμένες στο κέλυφος. Για παράδειγμα, εντολές τόσο κρίσιμες όσο η εντολή cp για την αντιγραφή ενός αρχείου, η εντολή ls για την καταχώρηση αρχείων σε έναν κατάλογο και η εντολή rm για τη διαγραφή αρχείων αποτελούν μέρος του πακέτου GNU Core Utilities.
Τα συστήματα Linux δεν λειτουργούν χωρίς αυτά τα κρίσιμα βοηθητικά προγράμματα. Στην πραγματικότητα, το ίδιο το κέλυφος Bash αποτελεί μέρος του έργου GNU. Αυτός είναι ο λόγος για τον οποίο υπάρχει διαφωνία σχετικά με το αν το Linux πρέπει πραγματικά να ονομάζεται "Linux" ή "GNU / Linux". Οι επικριτές του ονόματος "Linux" ορθώς επισημαίνουν ότι πολύ περισσότερα λογισμικά πηγαίνουν σε τυπικά συστήματα Linux, τα οποία συχνά δεν αναγνωρίζονται. Οι επικριτές του ονόματος "GNU / Linux" επισημαίνουν σωστά ότι ένα τυπικό σύστημα Linux περιλαμβάνει επίσης άλλο κρίσιμο λογισμικό που το όνομα "GNU / Linux" δεν περιλαμβάνει.
Δεν αναπτύσσονται όλα τα βοηθητικά εργαλεία κελύφους και τα προγράμματα γραμμής εντολών από το έργο GNU. Ορισμένες εντολές και προγράμματα τερματικών έχουν το δικό τους έργο αφιερωμένο σε αυτά.
X.org Graphical Server
Το γραφικό τμήμα του Linux δεν είναι μέρος του πυρήνα του Linux. Παρέχεται από έναν τύπο πακέτου γνωστού ως "εξυπηρετητή Χ", καθώς υλοποιεί το "σύστημα παραθύρων X" που δημιουργήθηκε πριν από πολλά χρόνια.
Επί του παρόντος, ο πιο δημοφιλής διακομιστής X - ή γραφικός διακομιστής - είναι το X.org. Όταν δείτε ένα γραφικό παράθυρο σύνδεσης ή μια επιφάνεια εργασίας εμφανίζονται, αυτό είναι το X.org που επεξεργάζεται τη μαγεία του. Το σύνολο του γραφικού συστήματος εκτελείται από το X.org, το οποίο διασυνδέεται με την κάρτα γραφικών, την οθόνη, το ποντίκι και άλλες συσκευές.
Το X.org δεν παρέχει το πλήρες περιβάλλον γραφείου, απλά ένα γραφικό σύστημα το οποίο μπορούν να χτίσουν πάνω από τα περιβάλλοντα επιφάνειας εργασίας και τα εργαλεία.
Περιβάλλον επιφάνειας εργασίας
Αυτό που χρησιμοποιείτε πραγματικά σε μια επιφάνεια εργασίας Linux είναι ένα περιβάλλον επιφάνειας εργασίας. Για παράδειγμα, το Ubuntu περιλαμβάνει το περιβάλλον επιφάνειας εργασίας της Unity, το Fedora περιλαμβάνει το GNOME, το Kubuntu περιλαμβάνει το KDE και το Mint γενικά το Cinnamon ή το MATE. Αυτά τα περιβάλλοντα επιφάνειας εργασίας παρέχουν όλα όσα βλέπετε - το φόντο της επιφάνειας εργασίας, τους πίνακες, τις γραμμές τίτλου παραθύρων και τα σύνορα.
Επίσης, περιλαμβάνουν γενικά τις δικές τους βοηθητικές εφαρμογές που έχουν σχεδιαστεί για να ταιριάζουν με το περιβάλλον επιφάνειας εργασίας στο σύνολό του. Για παράδειγμα, το GNOME και η Unity περιλαμβάνουν τον διαχειριστή αρχείων Nautilus που αναπτύχθηκε ως μέρος του GNOME, ενώ το KDE περιλαμβάνει τον διαχειριστή αρχείων Dolphin που αναπτύχθηκε ως μέρος του έργου KDE.
Επιτραπέζια προγράμματα
Δεν είναι όλα τα προγράμματα για επιτραπέζιους υπολογιστές μέρος του περιβάλλοντος εργασίας. Για παράδειγμα, το Firefox και το Chrome είναι desktop-agnostic περιβάλλον. Πρόκειται απλώς για προγράμματα που μπορούν να τρέξουν κανονικά πάνω από οποιοδήποτε περιβάλλον επιφάνειας εργασίας. Το OpenOffice.org είναι μια άλλη σουίτα προγραμμάτων που δεν συνδέεται με ένα συγκεκριμένο περιβάλλον επιφάνειας εργασίας.
Μπορείτε να εκτελέσετε οποιοδήποτε πρόγραμμα επιφάνειας εργασίας Linux σε οποιοδήποτε περιβάλλον επιφάνειας εργασίας, αλλά αυτά που έχουν σχεδιαστεί για συγκεκριμένα περιβάλλοντα επιφάνειας εργασίας μπορεί να φαίνονται εκτός χώρου ή να μετακινούνται σε άλλες διαδικασίες. Για παράδειγμα, εάν προσπαθήσατε να εκτελέσετε τον διαχειριστή αρχείων Nautilus του GNOME στο KDE, θα φαινόταν εκτός τόπου, θα απαιτούσε να εγκαταστήσετε μια ποικιλία βιβλιοθηκών GNOME και πιθανώς να ξεκινήσετε τις διεργασίες γραφικών GNOME στο παρασκήνιο όταν το άνοιξατε. Αλλά θα τρέξει και θα είναι χρησιμοποιήσιμο.
Οι διανομές Linux εκτελούν τα βήματα του τελευταίου βήματος. Παίρνουν όλο αυτό το λογισμικό, το συνδυάζουν έτσι ώστε να λειτουργεί καλά μαζί και να προσθέσει τις δικές του απαραίτητες βοηθητικές εφαρμογές. Για παράδειγμα, οι διανομές δημιουργούν τους δικούς τους εγκαταστάτες του λειτουργικού συστήματος ώστε να μπορείτε να εγκαταστήσετε το Linux, καθώς και τους διαχειριστές πακέτων για την εγκατάσταση πρόσθετου λογισμικού και την ενημέρωση του εγκατεστημένου λογισμικού σας.
Image Credit: tao mai στο Flickr