Προς το περιεχόμενο

Ubuntu Kernel Generic vs Compiled Kernel


{import*}

Προτεινόμενες αναρτήσεις

Γεία σε όλους

έχω μια απορία για το kernel στο Ubuntu

 

Παρατήρησα στον Update Manager ότι βγήκε νέο kernel

και το εγκατάστησα όλα καλά μέχρι εδώ

Στο Ιντερνετ ψάχνωντας βρήκα ότι μπορείς να κάνεις compile τον kernel

 

οπότε έχω να θέσω κάποιες απορίες προς απάντηση απο τους πίο έμπειρούς

 

1)Το Kernel είναι ο πύρηνας του Linux γενικώς (ανεξαρτήτως διανομής)

και πάνω σε αυτό "κάθονται" όλες οι συσκευές ο X Server οι δίαφοροι Windows Managers

και τα προγράμματα του χρήστη. Εκτός απο όλα αυτά σε τι άλλο χρησιμέυει ο kernel ;

 

2)Πρέπει (κανονικά) να γίνεται compile μετά την εγκατάσταση του;

Χρησιμεύει στην καλή λειτουργία του συστήματος;

 

Ευχαριστώ τους πάντες

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ο πυρηνας ειναι αυτο που ειναι... κατω απο οτιδηποτε αλλο στο λειτουργικο σου και κανει τα υπολοιπα πραγματα να λειτουργουν. Δεν χρησιμευει σε τιποτε αλλο :P

Μπορεις να τον κανεις compile εσυ αν θες να περιλαβεις ή να παραλειψεις καποιες επιλογες που δεν σου δινει ο στοκ πυρηνας που ερχεται με τη διανομη.

Πχ, εγω δεν εχω ασυρματη καρτα, οποτε δεν θα χρειαστω καποιον driver της atheros/broadcom/intel κλπ προεγκατεστημενο, οποτε γιατι να μου πιανει χωρο. Για την ακριβεια, δεν χρειαζομαι καν τις ασυρματες ικανοτητες του πυρηνα, οποτε γιατι να τις εχω?

Απο την αλλη, καποιος μπορει να θελει εναν πυρηνα με low latency γιατι κανει πχ μουσικη παραγωγη.

 

Ομως ο πυρηνας της διανομης δεν φτιαχνεται μονο για τις δικες μου αναγκες αλλα για να καλυψει τις αναγκες του 99% απο αυτους που θα τον χρησιμοποιησουν, οποτε πρεπει να ειναι οσο πιο... γενικων καθηκοντων γινεται. Το αν θα περιληφθει το ταδε feature ή ο ταδε driver το αποφασιζει η ομαδα της διανομης που ασχολειται με τον πυρηνα (αλλη ασχολειται πχ με το kde, αλλη με το gnome, αλλη με τον xorg και παει λεγοντας).

 

Απο την αλλη, το να κανεις compile τον δικο σου πυρηνα και να τον πεις πχ 3.1.0-mitsos ειναι κατι που απαιτει βαθυτερη γνωση των λειτουργιων του.

Για να καταλαβεις ποσα on/off εχει για τα features του, δες το αρχειο /boot/config-(το-ονομα-του-πυρηνα-που-τρεχεις).

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Γεία σε όλους

έχω μια απορία για το kernel στο Ubuntu

 

Παρατήρησα στον Update Manager ότι βγήκε νέο kernel

και το εγκατάστησα όλα καλά μέχρι εδώ

Στο Ιντερνετ ψάχνωντας βρήκα ότι μπορείς να κάνεις compile τον kernel

 

οπότε έχω να θέσω κάποιες απορίες προς απάντηση απο τους πίο έμπειρούς

 

1)Το Kernel είναι ο πύρηνας του Linux γενικώς (ανεξαρτήτως διανομής)

και πάνω σε αυτό "κάθονται" όλες οι συσκευές ο X Server οι δίαφοροι Windows Managers

και τα προγράμματα του χρήστη. Εκτός απο όλα αυτά σε τι άλλο χρησιμέυει ο kernel ;

 

2)Πρέπει (κανονικά) να γίνεται compile μετά την εγκατάσταση του;

Χρησιμεύει στην καλή λειτουργία του συστήματος;

 

Ευχαριστώ τους πάντες

 

