1. πυρήνας: Ο πυρήνας είναι η καρδιά του λειτουργικού συστήματος Linux. Είναι το βασικό λογισμικό που διαχειρίζεται τους πόρους υλικού και λογισμικού του συστήματος. Οι λειτουργίες του περιλαμβάνουν:
* αφαίρεση υλικού: Ο πυρήνας παρέχει ένα στρώμα αφαίρεσης, κρύβοντας τις πολυπλοκότητες διαφορετικών συσκευών υλικού από εφαρμογές χώρου χρήστη. Αυτό επιτρέπει στις εφαρμογές να εκτελούν ανεξάρτητα από το συγκεκριμένο υλικό που βρίσκονται. Οι οδηγοί, οι οποίοι είναι μονάδες πυρήνα, διασυνδέονται απευθείας με συγκεκριμένα εξαρτήματα υλικού.
* Διαχείριση διαδικασιών: Ο πυρήνας δημιουργεί, προγραμματίζει και διαχειρίζεται τις διαδικασίες (τρέχοντα προγράμματα). Καταβάλλει χρόνο CPU, μνήμη και άλλους πόρους σε διαδικασίες, εξασφαλίζοντας δίκαιη και αποτελεσματική χρήση των πόρων. Αυτό περιλαμβάνει την εναλλαγή περιβάλλοντος (γρήγορα εναλλαγή μεταξύ των διαδικασιών).
* Διαχείριση μνήμης: Ο πυρήνας χειρίζεται την κατανομή και την κατανομή της μνήμης, εμποδίζοντας τις διαδικασίες να παρεμβαίνουν στον χώρο μνήμης του άλλου. Χρησιμοποιεί τεχνικές όπως η εικονική μνήμη για να παρέχει σε κάθε διαδικασία τη δική της φαινομενικά αφοσιωμένη μνήμη, ακόμη και αν η φυσική μνήμη RAM είναι περιορισμένη. Καταφέρνει επίσης την ανταλλαγή στο δίσκο.
* Διαχείριση συστήματος αρχείων: Ο πυρήνας αλληλεπιδρά με συσκευές αποθήκευσης (σκληρούς δίσκους, SSD κ.λπ.) και διαχειρίζεται το σύστημα αρχείων. Αυτό περιλαμβάνει τη δημιουργία, την ανάγνωση, τη γραφή και τη διαγραφή αρχείων, καθώς και τη διαχείριση των καταλόγων και των δικαιωμάτων αρχείων.
* Διαχείριση συσκευών: Όπως αναφέρθηκε προηγουμένως, ο πυρήνας διαχειρίζεται όλες τις συσκευές υλικού που συνδέονται με το σύστημα, παρέχοντας μια συνεπή διεπαφή για τις εφαρμογές να αλληλεπιδρούν μαζί τους.
* Διαχείριση δικτύου: Ο πυρήνας χειρίζεται την επικοινωνία δικτύου, τη διαχείριση διεπαφών δικτύου, τα πακέτα δρομολόγησης και την εφαρμογή πρωτοκόλλων δικτύου.
2. Shell: Το κέλυφος είναι διερμηνέας γραμμής εντολών. Είναι ένα πρόγραμμα που επιτρέπει στους χρήστες να αλληλεπιδρούν με τον πυρήνα έμμεσα με την πληκτρολόγηση εντολών. Οι βασικές λειτουργίες του περιλαμβάνουν:
* Ερμηνεία εντολών: Το κέλυφος λαμβάνει εντολές που πληκτρολογούνται από τον χρήστη (ή διαβάζουν από ένα σενάριο) και τις ερμηνεύει. Στη συνέχεια μεταφράζει αυτές τις εντολές σε κλήσεις συστήματος, οι οποίες αποτελούν αιτήματα στον πυρήνα για την εκτέλεση συγκεκριμένων εργασιών.
* Εκτέλεση εντολών: Μετά την ερμηνεία μιας εντολής, το κέλυφος το εκτελεί, είτε απευθείας (για ενσωματωμένες εντολές) είτε με την επίκληση άλλων προγραμμάτων.
* χειραγώγηση αρχείων: Τα κοχύλια παρέχουν εντολές για τη διαχείριση αρχείων και καταλόγων (δημιουργία, διαγραφή, αντιγραφή, μετακίνηση κ.λπ.).
* Έλεγχος διαδικασίας: Τα κελύφη επιτρέπουν στους χρήστες να διαχειρίζονται διαδικασίες, να ξεκινούν, να σταματούν και να παρακολουθούν την εκτέλεση τους. Αυτό περιλαμβάνει διαδικασίες υποβάθρου και έλεγχο εργασίας.
* αγωγός και ανακατεύθυνση: Τα κελύφη επιτρέπουν στους χρήστες να αλυσοδάνονται εντολές μαζί (αγωγοί) και να ανακατευθύνουν την είσοδο και την έξοδο των εντολών σε αρχεία ή άλλες εντολές. Αυτό επιτρέπει την αποτελεσματική εκτέλεση σύνθετων λειτουργιών.
* Scripting: Τα κελύφη υποστηρίζουν τη δέσμη ενεργειών, επιτρέποντας στους χρήστες να αυτοματοποιούν σύνθετες εργασίες γράφοντας ακολουθίες εντολών σε ένα σενάριο κελύφους.
3. Βιβλιοθήκες συστήματος (π.χ., glibc): Οι βιβλιοθήκες του συστήματος είναι συλλογές προ-συμπαγείς λειτουργίες και ρουτίνες που παρέχουν κοινές υπηρεσίες στις εφαρμογές. Λειτουργούν ως ενδιάμεσο στρώμα μεταξύ των εφαρμογών και του πυρήνα. Οι βασικές λειτουργίες περιλαμβάνουν:
* Τυπική είσοδος/έξοδος: Παρέχοντας λειτουργίες για ανάγνωση και γραφή στην κονσόλα, τα αρχεία και τις συνδέσεις δικτύου (π.χ. `printf`,` scanf`, `fopen`,` fread ').
* Χειρισμός συμβολοσειράς: Προσφέροντας λειτουργίες για εργασία με χορδές (π.χ., `strcpy`,` strlen`, `strcat ').
* Μαθηματικές λειτουργίες: Παρέχοντας πρόσβαση σε μαθηματικές επιχειρήσεις (π.χ., «sin», `cos», `sqrt`).
* Διαχείριση μνήμης: Παρέχοντας λειτουργίες για την κατανομή και τη διαμόρφωση της μνήμης (π.χ. `malloc`, 'free').
* Προγραμματισμός δικτύου: Προσφορά λειτουργιών για επικοινωνία δικτύου (π.χ. υποδοχές).
* Πρόσβαση συστήματος αρχείων: Παρέχοντας μια διεπαφή υψηλότερου επιπέδου στις λειτουργίες του συστήματος αρχείων του πυρήνα.
* Επικοινωνία μεταξύ επεξεργασίας (IPC): Διευκόλυνση της επικοινωνίας μεταξύ διαφορετικών διαδικασιών (π.χ., χρησιμοποιώντας κοινόχρηστες ουρές μνήμης ή μηνυμάτων).
Αυτά τα τρία εξαρτήματα - οι βιβλιοθήκες πυρήνα, κέλυφος και σύστημα - συνεργάζονται απρόσκοπτα για να παρέχουν τη λειτουργικότητα ενός λειτουργικού συστήματος Linux. Πολλά άλλα εξαρτήματα είναι επίσης κρίσιμα, αλλά αυτά τα τρία αντιπροσωπεύουν ένα βασικό σύνολο βασικών δομικών στοιχείων.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα