Ο πυρήνας του Linux είναι σαν μια γέφυρα που επιτρέπει την υπολογιστική επικοινωνία μεταξύ εφαρμογών και υλικού και διαχειρίζεται τους πόρους του συστήματος. Ο Linus Torvalds ανέπτυξε τον πυρήνα Linux με C και Assembly και έτσι, πέτυχε να δημιουργήσει έναν ελαφρύ και φορητό πυρήνα που κυκλοφόρησε στο κοινό ως ανοιχτού κώδικα.
Μπορείτε να δείτε τον πυρήνα του Linux σε πολλούς διαφορετικούς τομείς όπως το διάστημα, οι υπολογιστές, τα έξυπνα ρολόγια, τα κινητά τηλέφωνα, η ρομποτική και η υγεία. Αλλά έχετε αναρωτηθεί ποτέ πώς λειτουργεί ο πυρήνας του Linux κάτω από την κουκούλα;
Χρήση υλικού σε Linux
Ο πυρήνας Linux, πρώτα απ 'όλα, ελέγχει ποιο υλικό θα τρέχει και με ποιον τρόπο όταν ανοίγετε τον υπολογιστή σας. Επιπλέον, ο έλεγχος λογισμικού προηγμένης τεχνολογίας είναι δυνατός χάρη στη διεπαφή προγραμματισμού. Για να δώσετε ένα παράδειγμα αυτών των στοιχείων ελέγχου, μπορείτε να δείτε πληροφορίες σχετικά με το υλικό που είναι εγκατεστημένο στις υποδοχές της μητρικής σας πλακέτας και να επωφεληθείτε από αυτές τις λεπτομερείς πληροφορίες.
Επίσης, αυτή η διεπαφή προγραμματισμού παρέχει ένα στρώμα αφαίρεσης. Για παράδειγμα, εάν θέλετε να έχετε μια συνομιλία μέσω βίντεο με τους φίλους σας, θα χρειαστείτε μια κάμερα web. Το επίπεδο αφαίρεσης δίνει τη δυνατότητα στο λογισμικό που χρησιμοποιείτε να χρησιμοποιεί αυτήν την κάμερα web ανεξάρτητα από τη μάρκα και το μοντέλο της. Το λογισμικό εδώ μπορεί να χρησιμοποιήσει μόνο τη διεπαφή που υπάρχει για το Linux. Ο πυρήνας Linux μεταφράζει τις κλήσεις λειτουργίας αυτής της διεπαφής σε πραγματικές εντολές υλικού που χρειάζεται η κάμερα web.
Χρησιμοποιώντας το /proc και /sys εικονικά συστήματα αρχείων, ο πυρήνας του Linux μπορεί εξαγωγή λεπτομερών πληροφοριών σχετικά με το υλικό ανιχνεύει. Παρακάτω μπορείτε να δείτε μερικά εργαλεία που χρησιμοποιούνται για αυτό και ποιες συσκευές και κάρτες εξάγουν:
- lspci: Για συσκευές PCI
- lsusb: Για συσκευές USB
- lspcmcia: Για κάρτες PCMCIA
Όπως μπορείτε να δείτε, η διανομή Linux στο παραπάνω στιγμιότυπο οθόνης εκτελείται στο VirtualBox. Ωστόσο, έχετε την ευκαιρία να δείτε πολλές πληροφορίες όπως VGA, ελεγκτής USB, γέφυρες και ελεγκτής SATA.
Μπορείτε επίσης να χρησιμοποιήσετε το -v παράμετρο για να λάβετε πολύ πιο λεπτομερείς πληροφορίες.
Στον πυρήνα του Linux, οι εφαρμογές συνήθως έχουν πρόσβαση σε συσκευές μέσω ειδικών αρχείων που υπάρχουν στο /dev Ευρετήριο. Αυτά τα ειδικά αρχεία αντιπροσωπεύουν μονάδες δίσκου και άλλες φυσικές συσκευές. Αρχεία όπως /dev/hda, /dev/sdc, /dev/sdc3, /dev/input/mouse0 και dev/snd/* είναι παραδείγματα αυτών των ειδικών αρχείων.
Διαχείριση συστήματος αρχείων Linux
Τα συστήματα αρχείων είναι ένα από τα πιο αξιοσημείωτα στοιχεία του πυρήνα του Linux. Το σύστημα αρχείων του Linux είναι ένα από τα μεγαλύτερα πλεονεκτήματά του. Όλα τα αρχεία σε ένα σύστημα Linux συγκεντρώνονται σε έναν κλάδο. Οι χρήστες μπορούν έτσι να χρησιμοποιήσουν αυτήν την ιεραρχία για να φτάσουν στις επιθυμητές θέσεις τους.
Το σημείο εκκίνησης αυτής της ιεραρχίας είναι ο ριζικός κατάλογος (/). Άλλοι υποκατάλογοι βρίσκονται κάτω από τον ριζικό κατάλογο. Ο πιο χρησιμοποιούμενος υποκατάλογος κάτω από / είναι το /home Ευρετήριο. Αυτός ο υποκατάλογος περιέχει άλλους υποκαταλόγους και κάθε κατάλογος έχει αρχεία που αποθηκεύουν τα πραγματικά δεδομένα.
Για παράδειγμα, μπορείτε να σκεφτείτε ένα αρχείο κειμένου στην επιφάνεια εργασίας σας. Εάν δημιουργήσετε ένα αρχείο κειμένου που ονομάζεται helloworld.txt στην επιφάνεια εργασίας σας, μπορείτε να το αναφέρετε ως /home/muo/Desktop/helloworld.txt. Το παράδειγμα του /muo εδώ φυσικά θα διαφέρει. Επειδή αυτό το όνομα υποκαταλόγου εξαρτάται από το όνομα του τρέχοντος χρήστη σας. Με αυτό το σύστημα ονομασίας, ο πυρήνας Linux μεταφράζεται μεταξύ πραγματικής και φυσικής αποθήκευσης που υπάρχει σε έναν δίσκο.
Επίσης, ο πυρήνας του Linux μπορεί να ενσωματώσει δεδομένα από πολλούς δίσκους. Εδώ μπαίνει στο παιχνίδι το σύστημα τοποθέτησης. Χρησιμοποιεί έναν από τους δίσκους στο ριζικό σύστημα και προσαρτά τους άλλους σε υπάρχοντες καταλόγους στην ιεραρχία. Στη συνέχεια, άλλοι δίσκοι τοποθετούνται κάτω από τα σημεία τοποθέτησης. Αυτό επιτρέπει στους χρήστες να αποθηκεύουν το /home κατάλογο σε έναν δεύτερο σκληρό δίσκο που περιέχει επίσης άλλους υποκαταλόγους.
Όταν τοποθετείτε έναν δίσκο στο /home κατάλογο, μπορείτε να έχετε πρόσβαση σε αυτούς τους καταλόγους από κανονικές τοποθεσίες. Έτσι, μονοπάτια όπως /home/muo/Desktop/helloworld.txt συνεχίσει να εργάζεται.
Μπορείτε να δείτε τα σημεία προσάρτησης μεταξύ των αρχείων στο σύστημά σας με το εύρημα -Α εντολή.
Με πολλές μορφές συστημάτων αρχείων, μπορείτε να αποθηκεύσετε φυσικά δεδομένα σε δίσκους. Τα πιο ευρέως γνωστά στο Linux είναι τα ext2, ext3, και ext4 μορφές συστήματος αρχείων. Ωστόσο, υπάρχουν πολλές άλλες μορφές συστήματος αρχείων. Σε κάθε περίπτωση, πρέπει να μορφοποιήσετε το σύστημα αρχείων πριν το προσαρτήσετε. Μπορείτε να χρησιμοποιήσετε εντολές όπως mkfs.ext3 (Το mkfs σημαίνει make file system και το ext3 είναι το σύστημα αρχείων) για αυτό.
Αυτές οι εντολές δέχονται τη διαδρομή αρχείου της συσκευής που θέλετε να μορφοποιήσετε ως παράμετρο. Είναι μια καταστροφική λειτουργία και θα πρέπει να τη χρησιμοποιείτε με προσοχή εάν δεν θέλετε να σκουπίσετε ή να επαναφέρετε ένα σύστημα αρχείων.
Εκτός από αυτά, υπάρχουν και συστήματα αρχείων δικτύου όπως το NFS που χρησιμοποιεί ο πυρήνας του Linux. Το NFS είναι ένα σύστημα αρχείων δικτύου όπου τα δεδομένα δεν αποθηκεύονται σε τοπικό δίσκο. Με το NFS, τα δεδομένα πηγαίνουν μέσω του δικτύου σε έναν διακομιστή που αποθηκεύει τα δεδομένα. Δεδομένου ότι τα δεδομένα θα βρίσκονται σε έναν διακομιστή, οι χρήστες δεν χρειάζεται να ασχολούνται συνεχώς με αυτά. Μπορούν επίσης να χρησιμοποιήσουν το παραδοσιακό ιεραρχικό σύστημα αρχείων του Linux ως συνήθως.
Λειτουργίες κοινής λειτουργίας
Όλο το λογισμικό στο σύστημα Linux έχει κοινές λειτουργίες. Αυτός είναι ο λόγος για τον οποίο αυτές οι λειτουργίες είναι κεντρικές στον πυρήνα του Linux. Για παράδειγμα, όταν ανοίγετε ένα αρχείο, μπορείτε να το ανοίξετε μόνο με το όνομα του αρχείου, χωρίς να γνωρίζετε πού είναι αποθηκευμένο το αρχείο και ποιες λειτουργίες και λειτουργίες θα χρησιμοποιήσει. Όλες αυτές οι λειτουργίες είναι ήδη παρούσες στον πυρήνα.
Μπορείτε να αποθηκεύσετε το αρχείο σας στον σκληρό δίσκο, να το χωρίσετε μεταξύ πολλών σκληρών δίσκων ή ακόμα και να το διατηρήσετε σε έναν απομακρυσμένο διακομιστή. Οι λειτουργίες επικοινωνίας κοινόχρηστων αρχείων είναι σημαντικές σε τέτοιες περιπτώσεις. Οι εφαρμογές ανταλλάσσουν δεδομένα ανεξάρτητα από τον τρόπο με τον οποίο μετακινούνται τα δεδομένα. Υπάρχουν κοινές λειτουργίες επικοινωνίας για να πραγματοποιήσουν αυτές τις ανταλλαγές δεδομένων. Αυτή η κίνηση μπορεί να γίνει μέσω ασύρματων δικτύων ή ακόμα και μέσω σταθερής τηλεφωνικής γραμμής.
Διαχείριση διαδικασιών στο Linux
Μια ενεργή παρουσία ενός προγράμματος που λειτουργεί με δεδομένα ή πληροφορίες στη μνήμη είναι γνωστή ως διεργασία. Η αποστολή του πυρήνα Linux είναι να δημιουργεί και να παρακολουθεί αυτές τις περιοχές μνήμης. Ο πυρήνας εκχωρεί μνήμη για ένα πρόγραμμα που εκτελείται και φορτώνει τον εκτελέσιμο κώδικα στη μνήμη από το σύστημα αρχείων. Αμέσως μετά, ο πυρήνας εκτελεί τον κώδικα.
Ο πυρήνας του Linux υποστηρίζει πολλαπλές εργασίες. Είναι σε θέση να εκτελεί πολλές διεργασίες ταυτόχρονα. Ωστόσο, υπάρχει μόνο μία συναλλαγή σε κάθε δεδομένο χρονικό πλαίσιο. Ωστόσο, ο πυρήνας του Linux χωρίζει το χρόνο σε μικρά κομμάτια και ως αποτέλεσμα, κάθε διαδικασία λαμβάνει χώρα διαδοχικά.
Επειδή αυτά τα μικρά χρονικά τμήματα είναι σε βήματα του χιλιοστού του δευτερολέπτου, είναι ενεργά μόνο σε συγκεκριμένες ώρες και παραμένουν αδρανή τον υπόλοιπο χρόνο. Η δουλειά του πυρήνα Linux εδώ είναι να μεγιστοποιεί την απόδοση εκτελώντας πολλές διεργασίες ταυτόχρονα.
Εάν τα χρονικά διαστήματα είναι πολύ μεγάλα, η εφαρμογή που εκτελείται ενδέχεται να μην αποκρίνεται όσο θα θέλατε. Εάν τα χρονικά πλαίσια είναι πολύ μικρά, ενδέχεται να υπάρχουν προβλήματα με τις αλλαγές εργασιών. Ανάλογα με την προτεραιότητα της διαδικασίας, το χρονικό διάστημα που απαιτείται εδώ θα ποικίλλει. Μπορεί να έχετε ακούσει για διαδικασίες υψηλής προτεραιότητας και διαδικασίες χαμηλής προτεραιότητας στο παρελθόν. Αυτή είναι μια από τις λειτουργίες που ελέγχει ο πυρήνας του Linux.
Αυτή η εξήγηση δεν είναι πάντα σωστή. Ο πραγματικός περιορισμός είναι ότι μπορεί να υπάρχει μόνο μία διεργασία εργασίας ανά πυρήνα επεξεργαστή τη φορά. Τα συστήματα πολλαπλών επεξεργαστών επιτρέπουν σε πολλές διεργασίες να εκτελούνται παράλληλα. Ένα βασικό σύστημα έχει σχεδόν πάντα δεκάδες διεργασίες που εκτελούνται.
Δικαιώματα πρόσβασης στο Linux
Όπως και με άλλα λειτουργικά συστήματα, μπορείτε να δημιουργήσετε πολλούς χρήστες σε ένα σύστημα Linux. Σε τέτοιες περιπτώσεις, υπάρχει ένα σύστημα διαχείρισης δικαιωμάτων που υποστηρίζει μεμονωμένους χρήστες και ομάδες. Εδώ είναι που δικαιώματα αρχείου και χρήστη Μπες στο παιχνίδι.
Ο πυρήνας Linux διαχειρίζεται τα δεδομένα και ελέγχει τα απαραίτητα δικαιώματα για κάθε διεργασία. Για παράδειγμα, εάν προσπαθήσετε να ανοίξετε ένα αρχείο, ο πυρήνας πρέπει να ελέγξει το αναγνωριστικό διεργασίας έναντι των δικαιωμάτων πρόσβασης. Εάν ο πυρήνας ελέγξει και δει ότι έχετε δικαιώματα, θα ανοίξει το αρχείο.
Ο πυρήνας του Linux ελέγχει τα πάντα
Όπως μπορείτε να δείτε, ο πυρήνας Linux εποπτεύει τα πάντα, από την ασφάλεια των αρχείων σας έως τη δημιουργία χρηστών και τη λήψη αρχείων από το Διαδίκτυο. Όλα είναι σε μια συγκεκριμένη σειρά. Κάθε χρήστης έχει δικαιώματα. Ο πυρήνας Linux διαχειρίζεται διεργασίες και χρονοθυρίδες για μέγιστη απόδοση.
Επιπλέον, το σύστημα αρχείων, το οποίο είναι ένα από τα μεγαλύτερα χαρακτηριστικά που διακρίνουν τον πυρήνα του Linux από άλλα λειτουργικά συστήματα, είναι πολύ σημαντικό. Το Linux δεν είναι ένα κρυφό κουτί. Αντίθετα, όλα τα αρχεία και οι πηγαίοι κώδικες είναι προσβάσιμα. Για να κατανοήσετε καλύτερα την πρακτική και ισχυρή φύση του πυρήνα Linux, μπορείτε να εξετάσετε την ιεραρχία του συστήματος καταλόγου Linux.