1) Το kernel ΕΙΝΑΙ το Linux, όχι ο πυρήνας του... και ναι πάνω σε αυτό κάθονται διάφοραοι x servers και πάνω τους window managers κτλ. Εκτός απο αυτά χρησιμεύει στο να κάνει τον Θανάση Βέγγο μεταφέροντας όλα τα μηνύματα των διεργασιών σε υποδιεργασίες ή σε άλλες διεργασίες, επίσης μιλάει με το hardware σε άπταστη Assembly ώντας γραμμένος σε C και κάτι άλλες σάπιες γλώσσες grin.png

 

2) Δεν χρειάζεται να γίνει Compile αφού έχει γίνει ήδη... τώρα άν θές εσύ να το κάνεις Compile για να γλιτώσεις μερικά μιλλισεκόντ το κάνεις, δεν έχει νόημα να μπείς στον κόπο βέβαια γιατί τότε το λογικό θα ήτανε να κάνεις Compile και κάθε εφαρμογή και library ώστε να είναι "super-duper", όσο για το άν χρησιμέυει άν η ερώτηση σου είναι αν χρησιμέυει ο πυρήνας τότε ναί χρησιμεύει, αν εννοείς το Compile η ξεκάθαρη απάντηση μου είναι ΟΧΙ, βέβαια θα βγεί ο α και β ψυχάκια να πεί πώς "Ναι είδα μεγάλη διαφορά, ο celeron d μου έγινε buldozzer, ώ ναι άλλαξε και φίρμα"...

 

Τελικά άν κάτσεις και ασχοληθείς αφέρεσε και όλας και τα drivers των περιφερειακών που δεν χρησιμοποιείς για να γίνει πιο μικρός ο πυρήνας....

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

αν εννοείς το Compile η ξεκάθαρη απάντηση μου είναι ΟΧΙ, βέβαια θα βγεί ο α και β ψυχάκια να πεί πώς "Ναι είδα μεγάλη διαφορά, ο celeron d μου έγινε buldozzer, ώ ναι άλλαξε και φίρμα"...

Μή βάζεις στοίχημα θα το χάσεις...

 

 

Ο πυρήνας ενός λειτουργικού είναι ένα κομμάτι software που αναλαμβάνει να κάνει 2 πράγματα:

1. Αναλαμβάνει να κάνει το hardware σου να δουλεύει και παρέχει ένα virtualization του hadrware στα ανώτερα στρώματα του λειτουργικού.

2. Αναλαμβάνει να εκτελέσει όποιες διεργασίες εκτελεί από τα ανώτερα στρώματα ο χρήστης.

Τέλος, αυτός είναι ο ορισμός (πολύ ελεύθερα μεταφρασμένος από τον καθηγητή Tannembaum αν θυμάμαι καλά).

 

Άν χρειάζεται να υπάρχει; Φυσικά, αυτός είναι το λειτουργικό σύστημα, τα υπόλοιπα (προγράμματα) είναι απλώς οδοντόκρεμες που θα μπορούσαν κάλλιστα να μήν υπάρχουν ή και να αντικατασταθούν από άλλα προγράμματα.

Άν χρειάζεται να τον κάνεις compile μόνος σου; Ίσως, ειδικά άν έχεις συγκεκριμένες απαιτήσεις από το σύστημά σου, τέτοιες που θα σου επιτρέψουν να κάνεις κάποια συγκεκριμένη διεργασία πάρα πολύ γρήγορα (π.χ.) σε βάρος κάποιας άλλης παραμέτρου του συστήματος. Τέτοια configurations επειδή δέν αφορούν το μεγαλύτερο ποσοστό χρηστών δέν υπάρχουν συνήθως στα repositories των διανομών αλλά επειδή τέτοιες απαιτήσεις έχει κοινό το οποίο στην πλειοψηφία του ξέρει τι θέλει και πώς πρέπει να γίνει, μπορεί άνετα να φτιάξει ένα kernel image μόνο του.

Η άλλη κατηγορία που χρειάζεται να κάνει compile τον kernel μόνο του είναι προφανώς οι kernel developers για ευνόητους λόγους.

