KERNEL COMPILE: Τι είναι ο πυρήνας;
Description: This is issue 12 of Magaz, the Hellenic LinuxMagazine
Keywords: magaz hellenic greek hellas greece hellug linux magazine

Magaz, The Greek Linux Magazine
Τεύχος #12
Περιληπτικά Περιεχόμενα Αναλυτικά Περιεχόμενα Mirrors Links Πληροφορίες Συντάκτες Αναζήτηση Επικοινωνία
Επόμενο Περιεχόμενα ### 1. Τι είναι ο πυρήνας; Σε ένα πολυεπεξεργαστικό (multitasking) λειτουργικό σύστημα, υπάρχει ένα σημαντικό τμήμα κώδικα που λέγεται πυρήνας (kernel) και αναλαμβάνει την διανομή της μνήμης μεταξύ των εφαρμογών (memory management) & την διανομή του χρόνου μεταξύ των διεργασιών (scheduling). Προαιρετικά μπορεί να περιλαμβάνει οδηγούς συσκευών (device drivers) για δίσκους, κάρτες δικτύου, σειριακές θύρες κλπ, τα διάφορα πρωτόκολλα επικοινωνίας, υποστήριξη filesystems και λοιπό κώδικα για την διαχείρησή τους. Ο πυρήνας στο Linux είναι το σημαντικότερο χαρακτηριστικό του, καθώς εκτός από το λειτουργικό σύστημα περιλαμβάνει και τους οδηγούς συσκευών (device drivers) και πλήθος υλοποιήσεις πρωτοκόλλων και συστημάτων αρχείων. Αποτελείται από 700.000 γραμμές κώδικα C, γραμμένες από πολλούς προγραμματιστές και συντηρούμενες απο μια ομάδα περίπου 200 μελών με επίβλεψη του Linus Torvalds, ο οποίος ξεκίνησε τον πυρήνα το 1991, καθώς και του Alan Cox. Κάθε πυρήνας ακολουθεί ένα ιδιότυπο σύστημα αρίθμησης του τύπου x.y.z, όπου x είναι η γενιά του (είμαστε στην 2, κάθε γενιά θέλει χρόνια για να αλλάξει), y ο τύπος του και z η έκδοσή του. Ειδικά το y παίζει ένα πολύ σημαντικό ρόλο: δείχνει εάν είναι άρτιος πχ 2.0.z ότι ο πυρήνας είναι σταθερός, ή εάν είναι περιττός πχ 2.1.z ότι είναι πειραματικός (όχι απαραίτητα και ασταθής βέβαια). Θα ανακαλύψετε γρήγορα ότι οι "ασταθείς" πυρήνες του Linux είναι κατά κανόνα πιο σταθεροί από άλλα γνωστά λειτουργικά συστήματα, παρ' όλα αυτά χρησιμοποιείστε τους με σύνεση. Αυτή την στιγμή είμαστε στον σταθερό πυρήνα 2.0.36 και στον πειραματικό 2.1.132. Από τον 2.1.132 προέκυψαν οι 2.2.0pre1-4, δηλαδή είμαστε λίγο καιρό πριν τον 2.2.0. Από τον 2.2.0 θα προκύψουν πάλι δύο κλάδοι: ο 2.2.z και ο 2.3.0 με τις γνωστές ιδιότητες. ΤΕΛΕΥΤΑΙΑ ΝΕΑ: Βγήκε ήδη ο πυρήνας 2.2.0, 2.2.1 καθώς και ο 2.3.0. Όσοι τον αλλάξετε, να έχετε υπ' όψιν σας ότι υπάρχουν κάποιες λειτουργικές διαφορές με την προηγούμενη ομάδα 2.0.χ, και κάποια πράγματα δεν δουλεύουν όπως πριν. Τα ελληνικά πχ (greekconsole), έχουν πρόβλημα. Ένα σημαντικό χαρακτηριστικό του είναι τα modules, δηλαδή τμήματα του πυρήνα δεν περιλαμβάνονται στον βασικό τμήμα του (δεν είναι statically compiled όπως λέμε), αλλά φορτώνονται κατά απαίτηση - on demand, από ένα ειδικό process τον kerneld. Δηλαδή εάν πχ κάνετε mount το cdrom και υπάρξει ανάγκη για το iso9660 filesystem που είναι module, αυτόματα ο kerneld το φορτώνει, τρέξτε lsmod για να το δείτε. Ο πυρήνας είναι προστατευμένος από ανεξέλεγκτη αντιγραφή χάρις στην άδεια GPL. Η άδεια General Public License συνοπτικά, επιτρέπει την διάδοση του κώδικα είτε σε source είτε σε compiled μορφή, επιβάλει όμως την ίδια νομική άδεια χωρίς περιορισμούς και στα αντίγραφα, κάτι το οποίο έχει παίξει σοβαρό ρόλο στην διάδοση του Linux. Επόμενο Περιεχόμενα