Magaz, The Greek Linux Magazine
Magaz Logo

Επόμενο  Προηγούμενο  Περιεχόμενα

5. Άλλες επεμβάσεις

Έχοντας δοκιμάσει τον προηγούμενο πυρήνα και βεβαιωθεί ότι δουλεύει και μάλιστα πολύ καλά και σταθερά για τις εφαρμογές που θέλουμε να τον χρησιμοποιήσουμε, μπορούμε να προβούμε και σε πιο δραστικές λύσεις, προκειμένου να ελευθερώσουμε ακόμα περισσότερη μνήμη, όπως το να απενεργοποιήσουμε τα μηνύματα του πυρήνα (printk) και τον κώδικα ανίχνευσης και αναφοράς των kernel panics. Οι επιλογές αυτές είναι αρκετά πιο επικίνδυνες από τις προηγούμενες και επίσης δεν προσφέρουν τόσα οφέλη, αλλά σε ένα μηχάνημα με π.χ. 2mb RAM είναι μάλλον αναγκαίες για να μπορέσει να λειτουργήσει έστω και στοιχειωδώς.

Τέλος, για ιδιαίτερα γρηγορότερη αποσυμπίεση καθώς και ακόμα μικρότερο μέγεθος bzImage, μπορούμε να συμπιέσουμε τον πυρήνα μας με το upx 1.90. Αν και ο συμπιεστής αυτός δεν είναι ανοιχτό λογισμικό, ο αποσυμπιεστής (που βάζει στο αρχείο του πυρήνα) είναι και μας δίνει το πλεονέκτημα αφενός της καλύτερης συμπίεσης από το gzip (376kb αντί για 436kb τελικό αρχείο) και αφετέρου της τρομερά γρηγορότερης αποσυμπίεσης (περίπου 2x). Επίσης, ο αποσυμπιεστής έχει μέγεθος μόνο μερικά bytes! (είναι γραμμένος σε assembly).

Έτσι φτάνουμε στον τελικό πυρήνα που έχει τα παρακάτω χαρακτηριστικά:


Μέγεθος vmlinux:  1.2Mb
Μέγεθος system:   424kb
Μέγεθος bzImage:  376kb
Ελεύθερη μνήμη:   2112kb  
Χρόνος εκκίνησης: 15s

Από εδώ κι εμπρός, υπάρχουν μεν κι άλλα πράγματα που μπορεί κάποιος να κάνει για ακόμα μικρότερους πυρήνες αλλά όλα περιλαμβάνουν αρκετό κόπο για ελάχιστα παραπάνω οφέλη, όποτε θα σταματήσουμε εδώ. Έτσι κι αλλιώς, τα 15s του χρόνου εκκίνησης είναι ήδη λιγότερα από τους χρόνους των περισσότερων φίλων μου με πολύ γρηγορότερους υπολογιστές από τα 8.19 BogoM*ps του 386! (οι οποίοι όμως τρέχουν μη βελτιστοποιημένους πυρήνες και init sequences).

Επόμενο  Προηγούμενο  Περιεχόμενα


Valid HTML 4.01!   Valid CSS!