Ά, και να μήν ξεχάσω μιάς και αναφέρθηκε αρκετά, το να μήν έχεις wireless κάρτα και να έχεις όμως στον kernel σου τα βασικά modules για το wifi subsystem, δέν θα σε βαρύνει σε τίποτα παρά μόνο καμιά 20Kb στο kernel image (άρα και στην RAM που θα καταλαμβάνει αυτός πάνω κάτω) όταν φορτωθεί. Και να το αφαιρέσεις δέν θα δείς καμία διαφορά στην ταχύτητα. Άλλωστε τον driver για την Χ συγκεκριμένη κάρτα δικτύου, οι περισσότερες διανομές τον δίνουν σαν loadable module που άν δεν υπάρχει το hardware δέν φορτώνεται άρα είναι σαν να μήν υπάρχει.

Οι διαφοροποιήσεις που μπορείς να πετύχεις με δικό σου kernel είναι πιό βασικές από έναν driver πάνω ή κάτω.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

1) Το kernel ΕΙΝΑΙ το Linux, όχι ο πυρήνας του... και ναι πάνω σε αυτό κάθονται διάφοραοι x servers και πάνω τους window managers κτλ. Εκτός απο αυτά χρησιμεύει στο να κάνει τον Θανάση Βέγγο μεταφέροντας όλα τα μηνύματα των διεργασιών σε υποδιεργασίες ή σε άλλες διεργασίες, επίσης μιλάει με το hardware σε άπταστη Assembly ώντας γραμμένος σε C και κάτι άλλες σάπιες γλώσσες grin.png2) Δεν χρειάζεται να γίνει Compile αφού έχει γίνει ήδη... τώρα άν θές εσύ να το κάνεις Compile για να γλιτώσεις μερικά μιλλισεκόντ το κάνεις, δεν έχει νόημα να μπείς στον κόπο βέβαια γιατί τότε το λογικό θα ήτανε να κάνεις Compile και κάθε εφαρμογή και library ώστε να είναι "super-duper", όσο για το άν χρησιμέυει άν η ερώτηση σου είναι αν χρησιμέυει ο πυρήνας τότε ναί χρησιμεύει, αν εννοείς το Compile η ξεκάθαρη απάντηση μου είναι ΟΧΙ, βέβαια θα βγεί ο α και β ψυχάκια να πεί πώς "Ναι είδα μεγάλη διαφορά, ο celeron d μου έγινε buldozzer, ώ ναι άλλαξε και φίρμα"...Τελικά άν κάτσεις και ασχοληθείς αφέρεσε και όλας και τα drivers των περιφερειακών που δεν χρησιμοποιείς για να γίνει πιο μικρός ο πυρήνας....

 

 

Μή βάζεις στοίχημα θα το χάσεις...Ο πυρήνας ενός λειτουργικού είναι ένα κομμάτι software που αναλαμβάνει να κάνει 2 πράγματα:1. Αναλαμβάνει να κάνει το hardware σου να δουλεύει και παρέχει ένα virtualization του hadrware στα ανώτερα στρώματα του λειτουργικού.2. Αναλαμβάνει να εκτελέσει όποιες διεργασίες εκτελεί από τα ανώτερα στρώματα ο χρήστης.Τέλος, αυτός είναι ο ορισμός (πολύ ελεύθερα μεταφρασμένος από τον καθηγητή Tannembaum αν θυμάμαι καλά).Άν χρειάζεται να υπάρχει; Φυσικά, αυτός είναι το λειτουργικό σύστημα, τα υπόλοιπα (προγράμματα) είναι απλώς οδοντόκρεμες που θα μπορούσαν κάλλιστα να μήν υπάρχουν ή και να αντικατασταθούν από άλλα προγράμματα.Άν χρειάζεται να τον κάνεις compile μόνος σου; Ίσως, ειδικά άν έχεις συγκεκριμένες απαιτήσεις από το σύστημά σου, τέτοιες που θα σου επιτρέψουν να κάνεις κάποια συγκεκριμένη διεργασία πάρα πολύ γρήγορα (π.χ.) σε βάρος κάποιας άλλης παραμέτρου του συστήματος. Τέτοια configurations επειδή δέν αφορούν το μεγαλύτερο ποσοστό χρηστών δέν υπάρχουν συνήθως στα repositories των διανομών αλλά επειδή τέτοιες απαιτήσεις έχει κοινό το οποίο στην πλειοψηφία του ξέρει τι θέλει και πώς πρέπει να γίνει, μπορεί άνετα να φτιάξει ένα kernel image μόνο του.Η άλλη κατηγορία που χρειάζεται να κάνει compile τον kernel μόνο του είναι προφανώς οι kernel developers για ευνόητους λόγους.Ά, και να μήν ξεχάσω μιάς και αναφέρθηκε αρκετά, το να μήν έχεις wireless κάρτα και να έχεις όμως στον kernel σου τα βασικά modules για το wifi subsystem, δέν θα σε βαρύνει σε τίποτα παρά μόνο καμιά 20Kb στο kernel image (άρα και στην RAM που θα καταλαμβάνει αυτός πάνω κάτω) όταν φορτωθεί. Και να το αφαιρέσεις δέν θα δείς καμία διαφορά στην ταχύτητα. Άλλωστε τον driver για την Χ συγκεκριμένη κάρτα δικτύου, οι περισσότερες διανομές τον δίνουν σαν loadable module που άν δεν υπάρχει το hardware δέν φορτώνεται άρα είναι σαν να μήν υπάρχει.Οι διαφοροποιήσεις που μπορείς να πετύχεις με δικό σου kernel είναι πιό βασικές από έναν driver πάνω ή κάτω.

 

 

κατάλαβα το θέμα χρήζει έρευνας και βαθύτερης γνώσης του Linux Kernel

έκτος απο αύτο είναι για μηχανάκια τα οποία θέλουν αναπόσπαστα να κάνουν μια

συγκεκριμένη δουλεία όπου και τα 20KB που φορτώνουν τα ενοχλεί

(πχ ΑΤΜ(?) και κάπου άκουσα για τα συστήματα της NASA)

Εν τέλει είναι μια κίνηση που κάνουν πάρα πολύ προχωρημένοι και έμπειροι χρήστες

του λειτουργικού συστήματος Linux και η συγκεκριμένη ενέργεια

(Το Compile Πχ του kernel 3.0.0.14 Generic) δεν αφορά και τόσο τους home users

 

Οτιδήποτε άλλη πληροφορία αποδεκτή

 

Ευχαριστώ και πάλι τους πάντες

όλες οι απαντήσεις ήταν πλήρως κατανοητές :-D

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Μία καλή δικαιολογία για custom kernel για έναν απλό χρήστη θα ήταν η αλλαγή του scheduler (που όπως λέει και μια ψυχή "Θέλει φροντίδα και προδερμ").

 

Όσα ΑΤΜ έχω δει Windows χρησιμοποιούν.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Μία καλή δικαιολογία για custom kernel για έναν απλό χρήστη θα ήταν η αλλαγή του scheduler (που όπως λέει και μια ψυχή "Θέλει φροντίδα και προδερμ").

 

Όσα ΑΤΜ έχω δει Windows χρησιμοποιούν.

 

Η αλήθεια είναι οτι τη σήμερον ημέρα που γίνονται σχεδόν όλα αυτα (IO schedulers, clocks etc) export στο /proc δέν χρειάζεται να γίνει recompile για να τα αλλάξεις. Άλλα πραγματάκια όμως (το preemtion για παράδειγμα) δέν γίνεται να αλλάξουν χωρίς recompile.

Τα ATM η αλήθεια είναι πως Windows τρέχουν όσα έχω δεί και φαντάζομαι οτι σε αυτό θα φταίει αυτό το έκτρωμα που λέγεται Χ server σε μεγάλο βαθμό...

Για τη NASA δέν μπορώ να μιλήσω αλλά μήν κολάς στα 20Kb δέν φαντάζομαι να είναι πρόβλημα. Ασε που για mission critical συστήματα (όπως της NASA) υπάρχουν και άλλες και ίσως καλύτερες εναλλακτικές (IBM, HP με ΑΙΧ και HPUX αντίστοιχα).

PS κρύβε λόγια για τον scheduler λέμε :P

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

και για να μου φύγει τελείως η περιέργεια του

compile βρήκα τα εξής

 

OSARENA

 

OSARENA Link 2

 

μέσω

 

Ubuntu Forum GR

 

και από οτι κατάλαβα για δύο βασικά(?) πραματάκια κάνεις compile

 

1)Ο Ορισμός των διεργασίων μέσω του τύπου "Ν=(cores x 2)+1" :devil:

 

2)Το "LocalModConfig" == πετάς εκτός τους αχρειαστούς Drivers

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...